Access Abfragen mittels VB kopieren.

wine-e

Grünschnabel
Hallo,

ich habe ein Problem.
Ich lasse mir eine Tabelle in einer beliebigen Access-Datenbank erstellen.
Es gibt aber Abfragen, welche auf diese Tabelle angewendet werden sollen. Nur diese Abfragen sind in einer anderen Datenbank. Wie kann ich auf diese Abfragen zugreifen oder sie mir am besten in die Datenbank mit der erstellten Tabelle kopieren.

Danke schonmal im vorraus.

gruß
wine-e
 
hallo wine-e,

auf Abfragen kann man zugreifen wie auf Tabellen.

Du kannst diese auch mit einem Recordset aktivieren und ausführen lassen.

Ich werde dir aber noch genauer mitteilen, wie dies funktioniert und ein Beispiel-Code zusenden.

ANI
 
Das wäre sehr freundlich.

Wäre gut wenn ich das Bsp. heute noch bekommen könnte, da ich das Projekt spätestens am Freitag abgeben muss.
Und ich auch noch nen bisschen an der Form basteln.

gruß
wine-e
 
hallo wine-e,

Abfragen würde ich grundsätzlich nicht in die aktuelle Datenbank kopieren. Lass ruhig die Abfrage extern in einer anderen Datenbank.

Hier die Funktion zum Zugriff auf Abfragen in externen Datenbanken:

Public Function GetAbfrage(DatenbankPfad As String, AbfrageName As String) As String

Dim WSQ As DAO.Workspace
Dim DBQ As DAO.Database
Dim qtbl As DAO.QueryDef

Set WSQ = DBEngine(0)
Set DBQ = WSQ.OpenDatabase(DatenbankPfad, False, False)

For Each qtbl In DBQ.QueryDefs
If qtbl.Name = AbfrageName Then
GetAbfrage = qtbl.SQL
Exit For
End If
Next qtbl

End Function

Der Rückgabewert ist der SQL-String der Abfrage. Dieser kann dann direkt in deinem Programm für den Execute-Befehl weiter verarbeitet werden.

Wundere dich nicht darüber, das ich überall 'DAO' beim Anmelden der Variablen davorgeschrieben habe. In der Praxis hat sich gezeigt, daß ich damit auf der sicheren Seite liege, wenn ich verschiedene Verweise in Access oder VB eingerichtet habe (z.B. ODBC, DAO usw.).

ANI
 
Ich habe mir hier nun alle Abfragen zu nem Riesen Makro zusammengebastellt.
Wie geht den der Zugrifff auf ein Makro. Dann ist das nicht soviel Code hoffe ich doch mal.
 
Also ich habe nun einfach eine Kopie der erstellten Datei mit in die DB wo die Abfragen liegen gelegt und führe dadrauf die Abfragen aus.
Nun muss ich nur noch die Tabelle mit den Ergebnissen in die andere DB bekommen. Wie stelle ich dies an, da ich der Tabelle keine Variable, etc zuweise im code.
 
hallo wine-e,

so direkt kann ich Dir auch nicht sagen, wie man Module der Form in eine andere Datenbank-Form überträgt.

Ich lege Dir mal eine Textdatei anbei, dort wird beschrieben, wie du ein Modul bearbeiten kannst.

ANI
 

Anhänge

  • module lesen und schreiben.txt
    12,6 KB · Aufrufe: 445
Zurück