| 
		
	
	
	
		
	Registriert seit: 20.03.2020
	
Version(en): Excel2007
 
	
	
		Ich bekomme bei Ausführung eines Makros einen Fehler in Zeile 483 "Objekt Variable oder With Blockvariable sind nicht definiert"In Zeile 483 steht "Set task = db.Extraction"
 
 Der ganze Teil von diesem Makro:
 
 '#####   b. Aufbereitung der Datei "CSHMXP0_Produktmix täglich":
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Außenumsätze
 . Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Produktmix täglich_.IMD")
 'Set db = Client.OpenDatabase (sPfad & asJahr(iCounter) &"\fbdebw.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToInc "PMXMIC_ARTIKELNUMMER"
 'task.AddFieldToInc "PMXDSC"
 task.AddFieldToInc "DATUM"
 task.AddFieldToInc "PMXPOB_PREIS_AUSSEN_BRUTTO"
 task.AddFieldToInc "PMXPON_PREIS_AUSSEN_NETTO"
 task.AddFieldToInc "PMXUSO_EINHEITEN__VERK__AUSSEN"
 task.AddFieldToInc "PMXPOB_PREIS_AUSSEN_BRUTTO"
 task.AddFieldToInc "AUSSEN_NETTO"
 task.AddFieldToInc "AUSSEN_ERM"
 task.AddFieldToInc "AUSSEN_VOLL"
 dbName = sPfad & asJahr(iCounter) &"\_Umsätze_außen aus Produktmix.IMD"
 task.AddExtraction dbName, "", " PMXUSO_EINHEITEN__VERK__AUSSEN <> 0"
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 
 
 Kann mir jemand sagen, was ich an dem Code ändern muss?
 
	
	
	
		
	Registriert seit: 08.05.2014
	
Version(en): Office 2010, Office 365, Office 365 Betakanal
 
	
	
		Hallo,
 das bezweifle ich, dass jemand Dir sagen kann, was Du ändern musst. Denn, wie sind Client, db und task definiert bzw. deklariert?
 Auf welches Objekt beziehen sich diese Variablen? Jedenfalls sind das keine Excel-Standardobjekte. Es sieht so aus, dass Extraction
 kein Unterobjekt von db ist.
 
 Gruß
 
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awardshttps://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
 
	
	
	
		
	Registriert seit: 17.04.2014
	
Version(en): MS Office 365(32)
 
	
		
		
		08.05.2020, 08:57 
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2020, 08:57 von Kuwer.)
		
	 
		Hallo, auf jeden Fall würde ich den Punkt bei . Set db = ... entfernen. Mehr kann man aus dem Codefetzen nicht ersehen. Gruß Uwe
	 
	
	
	
		
	Registriert seit: 20.03.2020
	
Version(en): Excel2007
 
	
		
		
		08.05.2020, 09:29 
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2020, 09:33 von WillWissen.
 Bearbeitungsgrund: Codetags
)
		
	 
		Es handelt sich hier um ein IDEA-Script... Ist das bei diesem Makro alles anders? Trotzdem hier das ganze Makro: Code: ' IDEAScript:' SOTEC ArchivXT - Daten einer McDonalds Filiale (Store)
 '
 ' Programmbeschreibung:
 ' - IDEA-Makro zur Aufbereitung von McDonalds-Kassendaten, die mit Hilfe der Firma SOTEC archiviert wurden.
 '  hier:    a. Aufbereitung der Datei "CSHMIMP2" = Artikelstamm
 '  ******      b. Aufbereitung der Datei "CSHPMXP0" = Produktmix täglich
 '                              c. Aufbereitung der Datei " CSHICAP0" =  Tageskassenbericht
 '
 '
 ' Voraussetzung : die index.xml wurde mit Hilfe von Notepad++ hinsichtlich der Feld- und Tabellennamen angepasst,
 '''''''''''''''''''''''''''''''''''''''''''''''''              d.h. die technischen Namen wurden um den sprechenden Namen laut "Beschreibung" ergänzt (nicht ersetzt!!!)
 ' -> siehe Ktz-Wiki: NameDescriptionTauschen
 '                                                                                ******************************
 'Folgende Tabellen werden benötigt:
 '
 ' a. CSHMIMP2_Artikelstamm
 ' b. CSHPMXP0_Produktmix täglich bzw. "_Produktmix taeglich" laut Makro "01_MCD_Aufbereitung Bedienerabrechnung"
 ' c. CSHICAP0_Tageskassenbericht
 '
 '
 'ACHTUNG:  vor Makrostart den Prüfungszeitraum eintragen unter: ***For iCounter = xx To xx****
 '                                                                                                                            ------------------------------
 ''
 ' Version:
 ' 1.0 erstellt:
 ' 2017-01-30      Sabine Palm, GKBP Bonn (5272)
 '
 '--------------------------------------------------------------------------------------------------------
 '<Ende_Kopf>
 Begin Dialog Dialogbox1 0,0,360,155,"Festlegen des aktuellen Arbeitsverzeichnisses", .NeueDialogbox
 TextBox 15,80,324,12, .TextBox1
 OKButton 64,122,56,13, "OK", .OKButton1
 CancelButton 243,120,48,13, "Abbrechen", .CancelButton1
 Text 16,37,320,8, "Falls am Ende des Pfades ein solcher Jahresordner stehen solte, diesen bitte entfernen!", .Text02
 Text 16,12,320,16, "Hier muss der 'Hauptordner' des Falles angezeigt werden - keinesfalls darf der Pfad mit einem Jahresordner enden!", .Text01
 Text 16,52,320,8, "Der Pfad muss mit einem Backslash    -  \  -  enden.", .Text03
 End Dialog
 Option Explicit
 Dim a As Dialogbox1
 Dim b As Integer
 Dim eqn, eqn1, dbName, sPfad, sPfad1 As String
 Dim db, task, fso  As Object
 Dim field, table As Object
 Dim oDialog As Object
 Dim dbName5 As String
 Dim iCounter As Integer
 Dim asJahr() As String
 Dim bEbVorhanden As Boolean
 Dim iEBJahr As Integer
 
 
 Sub Main
 
 ReDim asJahr(7)
 asJahr(00)="2010"
 asJahr(01)="2011"
 asJahr(02)="2012"
 asJahr(03)="2013"
 asJahr(04)="2014"
 asJahr(05)="2015"
 asJahr(06)="2016"
 
 '###############################
 sPfad1=client.Workingdirectory
 
 a.Textbox1 = sPfad1 'Textfeld vordefinieren
 b = Dialog(a) 'Dialog aufrufen
 sPfad = a.Textbox1
 If b=0 Then '=Abbruch 'Dialog auswerten
 MsgBox(" Abbruch! - Erneut starten und ggf. den Jahresordner in der Leiste entfernen! ")
 GoTo abbrechen
 End If
 If b=-1 Then '=OK
 End If
 '###############################
 
 For iCounter = 04 To 04
 
 
 
 'GoTo weiter
 '#####  a. Aufbereitung der Artikelstammdaten:
 Call DirectExtraction() 'CSHMIMP2.IMD
 Call DirectExtraction_Preisänderungen() 'alle Artikel, die einen "neuen" Preis im PZR bzw Jahr haben
 'Call Summarization_Preisänderungen() 'Preisänderungen.IMD
 
 Call DirectExtraction_Steuerschlüssel_innen_7() 'Übersicht Artikelpreise.IMD
 Call Summarization_Steuerschlüssel_innen_7() 'Steuerschlüssel innen 7%.IMD
 'weiter
 Call DirectExtraction_Steuerschlüssel_außen_7() 'Übersicht Artikelpreise.IMD
 Call Summarization_Steuerschlüssel_außen_7() 'Steuerschlüssel außen 7%.IMD
 Call DirectExtraction_Steuerschlüssel_außen_19() 'Übersicht Artikelpreise.IMD
 Call Summarization_Steuerschlüssel_außen_19() 'Steuerschlüssel außen 7%.IMD
 
 Call DirectExtraction_Mindestpreise() 'Übersicht Artikelpreise.IMD
 Call FieldManipulationAppendFields() 'Mindestpreise.IMD
 'Call DirectExtraction() 'Mindestpreise.IMD
 
 Call DirectExtraction_Änderung_MPR() 'Mindestpreise.IMD
 Call Summarization_MPR() 'Mindestpreise.IMD
 Call Summarization_MPR1() 'Mindestpreise.IMD
 Client.CloseDatabase sPfad & asJahr(iCounter) & "\Mindestpreise.IMD"
 Client.CloseDatabase sPfad & asJahr(iCounter) & "\Su_MPR_vorÄnderg.IMD"
 Client.CloseDatabase sPfad & asJahr(iCounter) & "\Su_MPR_nachÄnderg.IMD"
 'weiter
 '#####  b. Aufbereitung der Datei "CSHMXP0_Produktmix täglich":
 Call DirectExtraction_Außenumsätze() 'Umsätze aus Produktmix.IMD
 Call DirectExtraction_AußenumsätzeVoll() 'Umsätze_außen aus Produktmix.IMD
 Call DirectExtraction_AußenumsätzeErm() 'Umsätze_außen aus Produktmix.IMD
 Call Summarization_AußenumsätzeErm() 'Außenumsätze 7%.IMD
 Call Summarization_AußenumsätzeVoll() 'Außenumsätze 19%.IMD
 Call DirectExtraction_Preis_br_unter_1() 'Außenumsätze 19%.IMD
 Call Summarization_AußenumsätzeVoll_unter1() 'Außenumsätze 19% mit Preis_br unter 1€.IMD
 
 Call JoinDatabase_SuArt_mitBez() '_Summe ArtikelNr.IMD
 
 '#####  c. Aufbereitung der Datei "'CSHICAP0_Tageskassenbericht":
 Call DirectExtraction_Tageskassenbericht() 'CSHICAP0_Tageskassenbericht.IMD
 Call FieldManipulationAppendFields_Tageskassenbericht() '_Tageskassenbericht.IMD
 Call Summarization_Tageskassenbericht() '_Tageskassenbericht.IMD
 
 
 
 
 Next
 
 Client.RefreshFileExplorer
 
 MsgBox"  fertig!"
 
 '###############################
 
 abbrechen
 
 '###############################
 
 End Sub
 
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\CSHMIMP2_Artikelstamm.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToInc "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToInc "MIMNAM_ARTIKELBEZEICHNUNG"
 task.AddFieldToInc "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMTXC_STEUERCODE"
 task.AddFieldToInc "MIMTCI_STEUERSCHLÜSSEL_INNEN"
 task.AddFieldToInc "MIMPRI_PREIS_INNEN"
 task.AddFieldToInc "MIMTCA_STEUERSCHLÜSSEL_AUSSEN"
 task.AddFieldToInc "MIMPRO_PREIS_AUSSEN"
 task.AddFieldToInc "MIMNPI_NEUER_PREIS_INNEN"
 task.AddFieldToInc "MIMNPO_NEUER_PREIS_AUSSEN"
 task.AddFieldToInc "MIMPND_GÜLTIGKEITSDATUM_NEUER_PREIS"
 'task.AddFieldToInc "STEUER_KOMPONENTE_1_INNEN"
 task.AddFieldToInc "MIMPI1_PREIS_KOMPONENTE_1_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_1_AUSSEN"
 task.AddFieldToInc "MIMPO1_PREIS_KOMPONENTE_1_AUSSEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_2_INNEN"
 task.AddFieldToInc "MIMPI2_PREIS_KOMPONENTE_2_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_2_AUSSEN"
 task.AddFieldToInc "MIMPO2_PREIS_KOMPONENTE_2_AUSSEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_3_INNEN"
 task.AddFieldToInc "MIMPI3_PREIS_KOMPONENTE_3_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_3_AUSSEN"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD"
 task.AddExtraction dbName, "", ""
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 'Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Preisänderungen
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Preisänderungen.IMD"
 task.AddExtraction dbName, "", "MIMNPI_NEUER_PREIS_INNEN <> 0,00 "
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Steuerschlüssel_innen_7
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Steuerschlüssel innen 7%.IMD"
 'task.AddExtraction dbName, "", "STEUER_KOMPONENTE_1_INNEN  ==  ""02""  .OR. STEUER_KOMPONENTE_2_INNEN ==  ""02"" .OR. STEUER_KOMPONENTE_3_INNEN ==  ""02"""
 task.AddExtraction dbName, "", "MIMTCI_STEUERSCHLÜSSEL_INNEN  ==  ""02"""
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 'Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_Steuerschlüssel_innen_7
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Steuerschlüssel innen 7%.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPRI_PREIS_INNEN"
 task.AddFieldToInc "MIMNPI_NEUER_PREIS_INNEN"
 task.AddFieldToInc "MIMPI1_PREIS_KOMPONENTE_1_INNEN"
 task.AddFieldToInc "MIMPI2_PREIS_KOMPONENTE_2_INNEN"
 task.AddFieldToInc "MIMPI3_PREIS_KOMPONENTE_3_INNEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su St_Schl_innen 7%.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = TRUE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Steuerschlüssel_außen_7
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Steuerschlüssel außen 7%.IMD"
 task.AddExtraction dbName, "", "MIMTCA_STEUERSCHLÜSSEL_AUSSEN  ==  ""02"" "
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_Steuerschlüssel_außen_7
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Steuerschlüssel außen 7%.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPO1_PREIS_KOMPONENTE_1_AUSSEN"
 task.AddFieldToInc "MIMPO2_PREIS_KOMPONENTE_2_AUSSEN"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su St_Schl_außen 7%.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = TRUE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 '####
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Steuerschlüssel_außen_19
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Steuerschlüssel außen 19%.IMD"
 task.AddExtraction dbName, "", "MIMTCA_STEUERSCHLÜSSEL_AUSSEN  ==  ""01""  "
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_Steuerschlüssel_außen_19
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Steuerschlüssel außen 19%.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPO1_PREIS_KOMPONENTE_1_AUSSEN"
 task.AddFieldToInc "MIMPO2_PREIS_KOMPONENTE_2_AUSSEN"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su St_Schl_außen 19%.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = TRUE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Mindestpreise
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Übersicht Artikelpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 task.AddKey "MIMMIC_ARTIKELNUMMER", "A"
 dbName = sPfad & asJahr(iCounter) &"\_Mindestpreise.IMD"
 'task.AddExtraction dbName, "", "PREIS_KOMPONENTE_3_AUSSEN <> 0,00 .AND. STEUER_KOMPONENTE_3_AUSSEN = ""01"""
 task.AddExtraction dbName, "", "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN <> 0,00 "
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Felder bearbeiten - Felder anhängen
 Function FieldManipulationAppendFields
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Mindestpreise.IMD")
 Set task = db.TableManagement
 Set table = db.TableDef
 Set field = table.NewField
 eqn = "@GetNextValue( "" MIMPO3_PREIS_KOMPONENTE_3_AUSSEN "" )"
 field.Name = "GLEICHE_MINDESTPR"
 field.Description = ""
 field.Type = WI_VIRT_NUM
 field.Equation = eqn
 field.Decimals = 2
 task.AppendField field
 Set field = table.NewField
 eqn = "@GetNextValue( "" MIMMIC_ARTIKELNUMMER "" )"
 field.Name = "GLEICHE_ARTIKELNR"
 field.Description = ""
 field.Type = WI_VIRT_NUM
 field.Equation = eqn
 field.Decimals = 0
 task.AppendField field
 Set field = table.NewField
 eqn = "@If((MIMPO3_PREIS_KOMPONENTE_3_AUSSEN <> GLEICHE_MINDESTPR) .AND. (MIMMIC_ARTIKELNUMMER == GLEICHE_ARTIKELNR); ""XX""; """"  )"
 field.Name = "ÄNDERUNG_MINDESTPR"
 field.Description = ""
 field.Type = WI_VIRT_CHAR
 field.Equation = eqn
 field.Length = 2
 task.AppendField field
 task.PerformTask
 Set task = Nothing
 Set db = Nothing
 Set table = Nothing
 Set field = Nothing
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Änderung_MPR
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Mindestpreise.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToInc "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToInc "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMTXC_STEUERCODE"
 task.AddFieldToInc "MIMTCI_STEUERSCHLÜSSEL_INNEN"
 task.AddFieldToInc "MIMPRI_PREIS_INNEN"
 task.AddFieldToInc "MIMTCA_STEUERSCHLÜSSEL_AUSSEN"
 task.AddFieldToInc "MIMPRO_PREIS_AUSSEN"
 task.AddFieldToInc "MIMNPI_NEUER_PREIS_INNEN"
 task.AddFieldToInc "MIMNPO_NEUER_PREIS_AUSSEN"
 task.AddFieldToInc "MIMPND_GÜLTIGKEITSDATUM_NEUER_PREIS"
 'task.AddFieldToInc "STEUER_KOMPONENTE_1_INNEN"
 task.AddFieldToInc "MIMPI1_PREIS_KOMPONENTE_1_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_1_AUSSEN"
 task.AddFieldToInc "MIMPO1_PREIS_KOMPONENTE_1_AUSSEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_2_INNEN"
 task.AddFieldToInc "MIMPI2_PREIS_KOMPONENTE_2_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_2_AUSSEN"
 task.AddFieldToInc "MIMPO2_PREIS_KOMPONENTE_2_AUSSEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_3_INNEN"
 task.AddFieldToInc "MIMPI3_PREIS_KOMPONENTE_3_INNEN"
 'task.AddFieldToInc "STEUER_KOMPONENTE_3_AUSSEN"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 task.AddFieldToInc "GLEICHE_MINDESTPR"
 'task.AddFieldToInc "GLEICHE_ARTIKELNR"
 'task.AddFieldToInc "ÄNDERUNG_MINDESTPR"
 dbName = sPfad & asJahr(iCounter) &"\_Änderung Mindestpreise.IMD"
 task.AddExtraction dbName, "", "ÄNDERUNG_MINDESTPR == ""XX"""
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_MPR
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Mindestpreise.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su_MPR_vorÄnderg.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = TRUE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_MPR1
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Mindestpreise.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su_MPR_nachÄnderg.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = FALSE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_Preisänderungen
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Preisänderungen.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "MIMMIC_ARTIKELNUMMER"
 task.AddFieldToSummarize "MIMDSC_LANGBEZEICHNUNG"
 task.AddFieldToInc "MIMPRI_PREIS_INNEN"
 task.AddFieldToInc "MIMPRO_PREIS_AUSSEN"
 task.AddFieldToInc "MIMNPI_NEUER_PREIS_INNEN"
 task.AddFieldToInc "MIMNPO_NEUER_PREIS_AUSSEN"
 task.AddFieldToInc "MIMPND_GÜLTIGKEITSDATUM_NEUER_PREIS"
 task.AddFieldToInc "MIMPI3_PREIS_KOMPONENTE_3_INNEN"
 task.AddFieldToInc "MIMPO3_PREIS_KOMPONENTE_3_AUSSEN"
 dbName = sPfad & asJahr(iCounter) &"\_Su Preisänderungen.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.UseFieldFromFirstOccurrence = TRUE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 
 '#####  b. Aufbereitung der Datei "CSHMXP0_Produktmix täglich":
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Außenumsätze
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Produktmix taeglich.IMD")
 'Set db = Client.OpenDatabase (sPfad & asJahr(iCounter) &"\fbdebw.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToInc "PMXMIC_ARTIKELNUMMER"
 'task.AddFieldToInc "PMXDSC"
 task.AddFieldToInc "DATUM"
 task.AddFieldToInc "PMXPOB_PREIS_AUSSEN_BRUTTO"
 task.AddFieldToInc "PMXPON_PREIS_AUSSEN_NETTO"
 task.AddFieldToInc "PMXUSO_EINHEITEN__VERK__AUSSEN"
 task.AddFieldToInc "AUSSEN_BRUTTO"
 task.AddFieldToInc "AUSSEN_NETTO"
 task.AddFieldToInc "AUSSEN_ERM"
 task.AddFieldToInc "AUSSEN_VOLL"
 dbName = sPfad & asJahr(iCounter) &"\_Umsätze_außen aus Produktmix.IMD"
 task.AddExtraction dbName, "", " PMXUSO_EINHEITEN__VERK__AUSSEN <> 0"
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_AußenumsätzeVoll
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Umsätze_außen aus Produktmix.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Außenumsätze 19%.IMD"
 task.AddExtraction dbName, "", " AUSSEN_VOLL  <> 0"
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_AußenumsätzeErm
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Umsätze_außen aus Produktmix.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Außenumsätze 7%.IMD"
 task.AddExtraction dbName, "", " AUSSEN_ERM  <> 0"
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_AußenumsätzeErm
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Außenumsätze 7%.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "PMXMIC_ARTIKELNUMMER"
 'task.AddFieldToSummarize "PMXDSC"
 dbName = sPfad & asJahr(iCounter) &"\_Summe Artikel Außenums_7%.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_AußenumsätzeVoll
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Außenumsätze 19%.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "PMXMIC_ARTIKELNUMMER"
 'task.AddFieldToSummarize "PMXDSC"
 dbName = sPfad & asJahr(iCounter) &"\_Summe Artikel Außenums_19%.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Preis_br_unter_1
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Außenumsätze 19%.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 table.ResetView
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Außenumsätze 19% mit Preis_br unter 1€.IMD"
 task.AddExtraction dbName, "", " PMXPOB_PREIS_AUSSEN_BRUTTO  < 1,00"
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 Function Summarization_AußenumsätzeVoll_unter1
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Außenumsätze 19% mit Preis_br unter 1€.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 table.ResetView
 task.AddFieldToSummarize "PMXMIC_ARTIKELNUMMER"
 'task.AddFieldToSummarize "PMXDSC"
 dbName = sPfad & asJahr(iCounter) &"\_Summe ArtikelNr.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Datei: Dateien verbinden
 Function JoinDatabase_SuArt_mitBez
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Summe ArtikelNr.IMD")
 Set task = db.JoinDatabase
 Set table = db.TableDef
 table.ResetView
 task.FileToJoin sPfad & asJahr(iCounter) &"\_Summe Artikelstamm.IMD"
 task.IncludeAllPFields
 task.AddSFieldToInc "MIMDSC_LANGBEZEICHNUNG"
 task.AddMatchKey "PMXMIC_ARTIKELNUMMER", "MIMMIC_ARTIKELNUMMER", "A"
 dbName = sPfad & asJahr(iCounter) &"\_Summe ArtikelNr mit Bez.IMD"
 task.PerformTask dbName, "", WI_JOIN_ALL_IN_PRIM
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 ' Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Direkte Extraktion
 Function DirectExtraction_Tageskassenbericht
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\CSHICAP0_Tageskassenbericht.IMD")
 Set task = db.Extraction
 Set table = db.TableDef
 task.IncludeAllFields
 dbName = sPfad & asJahr(iCounter) &"\_Tageskassenbericht.IMD"
 task.AddExtraction dbName, "", ""
 task.PerformTask 1, db.Count
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 'Client.OpenDatabase (dbName)
 End Function
 
 ' Daten: Felder bearbeiten - Felder anhängen
 Function FieldManipulationAppendFields_Tageskassenbericht
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Tageskassenbericht.IMD")
 Set task = db.TableManagement
 Set table = db.TableDef
 Set field = table.NewField
 eqn = " @Ctod(@left( ICADAY_GESCHÄFTSTAG ;8);""yyyymmdd"")"
 field.Name = "GESCHAEFTSTAG"
 field.Description = ""
 field.Type = WI_VIRT_DATE
 field.Equation = eqn
 field.Length = 8
 task.AppendField field
 Set field = table.NewField
 eqn = " ICACFR_SCHLUSSBESTAND - ICAOFR_ANFANGSBESTAND -  ICAOVA_ÜBERTIPPUNG_WERT "
 field.Name = "GESAMT_BRUTTO"
 field.Description = ""
 field.Type = WI_VIRT_NUM
 field.Equation = eqn
 field.Decimals = 2
 task.AppendField field
 task.PerformTask
 Set task = Nothing
 Set db = Nothing
 Set table = Nothing
 Set field = Nothing
 End Function
 
 ' Analyse: Felder aufsummieren
 Function Summarization_Tageskassenbericht
 Set db = Client.OpenDatabase(sPfad & asJahr(iCounter) &"\_Tageskassenbericht.IMD")
 Set task = db.Summarization
 Set table = db.TableDef
 task.AddFieldToSummarize "GESCHAEFTSTAG"
 task.AddFieldToTotal "GESAMT_BRUTTO"
 dbName = sPfad & asJahr(iCounter) &"\#_Summe GesamtBrutto je Geschäftstag.IMD"
 task.OutputDBName = dbName
 task.CreatePercentField = FALSE
 task.StatisticsToInclude = SM_SUM
 task.PerformTask
 Set table = Nothing
 Set task = Nothing
 db.Close
 Set db = Nothing
 'Client.OpenDatabase (dbName)
 End Function
 
	
	
	
		
	Registriert seit: 17.04.2014
	
Version(en): MS Office 365(32)
 
	
	
		Hallo, das hat doch nichts mit Excel bzw. VBA, sondern mit VB zu tun. Da solltest Du lieber hier fragen: http://ideascripting.com/forum Gruß Uwe
	 
	
	
	
		
	Registriert seit: 20.03.2020
	
Version(en): Excel2007
 |