Einzelnen Beitrag anzeigen

Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Access DB Beispielprogramm ?

  Alt 23. Feb 2004, 13:50
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]
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat