Hast du dir auch die Tutorien "Datenbankeinstieg", "
DB für Fortgeschrittene" angesehen?
Dort findest du die grundlegenden Techniken, wie du an deine Daten kommst und wie du sie darstellst.
Bei
Access und
ADO rate ich dir aber sofort, dich mit
SQL und den Komponenten TAdoQuery bzw. TAdoDataset auseinanderzusetzen.
Über
SQL bist du wesentlich flexibler, wenn es darum geht, Daten zu filtern und zu suchen.
Zu deinem Beispielproblem: Erstelle in der Nordwind-Datenbank eine neue Abfrage mit folgenden Tabellen Bestellungen und Kunden.
Doppelklick auf das Feld Ort und das Feld Firma in der Tabelle Kunden. Im Datengitter das Häkchen bei Firma entfernen (die Anzeige benötigst du nicht). In der Zeile Kriterien unter Firma gibst du folgendes ein: "=
_FIRMA". Wenn du jetzt im Menü unter "Ansicht" den Menüpunkt "
SQL" auswählst, erhältst du folgendes
SQL-Statement:
SQL-Code:
SELECT Kunden.Ort
FROM Kunden INNER JOIN Bestellungen ON Kunden.[Kunden-Code] = Bestellungen.[Kunden-Code]
WHERE (((Kunden.Firma)=":P_Firma"));
Dieses
SQL-Statement kannst du kopieren und in einer TAdoQuery im ObjektInspektor in der Eigenschaft
SQL einfügen. Anschließend wählst du die Eigenschaft Parameters aus und markierst den Parameter P_FIRMA. Unter Value.Type wählst du den Type String aus. Jetzt kannst du in deinem Quelltext den Parameter mit folgendem Code übergeben:
Delphi-Quellcode:
var
s: String;
...
s := 'Around the Horn';
AdoQuery.Parameters.ParamByName('P_FIRMA').AsString := s; // Parameter setzen
if AdoQuery.Active then // AdoQuery bereits offen?
AdoQuery.Requery // Ja, Abfrage erneut durchführen
else
AdoQuery.Open; // Nein, Abfrage öffnen
ShowMessage('Ort der Firma ' + s + ': ' + AdoQuery.FindField('Ort').AsString); // Ergebnis ausgeben
...
Grüße
Mikhal
[edit=sakura] Doppelpost ganz gelöscht Mfg, sakura[/edit]