Hallo.
In meiner DB MS2016 sind die Beziehungen nicht mehr zu sehen. Funktion ist aber gegeben. Kann mir das einer erklären?
Hallo Udo,
ZitatFunktion ist aber gegeben.
Was heisst das?
Kannst du die Beziehungen mit VBA auslesen?
gruss ekkehard
Hallo ekkehard,
Also ich habe die db komplett getestet und "keine" Fehler festgestellt. Die Verknüpfungen untereinander funktionieren aber wenn ich auf Menue --> Datenbanktools --> Beziehungen gehe werden alle Tabellen angezeigt aber die Verknüpfung nicht. Wie man die Beziehungen mit vba auslesen kann weiß ich nicht. Wenn ich die Objektabhänigkeiten ansehe kann ich die einzelnen Tabellen/Form/Abfragen erkennen und sehe wer mit wem und von wem abhänig ist. Ich habe die Vermutung das ich bestimmt wieder irgendein häckchen deaktiviert/aktiviert habe. Einer von euch eine Idee ?
Hallo,
versuche mal im Beziehungsfenster folgendes:
Rechtsklick auf leerer Fläche > Alle anzeigen
Leider keine Änderung.
Ich mache zum glück jeden Tag eine Sicherung und leider ist mir das durch Zufall aufgefallen das der "Fehler" seit 3 Tagen da ist. Jetzt muss ich die Änderungen von den letzten Tagen in die "Ältere" db eingeben. Würde mich aber trotzdem interessieren was da ist.
Hallo Udo,
ZitatWie man die Beziehungen mit vba auslesen kann weiß ich nicht.
Schreibe in ein allgemeines Modul (Luftcode):
Public Sub ShowRelations()
Dim dbe As DAO.Database
Dim rel As DAO.Relation
Set dbe = CurrentDb
For Each rel in dbe.Relations
Debug.Print rel.Name & " / " & rel.Table & " / " rel.ForeignTable
Next rel
End Sub
Öffne das Direktfenster (Strg-G) und rufe die Sub auf.
gruss ekkehard
Hallo ekkehard. Vielen Dank für den Code. Der Code zeigt nur die Systemobjekte an.
Hallo Udo,
Dann würde ich vermuten, dass es da tatsächlich keine Beziehungen (mehr) gibt.
Lege doch mal eine an, und starte die Sub erneut, - wird die neue Beziehung
angezeigt?
gruss ekkehard
Hallo,
ich denke auch es gibt keine Beziehungen.
Wenn man über die Optionen die Systemtabellen anzeigt, so kann man in der dann zu sehenden Tabelle "MSysRelationships" sehen welche Beziehungen angelegt sind.
Beziehungen sind, wenn sie bestehen, im Backend.
Wo siehst Du nach?
Hallo,
ZitatBeziehungen sind, wenn sie bestehen, im Backend.
Entscheidender Hinweis, an den ich nicht gedacht hatte.
@Udo
Falls du eine Backend-DB verwendest, ersetze
Set dbe = CurrentDbdurch
Set dbe = OpenDatabase("PfadZuDeinemBackend")und schreibe am Ende der Prozedur noch
dbe.Close
Set dbe=Nothinggruss ekkehard
Werde ich heute Abend oder über die Feiertage versuchen.
Danke..... Ihr seid super !!!