Announcement

Collapse
No announcement yet.

Auf eine andere Tabelle zugreifen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auf eine andere Tabelle zugreifen

    hallo

    habe zwei verschiedene access-db's(datenbank1 und datenbank2)

    muß von datenbank1 auf die tabelle der datenbank2 zugreifen, um die anzahl der datensätze festzustellen.
    die ausgabe soll dann als msgbox erfolgen

    kann mir jemand helfen?

    access 2000

    danke im voraus!!!

    mfg

  • #2
    Ganz einfach, indem Du die Tabelle "verknüpfts", also in der Ansicht "Tabellen-Objekte" rechte Maustaste => Tabelle verknüpfen.

    Allerdings merkt sich Access den absoluten Pfad, entsprechend muss beim verschieben in ein anderes Verzeichnis die Verknüpfung aktualisiert werden.

    In Access: Menu => Extras => Datenbank-Dienstprogramm => Tabellen-Verknüpfungsmanager.

    Per Code:
    <PRE>
    codedb.TableDefs.("VerknuepfteTabelle").Connect = (neuer ODBC-Connect-String)
    codedb.TableDefs("VerknuepfteTabelle").RefreshLink </PRE&gt
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      hallo

      ja ich meinte mit vba
      bin noch nicht so gut drauf darin

      wie erfolgt dann der eigentlich zugriff, denn mit deinem code erstelle ich ja nur mal die verbindung, oder ?

      könntest du mir eventuell deinen code auskommentieren, damit ich weis was für was steht?

      danke für diene rasche antwort
      mf

      Comment


      • #4
        Auf die verknüpften Tabellen selbst kannst Du wie auf jede andere auch zugreifen, da gibt es nur die Einschränkung, das man den Entwurf nicht ändern kann; das muss in der Herkunfts DB gemachen werden.

        Wie der Connect-String aussieht, kannst Du Dir mit
        <PRE>?codedb.TableDefs.("VerknuepfteTabelle").Conn ect
        </PRE>
        im Direktfenster ausgeben lassen, dürfte ungefähr so aussehen:
        <PRE>;DATABASE=C:\Access.mdb
        </PRE&gt
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          hallo
          sorry, o.helper
          hab geglaubt, ich hab noch vor dir geposted, wohl nicht geklappt
          wollte mitteilen dass ich es mit der nachstehenden methode gemacht habe:

          <PRE>
          Sub test()

          Dim strPfad As String
          Dim rsKunden As DAO.Recordset
          Dim dbCurrent As Database
          Dim dbRemote As Database

          strPfad = "C:\Dokumente und Einstellungen\Bernhard\Eigene Dateien\db1.mdb"
          Set dbCurrent = CurrentDb
          Set dbRemote = DBEngine.Workspaces(0).OpenDatabase(strPfad)
          Set rsKunden = dbRemote.OpenRecordset("Bestand", dbOpenDynaset)
          rsKunden.MoveLast
          rsKunden.MoveFirst
          MsgBox rsKunden.RecordCount

          End Sub
          </PRE>

          trotzdem vielen dank für die mühen!!!
          mfg, h

          Comment

          Working...
          X