Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Falke22 am Januar 18, 2011, 09:03:05

Titel: Access Code in Funktionen ausgliedern
Beitrag von: Falke22 am Januar 18, 2011, 09:03:05
Hallo,

ich habe folgendes Problem.
Ich habe diverse Tabellen udn Abfragen die nach Excel exportiert werden sollen. Natürlich soll dies nicht 1:1 exportiert werden (wäre ja auch zu einfach, sondern in ein bestimmtes Excel-Blatt eingefügt werden.

Vorerst habe ich alles ala Spaghetti-Code geschrieben, was auch soweit funktioniert.

Nun möchte ich aber, für dei Übersichtlichkeit und leichteren Anpassungsfähigkeit später, die einzelnen Prozeduren in eigene Funktionen schreiben.

Folgende Sachen möchte ich machen
1. Excel Datei anlegen und speichern
2. Überschriften nach Vorgaben anlegen
3. Per SQL-Befehl Datena us Tabellen holen und dann in die passenden Excel-Zellen schreiben.

Muss ich jetzt in jeder Funktion die auf Excel zugreift ein eigenes Objekt anlegen?
Oder kann ich auf das Excel-Objekt aus Funktion 1 (Datei anlegen/öffnen und speichern)
in anderen Funktionen weiterverwenden und wenn ja wie.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und ihr könnt mir helfen :)
Titel: Re: Access Code in Funktionen ausgliedern
Beitrag von: DF6GL am Januar 18, 2011, 11:08:24
Hallo,


--deklariere eine (oder mehrere)  Public-Variable(n) mit Datentyp Object in einem Standard-Modul ()Datenbankfenster/Module)

--in einer Init-Funktion definierst/initialisierst Du einzelnen Excel-Objekte

--in einer "Schliessen"-Funktion  sorgst Du für das   korrekte Schliessen von Excel und die "Zerstörung" der Public-Variablen (Excel-Instanz)


Titel: Re: Access Code in Funktionen ausgliedern
Beitrag von: Falke22 am Januar 18, 2011, 11:18:58
Aber wie kann ich dann aus einem Modul heraus auf ein Objekt in einem anderen Modul zugreifen.

habe ja jetzt ein Modul um das Excel Objekt anzulegen und die Exceldatei zu speichern.
In einem weiteren Modul möchte ich nun diese Exceldatei befüllen, aber wie erkläre ich ihm dass er dieses Excelobjekt nutzen soll
Titel: Re: Access Code in Funktionen ausgliedern
Beitrag von: Josef P. am Januar 18, 2011, 11:24:43
Hallo!

Anm.:
Zitatdeklariere eine (oder mehrere)  Public-Variable(n) mit Datentyp Object in einem Standard-Modul
Damit erkauft man sich aber eine nicht zu unterschätzende Fehlerquelle, wenn die Prozeduren aus diesem Standardmodul (quasi) parallel eingesetzt werden.
=> Ich würde entweder die benötigten Objektreferenzen als Parameter an die Prozeduren übergeben oder als Alternative statt dem Standardmodul eine Klasse einsetzen, damit ich vermeiden kann, dass es irgendwann einmal durch Unachtsamkeit von mir, zu Überscheidungen bei der Nutzung der Excel-Instanzen aus den globalen Variablen kommt.

mfg
Josef