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/forumGruß Uwe
Registriert seit: 20.03.2020
Version(en): Excel2007
|