![]() |
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 |
Re: ADO Verbindung zu Access + Abfrage machen
|
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. |
Re: ADO Verbindung zu Access + Abfrage machen
Steht doch dort alles.
|
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... |
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.
|
Re: ADO Verbindung zu Access + Abfrage machen
? und nun ?
|
Re: ADO Verbindung zu Access + Abfrage machen
Dein BDE-Wissen ist übertragbar
|
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; |
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: |
Re: ADO Verbindung zu Access + Abfrage machen
Zitat:
Zitat:
|
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? :?: |
Re: ADO Verbindung zu Access + Abfrage machen
Versuchs doch mal mit den
![]() 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) |
Re: ADO Verbindung zu Access + Abfrage machen
Doppelklick auf DataSet
|
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? |
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: |
Re: ADO Verbindung zu Access + Abfrage machen
Zitat:
wie genau müssen diese untereinander verbunden werden? Ich hab es nicht geschafft die Daten azeigen zu lassen. Verbindung steht... |
Re: ADO Verbindung zu Access + Abfrage machen
DataAware Kompo -> DataSource -> DataSet -> Connection
|
Re: ADO Verbindung zu Access + Abfrage machen
Danke,
muss im DBGrid die Spalten angegeben werden oder werden die erzeugt? |
Re: ADO Verbindung zu Access + Abfrage machen
Wenn du nichts angibst, werden automatisch für alle Felder Spalten angelegt.
|
Re: ADO Verbindung zu Access + Abfrage machen
ok danke,
ich geb's auf. Bekomme nichts zu sehen :-( Wahrscheinlich zu blöd dafür |
Re: ADO Verbindung zu Access + Abfrage machen
Poste am Besten mal deine Programm, dann können wir mal einen Blick drauf werfen.
|
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 |
Re: ADO Verbindung zu Access + Abfrage machen
Öffne mal das DataSet. Was soll beim Klicjem des Buttons passieren? .ExexSQL öffnet keine Datenmenge.
|
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 |
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; |
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 18:18 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