Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO Verbindung zu Access + Abfrage machen (https://www.delphipraxis.net/104062-ado-verbindung-zu-access-abfrage-machen.html)

eXpli 26. Nov 2007 19:45

Datenbank: *.mdb • Zugriff über: ADO ?! SQL

ADO Verbindung zu Access + Abfrage machen
 
Hallo zusammen,

Ich versuche schon seit einiger Zeit ein kleines Programm zu schreiben, welches auf eine *.mdb zugreifen soll.
Leider komm ich schon beim anfang ins schleudern. Ich bekomme keine Verbindung zustande. Wie ich zb mal meine beiden Tabellen anzeigen lassen kann weiss ich wegen dem auch nicht :(.

Könntet ihr mir helfen!? Vllt. eine ganz kleine anleitung schreiben was ich machen muss um vllt. mal ne abfragen hinzubekommen oder so. würde schon echt weiterhelfen.

Wäre echt super wenn ihr mir weiterhelfen könntet!


Danke schonmal! (Ich weiß schon das man das mit ADO machen sollte - habe es aber nicht hinbekommen.)


Gruß Expli

mkinzler 26. Nov 2007 19:46

Re: ADO Verbindung zu Access + Abfrage machen
 
http://www.dsdt.info/tutorials/ado/

eXpli 26. Nov 2007 20:49

Re: ADO Verbindung zu Access + Abfrage machen
 
Hmm das kenn ich schon... hilft mir aber nicht wirklich weiter!

Bräuchte also weiterhin einen kleine anleitung wenn ich dann ne verbindung hab ich dann vllt. ne abfrage starte... :( Oder gar meine tabellen in nem grid anzeigen lasse.

mkinzler 26. Nov 2007 20:56

Re: ADO Verbindung zu Access + Abfrage machen
 
Steht doch dort alles.

Privateer3000 27. Nov 2007 08:35

Re: ADO Verbindung zu Access + Abfrage machen
 
Da sind wir schon zwei,
ich hab das Tut auch durch.
Aber der interessante Teil, wie man die Daten sichtbar/editierbar
macht fehlt.
Welche Komponenten sind denn erforderlich um einfache
Dinge wie: Tabelle zugreifen, Daten auslesen, in einem
Grid anzeigen usw.
Den gleichen Weg wie unter BDE kann man jedenfalls nicht gehen...

mkinzler 27. Nov 2007 08:47

Re: ADO Verbindung zu Access + Abfrage machen
 
der Umgang mit datensensitiven kompos hat nicht mit dem gewählten Weg des zugriffs (BDE, ADO, IBX, ...) zu tun.

Privateer3000 27. Nov 2007 09:08

Re: ADO Verbindung zu Access + Abfrage machen
 
? und nun ?

mkinzler 27. Nov 2007 09:17

Re: ADO Verbindung zu Access + Abfrage machen
 
Dein BDE-Wissen ist übertragbar

shmia 27. Nov 2007 10:22

Re: ADO Verbindung zu Access + Abfrage machen
 
Bei einer ADO-Verbindung ist der ConnectionString das Allerwichtigste.
Wie sieht denn dein ConnectionString aus?
Hier etwas Code, um den ConnectionString aufzubauen:
Delphi-Quellcode:
const
//   DB_PROVIDER = 'Microsoft.Jet.OLEDB.3.51'; // Access 97
   DB_PROVIDER = 'Microsoft.Jet.OLEDB.4.0'; // Access 2000/2003

function GetJetEngineConnectionString(const MDBFile: string): string;
begin
   Result := Format('Provider=%s;Data Source=%s',[DB_PROVIDER,MDBFile]);
end;

eXpli 27. Nov 2007 16:51

Re: ADO Verbindung zu Access + Abfrage machen
 
OK passt, vielen Dank! -Connection steht-

Jetzt nochmal ne Frage zu den Komponenten welche man braucht um Abfragen zu erstellen.

Wie kann ich denn ganz einfach mal meine bisherige Tabelle ausgeben lassen (in nen grid oder so)? :gruebel:

mkinzler 27. Nov 2007 17:02

Re: ADO Verbindung zu Access + Abfrage machen
 
Zitat:

Jetzt nochmal ne Frage zu den Komponenten welche man braucht um Abfragen zu erstellen.
TADOQuery, TADOdataSet, TADOTable, ...
Zitat:

Wie kann ich denn ganz einfach mal meine bisherige Tabelle ausgeben lassen (in nen grid oder so)? Grübelnd...
Genauso wie bei der BDE. TDataSource mit dem DataSet verbinden.

eXpli 27. Nov 2007 17:34

Re: ADO Verbindung zu Access + Abfrage machen
 
OK!

Ich habe jetzt (nicht mehr und nicht weniger)

- TADOConnection
- TADOQuery
- TADODataSet
- TDataSource

Habe auch alles miteinander verbunden. Wie kann ich jetzt in Delphi meine Tabellenstruktur anzeigen lassen?

Mit diesen Komponenten welche ich jetzt platziert habe kann ich ja nicht anzeigen lassen wie die struktur ist oder? Was muss ich machen um irgendwelche daten aus meiner DB zb in ein DBGrid anzeigen zu lassen?

:?:

Cronen 27. Nov 2007 17:53

Re: ADO Verbindung zu Access + Abfrage machen
 
Versuchs doch mal mit den KADAO-Komponenten sind Freeware und ich denke völlig problemlos.
Einfach bei KADAODatabase die Eigenschaft Database mit der mdb-Datei belegen (in der IDE oder zur Laufzeit), Connected auf True
setzen Eine KADAOTable Komponente hinzufügen und die Eigenschaft Database auf die KADAODatabase setzen und die Tabelle auswählen.
Bei Abfragen verfahre ich so:
In Access die Abfage formulieren und überprüfen; dann als SQL-Text anzeigen lassen, Text kopieren und und in der KADAOTable-Komponente bei der Eigenschaft SQL einfügen.
Die Anzeige läuft dann wie bei BDE über eine TDatasource und die enstprechenden Komponenten (TDataGrid usw)

mkinzler 27. Nov 2007 18:21

Re: ADO Verbindung zu Access + Abfrage machen
 
Doppelklick auf DataSet

eXpli 27. Nov 2007 18:28

Re: ADO Verbindung zu Access + Abfrage machen
 
Danke für die Idee! Werd ich dann mal testen!

Was ich aber wissen wollte ist wenn ich dann ne abfrage gemacht habe, wie ich in Delphi ausgeben kann. Wie am besten! Ich hoffe ihr ihr versteht was ich meine.

Wie ich zb meine abfrage in ner tabelle ausgeben lassen kann?

Wie würdet ihr das schreiben um eine abfrage in ein DBGrid auszugehen?

eXpli 28. Nov 2007 19:58

Re: ADO Verbindung zu Access + Abfrage machen
 
Hat alles geklappt! Kann nun auf die Daten zugreifen.

Ich bin jetzt am überlegen wie ich am besten die Daten in den Tabellen, Darstellen kann. Noch ne kleine Erläuterung zu meinen Tabellen und was ich damit vor habe:

Das ganze soll ein kleines aber feines Programm werden womit man Vokabeln oder so trainieren kann. Habe 2 Tabellen die ersten beinhaltet ID, Vokabel in Deutsch und Englisch und ne Kategorie. Die zweite Tabelle ist dann für die Kategorien (also ID, englische und deutsche Kategorie). Die Tabellen sind natürlich in relation gesetzt!

Jetzt habe ich vor zB alle deutschen Vokabeln untereinander anzeigen zu lassen. Daneben sollte dann ein bisschen Platz bleiben dass der Benutzer die englische Vokabel eintragen (durch raten oder wissen) kann.


Leider kenne ich mich in Delphi noch nicht so gut aus um zu wissen, wie ich das am besten darstellen kann! Wäre euch sehr dankbar wenn ihr tips geben könntet!

Danke :angel2:

Privateer3000 2. Dez 2007 20:51

Re: ADO Verbindung zu Access + Abfrage machen
 
Zitat:

Zitat von eXpli
OK!

Ich habe jetzt (nicht mehr und nicht weniger)

- TADOConnection
- TADOQuery
- TADODataSet
- TDataSource

Habe auch alles miteinander verbunden. Wie kann ich jetzt in Delphi meine Tabellenstruktur anzeigen lassen?

Mit diesen Komponenten welche ich jetzt platziert habe kann ich ja nicht anzeigen lassen wie die struktur ist oder? Was muss ich machen um irgendwelche daten aus meiner DB zb in ein DBGrid anzeigen zu lassen?

:?:

Hiho

wie genau müssen diese untereinander verbunden werden?
Ich hab es nicht geschafft die Daten azeigen zu lassen.
Verbindung steht...

mkinzler 2. Dez 2007 20:53

Re: ADO Verbindung zu Access + Abfrage machen
 
DataAware Kompo -> DataSource -> DataSet -> Connection

Privateer3000 2. Dez 2007 21:09

Re: ADO Verbindung zu Access + Abfrage machen
 
Danke,
muss im DBGrid die Spalten angegeben werden
oder werden die erzeugt?

mkinzler 2. Dez 2007 21:16

Re: ADO Verbindung zu Access + Abfrage machen
 
Wenn du nichts angibst, werden automatisch für alle Felder Spalten angelegt.

Privateer3000 2. Dez 2007 21:21

Re: ADO Verbindung zu Access + Abfrage machen
 
ok danke,

ich geb's auf. Bekomme nichts zu sehen :-(
Wahrscheinlich zu blöd dafür

mkinzler 2. Dez 2007 21:22

Re: ADO Verbindung zu Access + Abfrage machen
 
Poste am Besten mal deine Programm, dann können wir mal einen Blick drauf werfen.

Privateer3000 2. Dez 2007 21:42

Re: ADO Verbindung zu Access + Abfrage machen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ok danke,
ist quasi das Tut von dsdt.info

die mdb die dabei ist, ist eine Beispieldatei
aus access

mkinzler 2. Dez 2007 21:47

Re: ADO Verbindung zu Access + Abfrage machen
 
Öffne mal das DataSet. Was soll beim Klicjem des Buttons passieren? .ExexSQL öffnet keine Datenmenge.

Privateer3000 2. Dez 2007 22:20

Re: ADO Verbindung zu Access + Abfrage machen
 
Zugegeben ist alles ein wenig verbastelt
durch das viele herumprobieren.
Der Button war nur der Versuch eine Abfrage
zu starten. Aber das Grid soll auch beim
Formstart Daten einlesen.

Dataset öffnen?

Vielen Dank für Deine Mühe

mkinzler 2. Dez 2007 22:23

Re: ADO Verbindung zu Access + Abfrage machen
 
Delphi-Quellcode:
procedure TForm1.Verbinden1Click(Sender: TObject);
begin
if DataModule2.Opendatabase=true then
begin
    Messagedlg('Konnte erfolgreich geöffnet werden',mtInformation,[mbok],0);
    ds1.Open;
end
else
    Messagedlg('Konnte nicht geöffnet werden',mtError,[mbok],0);
end;

Privateer3000 3. Dez 2007 07:13

Re: ADO Verbindung zu Access + Abfrage machen
 
Danke,
aber dadurch wird doch geöffnet?!
Was ich auch versucht habe...
doch das DBGrid bleibt leer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz