Tabellenbeziehungen per VBA aufbauen

**Hallo Experten,
meine Datenbank besteht aus einem Frontend und zwei Backends. Ein Backend für Dauerdaten und ein Backend für JahresDaten.
Nun will ich zwischen den Jahren wechseln.
Das scheitert daran, dass ich mit VBA im Frontend keine Beziehungen zwischen den Tabellen aufbauen kann.
Es gelingt mir per VBA die alten Beziehungen zu löschen, um die Tabelle mit den Jahresdaten für z.B. 2011 (verknüpft mit dem Backend 2011) zu löschen. Auch das Einbinden der Tabelle für 2012 (verknüpft mit dem anderen Backend 2012) ist kein Problem.

Wie erstelle ich nun eine Beziehung zwischen meiner verknüpften tbl_Orte, dort das Feld ID_Orte (Primärschlüssel)  und meiner verknüpften tbl_Familienadressen, dort das Feld Orte_ID. Und das ganze per VBA. Per Hand ist nämlich kein Problem und müsste also machbar sein.

Danke im Voraus

Euer Amtsschimmel**

Hallo Amtsschimmel,
ohne dass ich mich mit Deinem Problem ganz genau ausseinandergesetzt hab, hier ein erster Hinweis:

Benutze

   DoCmd.TransferDatabase (Methode)

Damit kannst du Tabellen via VBA verknüpfen.
Lies in der Accesshilfe nach dort sind alle Parameter beschrieben.

>Das scheitert daran, dass ich mit VBA im Frontend keine Beziehungen zwischen >den Tabellen aufbauen kann.
Den Satz verstehe ich nicht, Beziehungen sind in Access nicht zwingend erfoderlich.

Gruß
Erwin

Hallo Amtsschimmel und Erwin,

Hallo Amtsschimmel,
ohne dass ich mich mit Deinem Problem ganz genau
ausseinandergesetzt hab, hier ein erster Hinweis:

Benutze

   DoCmd.TransferDatabase (Methode)

Auch ohne mich damit auseinander zu setzen fällt mir spontan ein.
Um ein Command auf eine DB abzufeueren, bedarf es ein SQL Statement. Nutze dort halt Join’s und schon hast du die gewünschten Daten.

Damit kannst du Tabellen via VBA verknüpfen.
Lies in der Accesshilfe nach dort sind alle Parameter
beschrieben.

>Das scheitert daran, dass ich mit VBA im Frontend keine
Beziehungen zwischen >den Tabellen aufbauen kann.
Den Satz verstehe ich nicht, Beziehungen sind in Access nicht
zwingend erfoderlich.

Gruß
Erwin

MfG Alex

Hallo Amtsschimmel,

bitte lass den Fettdruck weg, bzw. nur für wichtige Hervorhebungen im Text benutzen, danke.

Dein Name kommt mir vertraut vor, also könnte ich dir schonmal versucht haben zu helfen, aber garantiert nicht in ccess, Word, Excel oder so *schätz*
Ist ja auch wurscht.

Helfen kann ich dir in AC nur durch einen Hinweis. Ja, ich habe den anderen Antworter gelesen, scheint kompetent zu sein.
Von daher kannste ja deine Anfrage hier noch paar Tage stehen lassen und ausprobieren was er riet usw.

Wenn das zu nichts führt den Mod anmailen und um Verschiebung ins Accessbrett bitten.

Gruß
Reinhard

Hallo Alex,

grüß dich, meine Augen lassen wohl nach, trotz mehrmaligem Vergleich fällt mir absolut nicht auf was du eingentlich geschrieben hast, ich erkenne nur das von Erwin, was übersehe ich?

Gruß
Reinhard

Hallo Reinhard,

grüß dich, meine Augen lassen wohl nach, trotz mehrmaligem
Vergleich fällt mir absolut nicht auf was du eingentlich
geschrieben hast, ich erkenne nur das von Erwin, was übersehe

Ja das hast du. Aber irgendwie wurde der Beitrag nen bissl komisch eingepflegt. Naja was soll’s hier noch einmal :smile:

Auch ohne mich damit auseinander zu setzen fällt mir spontan ein.
Um ein Command auf eine DB abzufeueren, bedarf es ein SQL Statement.
 Nutze dort halt Join's und schon hast du die gewünschten Daten.

Den Zugriff auf die DB hat er ja schon. Ohne nun gross nachzudenken, koennte es so klappen /ausschauen. Kann aber der ein oder andere Syntax Fehler drin sein, da ich es net probiere und auch nicht weiss welche Felder er alle brauch. Aber das Prinzip ist zu erkennen.

DoCmd.RunSql(Select or.\* FROM tbl\_Orte or JOIN tbl\_Familienadressen fa ON or.ID\_Orte=fa.Orte\_ID

Alternativ kann er die Tabellen auch mit einem LEFT, RIGHT oder OUTER JOIN Zusammenführen. Das kommt aber wiederrum auf die Bedingung an, was er wie brauch :wink:

Natürlich kann er den Syntax noch erweitern, mit einer WHERE Klausel etc.

Anbei noch eine kleine Info dazu

Mit einem INNER JOIN werden Datensätze abgefragt, 
bei denen ein Wert in je einer Spalte beider Tabellen vorhanden ist.
In der ON-Klausel steht diese Verknüpfungsbedingung.
In der WHERE-Klausel stehen die „normalen“ Auswahlbedingungen.
Genauso können mehrere Tabellen verknüpft werden.

Gruß
Reinhard

MfG Alex

Hallo,
Dank an Anno74, durch deine Bemerkung bin ich letztlich darauf gekommen, wie man das löst:
Man muss die Tabllen ja nicht zwangsläufig direkt im Frontend in Beziehung setzen.
Jetzt nehme ich eine Abfrage (Query) und in der setze ich die Beziehungen.
Anschließend greife ich nicht mehr direkt auf die Tabellen zu, sondern auf die Abfragen.
So muss ich keine Beziehunghen zwischen den Tabellen aufbauen.
Und die Beziehungen in den Abfragen müssen nicht gelöscht werden, so lange die eingebundenen Tabellen immer gleich heißen.
Problem gelöst,
Danke und Gruß aus der Hauptstadt

Amtsschimmel

Hallo Reinhard,
wie das mit dem Fettdruck entstanden, weiß ich auch nicht. Jedenfalls habe ich nicht bewußt alles in Fettdruck abgeschickt.

Problem ist ja jetzt gelöst
**Wie mail ich den Mod an? wo finde ich seine Adresse?

wiehernd grüßt
Amtsschimmel**

Hallo Amtsschimmel,

wie das mit dem Fettdruck entstanden, weiß ich auch nicht.
Jedenfalls habe ich nicht bewußt alles in Fettdruck
abgeschickt.

okay, im Zeifel für den Angeklagten.

Problem ist ja jetzt gelöst

Dachte ich mir daß es gelöst ist, wird, wenn Alex sich einmischt, schon Sonderklasse *find*

Dieser mißglückte Fettdruck-Versuch begründet meine Zweifel u.a. :smile:
Tipp, benutze den b-Button oberhalb des Eingabefeldes.

Wie mail ich den Mod an? wo finde ich seine Adresse?

Das gilt für jedes Brett links in der Bretterliste. Klickt man auf den Brettnamen erscheint u.a. die jeweilige Brettbeschreibung. Dort siehst du die Namen der Mods, rechts neben jedem Mod ist ein Briefumschlag, klick darauf…

Willste den Support anmailen, wähle eines der Bretter daß er moderiert, z.B. oben das ALK- oder Bugsbrett. Der Support hat dort den Namen w-w-w-Team o.ä.

Gruß
Reinhard

Danke dir :smile: o.w.T.

Hallo Reinhard,

leider (??) bin ich in verschiedenen Boards unterwegs. Und jedes hat einen andern Editor mit anderen Macken. Der eine stellt keine Unterstriche dar, sondern macht dann kursiv, der andere lässt keinerlei URL’s zu,… Und dann kommt man halt auf die Idee es mit HTML-pur zu versuchen.

Gerade im Bereich Programmierung brauche ich als User fast alle 255 Zeichen. Da wäre es hilfreich, wenn alle Editoren eine Hilfe anbieten würden, wo man dann was zu diesen Themen findet. Ofmals muss ich normelen Text als Code formatieren, damit diese Sonderzeichen sichtbar werden.
So what?
Nochmals Danke

Gruß

Amtsschimmel

Hallo Amtsschimmel,

leider (??) bin ich in verschiedenen Boards unterwegs.

wenn du das innerlich als „leider“ denkst, fühlst, dann drossele es, ferddich.
Ich hingegen will in anderen Foren unbedingt wieder aktiv(er) werden.

jedes hat einen andern Editor mit anderen Macken. Der eine
stellt keine Unterstriche dar, sondern macht dann kursiv, der
andere lässt keinerlei URL’s zu,.

Ja, die sind da alle sehr unterschiedlich im „zulassen“ oder nicht. :frowning:
Wer meine Nr1 der Top ten der restriktivisten ist sage ich dir hier in w-w-w aber nich.

Nochmals Danke

Für nix. Und, meine Nachfrage zum Fettdruck war einzig darauf ausgerichtet ob du gefettet hast oder ob es einer der Kolateralschäden des „Refits“ war.

Vllt. hast du das nicht mitbekommen, seit dem Refit tauchten hier etliche Beiträge auf wo der Ersteller den Text wohl extern vorgeschrieben hat, ein Feichling, wahrscheinlich mit Rechtschreibprüfung *bäh*, dann hier in w-w-w reinkopiert.

Dann hat wohl hier der Parser in dem Text irgendwas falsch gedeutet und es tauchten dann im Text etliche -Tags auf.
Ich wollte halt wissen ob der Fettdruck auch daher kommt.

Gruß
Reinhard

Nach meiner Meinung haben die Beziehungen im Frontend ohnehinn keine Bedeutung.
wenn in der Backend die Beziehungen gesetzt sind, sollte alles passen.
In der Frontend-DB arbeitetest du mit Abfragen und stellt dir die Verknüpfungen ein wie du sie brauchst.

Alois

Hallo Reinhard,
das „leider“ war wohl eher für die Boards gedacht, weil ich in den einzelnen dann nur „Teilzeit“ mache. U.a. bei einem weiteren Board, wo man gutefragen stellen kann, bei w w w. betrachter.de,…
Das Danke war für den Hinweis mit dem Mod.
Ja, ich hatte den Text vorformuliert (weil insgesamt in drei Boards gestellt), je Auftritt angepasst und dann hier einkopiert (bin ne faule Sau).
Rechtschreibprüfung / Silbentrennung??? NIE! Wer Urin-stinkt oder Er-blasser trennt, hat jede Kompetenz verloren.
Bei mir kommt es noch darauf an, von wo ich den Beitrag einstelle. Zu Hause, Arbeit, Unterwegs… Zu Hause tippe ich direkt, siehe _**Mit allen seinen kleinen Flüchtigkeitsfehlern.

Kleine Bemerkung am Rande:
Win 7 + Firefox 25 und ich sehe meinen Kommentar hier nicht vollständig (Oben und/oder unten und links oder rechts abgeschnitten). Auch sind keine Bildlaufleisten sichtbar. Die Darstellung springt, wenn ich mit dem Cursor ans Ende der Zeile komme.

Gruß
Amtsschimmel**_