AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access DB Beispielprogramm ?
Thema durchsuchen
Ansicht
Themen-Optionen

Access DB Beispielprogramm ?

Ein Thema von Manu-ela · begonnen am 23. Feb 2004 · letzter Beitrag vom 24. Feb 2004
 
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, 12: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz