Modul in anderer Acccess-DB ändern

Hallo zusammen,

ich verwende Access 2000. Ich erstelle mittels VBA-Code eine Access-DB, und möchte in einem Modul bestimmte Zeilen löschen (die Kopierfunktion).

Ich verwende folgenden Code:

Set EinAccessObjekt = CreateObject(„Access.Application“)
EinAccessObjekt.OpenCurrentDatabase(„VollständigerDateiname“)
EinAccessObjekt.VBE.VBProjects(1).VBComponents(„MeinModul“).CodeModule.DeleteLines 263, 65

funktioniert im VBE der DB die ausführt wunderbar, befindet sich das VBComponent aber in der erstellten DB kommt der Fehler:
„Ungültiger Prozeduraufruf oder ungültiges Argument“

Ich habs versucht über exklusiven Zugriff, dass bringt aber gar nix.
Hat jemand ne Idee?

Danke!

Gruß
Hob

Hallo,

bei welcher Zeile kommt denn die Fehlermeldung?

Bei mir (A2003) funktioniert dieser Code ohne Probleme:

Dim EinAccessObjekt As Object
Set EinAccessObjekt = CreateObject(„Access.Application“)
EinAccessObjekt.OpenCurrentDatabase („c:\db1.mdb“)
EinAccessObjekt.VBE.VBProjects(1).VBComponents(„Modul1“).CodeModule.DeleteLines 8, 4
EinAccessObjekt.Quit
Set EinAccessObjekt = Nothing

Es werden 4 Zeilen, beginnend an der 8. Zeile (Leerzeilen mit eingerechnet) im Modul1 in der ext. Datei „C:\DB1.mdb“ gelöscht.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Franz,

die Meldung kommt bei

EinAccessObjekt.VBE.VBProjects(1).VBComponents(„Modul1“).CodeModule.DeleteLines 8, 4

VG

Hob

Hallo,

„…befindet sich das VBComponent aber in der erstellten DB…“

läßt mich irgendwie vermuten, dass das Modul in der ext. DB gerade erstellt wurde/wird und noch gar nicht gespeichert ist, so dass bei einer weiteren Referenz (auf die Datei) das Modul darin noch gar nicht existiert.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Die Übertragung der Module wie wie folgt erledigt:

DoCmd.TransferDatabase acExport, „Microsoft Access“, PfadZurDB, acModule, „Modul1“, „Modul1“, False

BTW: gibt es da noch was Sinnvolleres?

Wenn die Übertragung abgeschlossen ist, ist die neu erstellte DB geschlossen. Die Module existieren dann. Erst im Anschluss wird die DB erneut geöffnet, und der Coder geändert (sofern es funktioniert :smile: )

Hallo,

naja, wie gesagt, bei mir funktioniert es.

Ich glaube auch nicht, dass sich A2000 anders als A2003 verhält und kann keine genauere Ferndiagnose jetzt stellen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!