Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Access aus visual basic mit best. DS öffnen

Edgar Rau / 4 Antworten / Baumansicht Nickles

Hallo zusammen,

ich möchte aus einem Visual Basic 6 Projekt, wenn ich auf einen Button klicke, eine Access Datenbank mit einem bestimmten Datensatz öffnen.

Wenn ich nur die Datenbank öffnen will schreibe ich:

Dim stappname As String
stappname = Chr$(34) & "C:\Programme\Microsoft Office\OFFICE11\MSACCESS.EXE" &
                Chr$(34) & " " & _
                Chr$(34) & "Z:\mdb\" & "DIL-PKW.mdb" & Chr$(34)
    Shell stappname, 1

Welche Code muss ich einfügen, bzw. neu schreiben damit ein bestimmter Datensatz geöffnet wird?

Über Hilfe würde ich mich freuen.

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Borlander Edgar Rau „Access aus visual basic mit best. DS öffnen“
Optionen

Ich denke da wirst Du über einen Kommandozeilenaufruf nicht weiterkommen (es sei denn Access bietet einen entsprechenden Parameter). Wäre auch besser davon Abstand zu nehmen, weil Dein aktueller Code schon mit einer neueren Programmversion nicht mehr laufen würde als Folge der Pfadänderung.

Ich habe spontan nun leider nur Beispiele gefunden wie man das aus anderen VBA-Anwendungen machen kann, grundsätzlich sollte das aber auch aus VB6 möglich sein:

Du erstellst eine Instanz von Access.Application und kannst darüber dann die Datenbank öffnen und über das damit entstehende Objekt dann sicherlich auch irgendwie den entsprechenden Datensatz auswählen.

https://msdn.microsoft.com/de-de/vba/access-vba/articles/application-object-access

Du wirst Du allerdings noch einige Attribute setzen müssen, damit Access auch sichtbar wird und Nutzerinteraktion möglich ist.

Gruß
Borlander

bei Antwort benachrichtigen
Edgar Rau Borlander „Ich denke da wirst Du über einen Kommandozeilenaufruf nicht weiterkommen es sei denn Access bietet einen entsprechenden ...“
Optionen

Hallo Borlander,

vielen Dank für Dein Interesse.

Aus der Access Datenbank (anderes Formular) konnte ich auf einen bestimmten Datensatz im Formular PKW zugreifen:

Dim strKrit As String
    strKrit = "Adressenlistennr =" & Me!ListeTA
    DoCmd.OpenForm "PKW", , , strKrit
    DoCmd.Close acForm, "TÜV"

Das müsste doch auch aus einem VB Projekt möglich sein.

Ich weiß allerdings nicht, welche Parameter übergeben werden müssen.

Für Deine Hilfe bedanke ich mich schon einmal im voraus.

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen
Borlander Edgar Rau „Hallo Borlander, vielen Dank für Dein Interesse. Aus der Access Datenbank anderes Formular konnte ich auf einen bestimmten ...“
Optionen
Das müsste doch auch aus einem VB Projekt möglich sein.

Ausgehend vom (Access) Application Object ist das über dessen DoCmd Attribut (siehe https://msdn.microsoft.com/de-de/vba/access-vba/articles/application-docmd-property-access) möglich. Siehe https://msdn.microsoft.com/de-de/vba/access-vba/articles/application-object-access#remarks (letztes Beispiel im Abschnitt Remarcs: appAccess.DoCmd.OpenForm "Orders")

Ist ansonsten auch noch unter https://msdn.microsoft.com/de-de/vba/access-vba/articles/docmd-object-access dokumentiert.

Gruß
Borlander

bei Antwort benachrichtigen
Edgar Rau Borlander „Ausgehend vom Access Application Object ist das über dessen DoCmd Attribut siehe ...“
Optionen

Sehr interessant, ich werde mich morgen darin einarbeiten. Jetzt werde ich erst einmal schlafen, muss morgen früh 'raus.

Vielen Dank erst einmal

Gruß Edgar

Wer brauchen ohne zu gebraucht, braucht brauchen gar nicht zu gebrauchen
bei Antwort benachrichtigen