Office: Verknüpfung von BE trennen und wieder verbinden

Helfe beim Thema Verknüpfung von BE trennen und wieder verbinden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Accessler:innen! Ich habe eine Frage zu den Verknüpfungen zu BE: Also ich verknüpfe 3 BE mit meiner Frontend. Die Verlinkung und Trennung... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Anna Karl, 20. August 2025.

  1. Verknüpfung von BE trennen und wieder verbinden


    Hallo liebe Accessler:innen!
    Ich habe eine Frage zu den Verknüpfungen zu BE:
    Also ich verknüpfe 3 BE mit meiner Frontend. Die Verlinkung und Trennung funktioniert ganz gut. Ich hab es sogar geschaft, dass ich einzelne Tabellen einer BE trennen kann Verknüpfung von BE trennen und wieder verbinden *:)*
    In iner Listbox werden alle Tabellen der 3 BE aufgelistet und ich kann wie oben beschrieben ALLE Trennen oder EINZELNE TABELLEN trennen. Wenn ich also von den 3 BE nur eine trennen möchte, muß ich jede einzelne Tabelle dieser BE trennen, dass bei 7 Tabellen mühsam ist.
    Ich hab es aber nicht zusammengebracht, dass ich eine Funktion schreibe, wo ich in der Listbox eine Zeile mit der gewünschten BE markiere und dann nach einem BtnKlick alle Tabellen dieser BE trenne. die anderen 2 BE's bleiben verlinkt. Mein Problem ist ich weiß nicht wie ich die im Listing mit ihrem Namen finde.
    Den Code für die Trennung der gesamten Listbox habe ich im Internet gefunden. Den wollte ich nun umbauen, ich weiß nur nicht wo und wie?

    Das Listing:
    Public Function DeleteLinkTable() As Integer
    ' -----------------------------------------------------
    ' mit dieser Funktion werden alle eingebundenen
    ' Tabellen gelöscht
    ' -----------------------------------------------------
    If MsgBox("Sollen alle Tabellenverknüpfungen gelöst werden?" + vbCrLf + "Es gehen dadurch keine Daten verloren", vbCritical + vbYesNo, "Verknüpfung aller Backenddatein lösen") = vbYes Then
    On Error GoTo fehler

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("SELECT DISTINCTROW Name " & _
    "FROM MSysObjects WHERE MSysObjects.Name Not Like 'MSys*' " & _
    "AND MSysObjects.Type=6;", dbOpenDynaset)
    ' Sanduhr ein
    DoCmd.Hourglass True
    rs.MoveFirst
    Do Until rs.EOF
    DoCmd.DeleteObject acTable, rs!Name
    DeleteLinkTable = DeleteLinkTable + 1
    rs.MoveNext
    Loop
    ende:
    ' Sanduhr ein
    DoCmd.Hourglass False
    ' offene DB und offene RS schließen
    rs.Close
    db.Close
    'Exit Function
    Else
    MsgBox "Aktion wird abgebrochen!", vbInformation, "Verknüpfung aller Backenddatein lösen"
    End If
    Exit Function
    fehler:
    MsgBox Err.Description
    Resume ende
    End Function


    Es muß im Recordset anzusprechen sein - ich weiß nur nicht wie und mit was
    LG Anna
     
    Anna Karl, 20. August 2025
    #1
  2. mmarschner hat Ahnung
    Hallo Anna,

    Du musst die Zeile

    Set rs = db.OpenRecordset("SELECT DISTINCTROW Name " & _
    "FROM MSysObjects WHERE MSysObjects.Name Not Like 'MSys*' " & _
    "AND MSysObjects.Type=6;", dbOpenDynaset)


    so umbauen, dass die Wherebedingung durch die selektierten Einträge Deiner Listbox erfüllt werden.

    Dann gibt es in MSysObjects noch die Spalte Database. Dort steht doch der komplette Name mit Pfadangabe zum Backend. Wenn Du diese Namen gruppiert ausliest, bekommst Du die betreffenden Namen der Backends. Diese kannst Du dann doch Deiner Listbox hinzufügen, bzw. Du legst eine zweite Listbox an und kannst darüber die betreffenden Tabellen selektieren und die Einbindung löschen.

    Michael
     
    Zuletzt bearbeitet: 21. August 2025
    mmarschner, 21. August 2025
    #2
  3. Hallo Anna,

    eigentlich sollte es nicht notwendig sein, mit mehreren BEs zu arbeiten, da sich keine Beziehungen über eine BE hinaus einstellen lassen. Das würde auch einem relationalen Datenmodell widersprechen.

    Wenn du dynamisch Tabellen einbinden möchtest, kannst du auch die dafür vorgesehen Objekte, wie z.B. das Objekt Tabledefs verwenden. Es besteht keine Notwendigkeit, hierfür Systemtabellen auszuwerten oder mit DDL zu arbeiten.

    Gruß Knobbi38
     
    knobbi38, 23. August 2025
    #3
  4. Verknüpfung von BE trennen und wieder verbinden

    Hallo mmarschner, hallo knobbi38,
    erst mal danke für Eure Tipps.

    @mmarschner: Ich bin leider noch nicht dazugekommen Deinen Tipp umzusetzen, ich habe wenigstens einen Ansatz wie ich vorgehen kann.
    @knobbi38: Meine 3 BE brauchen untereinander nicht kommunizieren. Es handelt einerseits um eine BE in der nur der Anwender "seine" Daten ablegen kann. die anderen beiden BE sind für jeden Anwender von Nöten und die Tabellen beider BE könnte ich tatsächlich in einer BE vereinen.
    Das Objekt Tabeledefs kenne ich nicht, werd es mir aber auf alle Fälle anschauen, wie es verwendet wird...
    LG
    Anna
     
  5. Es geht nicht um eine Kommunikation, sondern um das Datenmodell, bei dem dann Beziehungen zwischen den Tabellen hergestellt werden und dann referentielle Integrität eingestellt wird. Das geht aber nur, wenn die Tabellen sich in einer DB befinden. Es gibt nur sehr wenige Gründe, meistens technische, wo eine Aufteilung in mehrere DBs notwendig wird, benutzerspezifische Tabellen gehören jedenfalls nicht dazu.

    Nur mal so ...

    Gruß Knobbi38
     
    1 Person gefällt das.
Thema:

Verknüpfung von BE trennen und wieder verbinden

Die Seite wird geladen...
  1. Verknüpfung von BE trennen und wieder verbinden - Similar Threads - Verknüpfung trennen verbinden

  2. Zellen in mehrere Arbeitsblättern "Verknüpfen"?

    in Microsoft Excel Hilfe
    Zellen in mehrere Arbeitsblättern "Verknüpfen"?: Ich nutze eine Excel Tabelle als Bestellschein. Ich arbeite da zur Zeit mit Formular-Steuerelementen, die aber auch zu Problemen führt. Ich finde es aber sehr hilfreich, dass Texteingabefelder mit...
  3. Einseitige Änderungen zw. Original u. Verknüpfung

    in Microsoft Excel Hilfe
    Einseitige Änderungen zw. Original u. Verknüpfung: Hallo ins Forum, heute hab' ich eine vielleicht blöde Frage (mir sagte mal jemand, es gäbe keine blöden Fragen, nur blöde Antworten ;) ), doch ich komm' einfach nicht drauf: Von einer...
  4. Outlook-Kontakte verknüpfen und Filtern

    in Microsoft Access Hilfe
    Outlook-Kontakte verknüpfen und Filtern: Gelöscht
  5. Formular: Dropdown-Felder "verknüpfen"?

    in Microsoft Word Hilfe
    Formular: Dropdown-Felder "verknüpfen"?: Hallo, für einen Fahrauftrag habe ich mal ein Formular erstellt, wo man halt die Relevanten Daten schnell und Bequem eingeben kann. Dabei habe ich auch zwei Drop-Down-Felder erstellt und diese...
  6. Änderung Titel Folie 1 für alle weiteren Folien übernehmen

    in Microsoft PowerPoint Hilfe
    Änderung Titel Folie 1 für alle weiteren Folien übernehmen: Hallo zusammen, ich habe eine Präsentation mit dem selben Titel für alle weitere Folien. Jetzt ändert sich daran jeden Monat nur die Monatsbezeichnung, z.B. aus April wird dann eben Mai....
  7. Dynamische Verknüpfung von Dokumenten

    in Microsoft Word Hilfe
    Dynamische Verknüpfung von Dokumenten: Hi, ich muss 10 unterschiedliche Vertragsvorlagen, die aber alle identische Anlagen haben, im Word neu aufbauen. Bislang hatten wir LibreOffice im Einsatz. Dort hatte ich Globaldokumente angelegt...
  8. Verknüpfen von Tabellen

    in Microsoft Access Hilfe
    Verknüpfen von Tabellen: Hallo zusammen, ich bin dank der Hilfe des Forums mit meiner Datenbank weitergekommen. Nun hänge ich an folgendem Problem. Ich hoffe dass mir hier jemand weiterhelfen kann. Ich habe eine Abfrage...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden