ADO Tabellen verknuepfen

Hallo,

Ich habe eine Datenbank. Dort befinden sich ca. 20 Tabellen drinne.
Jede Tabelle besitzt eine Spalte IDx (autofeld was automatisch erhöht wird)

Wenn ich nun in Tabelle 1 einen Datensatz selektiere so möchte ich das in den tabellen 2 bis 15 auch der selbige datensatz selektiert wird.
die anderen 5 tabellen sollen unberuehrt bleiben.

Sin ist es zum bsp. In Tabelle 1 ist ein datensatz wo liedtitel etc. stehen. in der tabelle 2 stehen dann die id3v1 informationen, in Tabelle 3 dann die id3v2 Informationen.

Die variable für den recordset in tabelle 1 ist rs1, für tabelle2 ist rs 2 etc.

wenn ich nun in Tabelle 1 sagen wir mal das lied blablablubb anklicke so möchte ich dann über rs2!Artist den artisten haben.Umgekehrt sollte es natuerlich auch gehen.

Wie kann man das denn realisieren? Ist das stichwort dort relation?

MFG Alex

Hallo Alex,

Ich habe eine Datenbank.

öhm, welche denn?

Dort befinden sich ca. 20 Tabellen drinne.

ok

Jede Tabelle besitzt eine Spalte IDx (autofeld was automatisch
erhöht wird)

ok, soweit richtig

Wenn ich nun in Tabelle 1 einen Datensatz selektiere so möchte
ich das in den tabellen 2 bis 15 auch der selbige datensatz
selektiert wird.
die anderen 5 tabellen sollen unberuehrt bleiben.

nichts leichter als das: wenn du Access nutzen soltest macht man das mit Abfragen.

Wie kann man das denn realisieren? Ist das stichwort dort
relation?

jein, in deinem Fall wäre ABFRAGE erstmal das Stichwort.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,

erst einmal danke für deine Antwort.
Also es handelt sich um eine Access DB auf die ich in VB mittels ADO zugreife.

Du schreibst ich solle das mit einer Abfrage realisieren. Also auf der Form ist ein Datagrid drauf wo einige Spalten angezeigt werden. Wie muesste denn da das Sql Statement lauten?

Select * From Tabelle1, Tabelle2,tabelle3 Order by Titel

Koenntest du mir wenigstens einen kleinen Ansatz geben?

MfG Alex

Hallo Alex,

Also es handelt sich um eine Access DB auf die ich in VB
mittels ADO zugreife.

hast du dann auch Access?

Du schreibst ich solle das mit einer Abfrage realisieren.

genau, die Access - Datenabnk mit Access öffnen, dann links da klicken, wo Abfrage steht. Dann eine entsprechende Abfrage definieren

Also
auf der Form ist ein Datagrid drauf wo einige Spalten
angezeigt werden. Wie muesste denn da das Sql Statement
lauten?

Select * From Tabelle1, Tabelle2,tabelle3 Order by Titel

nö, so nicht, Verbindungen werden über Felder hergestellt:

Also was für Felder hast du in den Tabellen?

Grüße aus Essen
Wolfgang

Hallo Alex,

Hallo Wolfgang,

hast du dann auch Access?

Ja aber die DB wird unter VB erstellt und dort auch im Programm verwaltet.

genau, die Access - Datenabnk mit Access öffnen, dann links
da klicken, wo Abfrage steht. Dann eine entsprechende Abfrage
definieren

Dadurch die DB unter VB erstellt wird, so muesste ich auch diese Abfrage unter VB schreiben. Aber wenn ich nun die Datenbank in Access öffnen würde und dort die abfrage erstelle ( geht das mit mausklicks oder muss ich da den syntax wissen?) könnte ich dann den genauen Syntax sehen und ihn dann einfach in mein VB Programm tippeln?

nö, so nicht, Verbindungen werden über Felder hergestellt:

Ja Ok das ist einleuchtend. Würde dann der folgende Synttax funktionen, denn da es sich um insgesamt ca. 280 Felder handelt würde das den Rahmen sprengen die hier alle zu posten :-s

Select Tabelle1.*, Tabelle2.* Form Tabelle1, Tabelle2 ORDER BY Titel

Also was für Felder hast du in den Tabellen?

Siehe oben, Aber als Bsp. Koennten wir ja 3 Tabellen nehmen Tabelle1 bis Tabelle 3 mit je 2 Feldern, Feld1 und Feld2.

Mir geht es nur darum das ich den Syntax weiss. Die Tabellenamen und Feldnamen kann ich dann ja anpassen :smile:

Grüße aus Essen
Wolfgang

Grüße aus dem kalten Sachsen *zwinker*
Alex

Hallo Alex,

genau, die Access - Datenabnk mit Access öffnen, dann links
da klicken, wo Abfrage steht. Dann eine entsprechende Abfrage
definieren

Dadurch die DB unter VB erstellt wird, so muesste ich auch
diese Abfrage unter VB schreiben. Aber wenn ich nun die
Datenbank in Access öffnen würde und dort die abfrage erstelle
( geht das mit mausklicks oder muss ich da den syntax wissen?)

geht mit ein paar Mausklicks

könnte ich dann den genauen Syntax sehen und ihn dann einfach
in mein VB Programm tippeln?

ja, du kannst auf SQL-Ansicht umschalten, und würdest den Syntax sehen und kopieren können.

nö, so nicht, Verbindungen werden über Felder hergestellt:

Ja Ok das ist einleuchtend. Würde dann der folgende Synttax
funktionen, denn da es sich um insgesamt ca. 280 Felder
handelt würde das den Rahmen sprengen die hier alle zu posten

-s

klar

Select Tabelle1.*, Tabelle2.* Form Tabelle1, Tabelle2 ORDER BY
Titel

nein, da KEINE Felder definiert sind.

Also was für Felder hast du in den Tabellen?

Siehe oben, Aber als Bsp. Koennten wir ja 3 Tabellen nehmen
Tabelle1 bis Tabelle 3 mit je 2 Feldern, Feld1 und Feld2.

ok, Tabelle1 ist die Tabelle mit den Kunden - Daten.
Nun brauchst du erstmal eine Feld, das als Primär(Haupt)-Feld dient.
Sinnvoll wäre die Kundennummer, die ja nur einmal vorkommen darf.
Auf dieses Feld setzt du den Primärschlüssel, damit du über dieses Feld die anderen Tabellen verknüpfen kannst.

Tabelle2 sind die Artikel. Dort gibt es KEIN Primärfeld, nur zusätzlich das Feld Kundennummer.

Die Verbindung wird dann über das Feld Kundennummer hergestellt. sinnvoll wäre dann eine Verknüpfung mit refrentieller Integrität.

Tabelle3 sind dann die Eigenschaften des Artikels (z.B. rot, grün, blau)

Dort hast du dann wieder die Artikelnummer um die Verbindung zur Artikeltabelle herzustellen.

Mir geht es nur darum das ich den Syntax weiss. Die
Tabellenamen und Feldnamen kann ich dann ja anpassen :smile:

der Syntax alleine reicht leider nicht, soooooo einfach ist es leider nicht.

aber gut, hier ist er für die o.g. Tabellen:
SELECT *
FROM Kunden INNER JOIN (Artikel INNER JOIN Eigenschaft ON Artikel.Artikelnummer = Eigenschaft.Artikelnummer) ON Kunden.Kundennummer = Artikel.Kundennummer;

Alles klar?

Grüße aus Essen
*auch kalt hier*
Wolfgang