via VBA auf Access Formular zugreifen

  • VB6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von wincnc.

    via VBA auf Access Formular zugreifen

    Hallo,
    ich hoffe mir kann einer eine Auskunft bezueglich meines Problems geben.
    Ich habe eine Access .mde Datei bekommen. Starte ich die .mde Datei, dann oeffnet sich gleich ein Formular, welches auf einen sich im Netz befindenen SQL Server zugreift. Das Formular zeigt mir die Daten an, auf welche ich lesen zugreifen kann. Nun will ich die Daten aber auch benutzen und in eine Datei verwenden. Leider gehoert mit die DB nicht und die .mde Datei wurde mir auch nur zur Verfuegung gestellt, um die Daten der DB auslesen zu koennen (beides gehoert einer anderen Abteilung).
    Nun meine Frage: Gibt es eine Moeglichkeit die Daten via VBA auszulesen, um sie dann zu verarbeiten?

    Ich habe ein wenig durch Netz geschaut, aber keine Anleitung bzw. einen Schnipsel gefunden der mir beschreibt wie ich auf eine Formular zugreifen kann. Deswegen hier mein Aufruf.


    Vielen Dank im voraus.
    Hallo

    Die *.mde Datei kannst Du beim Öffnen mit VB6 oder VBA behandeln wie eine *.mdb Datei.
    Bei mde Dateien ist nur der darin befindliche Code geschützt.

    Hier ein Beispiel wie man mit VBA Excel eine mde Datei und die dazugehörigen Tabellen öffnet:

    Visual Basic-Quellcode

    1. ' Verweis auf Microsoft ActiveX Data Objects 2.x Library nicht vergessen !!!!
    2. Private DB As ADODB.Connection
    3. Private RS As ADODB.Recordset
    4. Private Sub CommandButton1_Click()
    5. Dim SQL As String
    6. ' Datenbank öffnen
    7. Set DB = New ADODB.Connection
    8. DB.CursorLocation = adUseClient
    9. DB.Provider = "Microsoft.Jet.OLEDB.4.0"
    10. DB.Open "D:\DeineMdeDatei.mde"
    11. ' Alle Tabellen der Datenbank auflisten
    12. Dim oTab As Recordset
    13. Set oTab = DB.OpenSchema(adSchemaTables)
    14. Do Until oTab.EOF
    15. If oTab("TABLE_TYPE") = "TABLE" Then
    16. MsgBox oTab("TABLE_NAME")
    17. End If
    18. oTab.MoveNext
    19. Loop
    20. oTab.Close
    21. ' Tabelle öffnen und Daten auslesen
    22. ' Tabelle1 ist als Beispiel gedacht
    23. ' Hier musst Du eine Tabelle nehmen die in der Auflistung der Tabellen vorkommt
    24. Set RS = New ADODB.Recordset
    25. SQL = "SELECT * FROM Tabelle1"
    26. RS.Open SQL, DB, adOpenDynamic, adLockOptimistic
    27. For N = 0 To RS.RecordCount - 1
    28. MsgBox RS(0).Value ' 1. Feld der Tabelle1 auslesen
    29. RS.MoveNext
    30. Next
    31. RS.Close
    32. DB.Close
    33. End Sub