PDA

Vollständige Version anzeigen : Prozedur einer fremden DB aufrufen


quasinix
04.04.2004, 21:23
Hallo Forum,
heute habe ich viele Fragen. Ist es möglich mit vba prozeduren einer fremden offenen Datenbank auszuführen?

Die Datenbank ist schon mit folgendem code geöffnet:

Dim datenbank as Access.Application

set datenbank = GetObject("DB-Dateiname.mdb")

Viele Grüße,


Quasinix

kama
05.04.2004, 06:13
Hallo

Du must in den Verweisen auf die Datenbank verweisen in der du die Prozedur ausführen willst. Du kannst dann alle Functionen dieser Db ausführen.

Die DB muss dabei nicht geöffnet sein!!!

quasinix
05.04.2004, 09:32
Hallo Kama,
danke für die Antwort!

Wie kann ich denn die DB präparieren, damit ich auf Sie verweisen kann?

Und: Ich greife auf die DB via Ole-Automation zu, da ich auch Daten in der DB verändern möchte.

Gibt es keine Möglichkeit z. B. auf Formulare der DB zuzugreifen? DoCmd.OpenForm Funktioniert ja nicht, da ich mich ja nicht in der DB befinde ...

Viele Grüße,

Quasinix

kama
05.04.2004, 09:48
Hallo

In der datenbank die du aus der anderen bearbeiten willst

Neues Modul

Public function ÖffenFormular()

Docmd.openform "DeinFormular"

End Function In der Db aus der du öffnen willst

Modul
Extras/Verweise

Hier verweist du auf dien andere DB

Jetzt kannst du zum Beispiel über eine Button

die nfunction aus der anderen db aufrufen

Private Sub Befehl0_Click()
ÖffnenFormular()
End Sub

FW
05.04.2004, 09:56
... über das Application-Objekt der Fremddatenbank kannst Du alles machen, was man halt mit dieser Datenbank so machen kann - und zwar ohne Verweise, also z. B.:

statt: DoCmd.OpenForm "DeinFormular"
nun: datenbank.Application.DoCmd.OpenForm "DeinFormular"

Alles klar?

Frank

kama
05.04.2004, 10:20
@FW

Alles klar?

Aber ich lerne gerne dazu, aber mit diesem Code passiert bei mir nix :confused:

Dim datenbank As Access.Application

Set datenbank = GetObject("c:\test.mdb")
datenbank.Application.DoCmd.OpenForm "test"

quasinix
05.04.2004, 10:27
Hallo FW,
das mit dem docmd war ein guter Tip!

Aie kann ich den auf eine Prozedur innerhalb des Formulares zugreifen? Oder besser auf eine Prozedur in den Modulen? Docmd bietet scheinbar nur an ein Macro auszuführen ...

Kann ich auch auf ein Steuerelement eines Formulares zugreien?

Gruß und Danke,

Quasinix

quasinix
05.04.2004, 10:29
@karma,
bei mir hat es funktioniert ....

FW
05.04.2004, 10:51
...

@kama:
man lernt halt nie aus - dafür ist dieses Forum ja auch da.

@quasinix: Schau' mal in der OH unter 'Run'-Methode!

...

quasinix
05.04.2004, 11:05
Run funktioniert total klasse!

Ich bin wirklich nicht sehr gut im Finden von Funktionen etc. ...


Gruß und danke!

Quasinix

jamesb
20.07.2004, 11:12
Wie kann man Prozeduren innerhalb von Formularen aufrufen?

Run funktioniert nur mit Prozeduren in Modulen oder?