![]() |
Datenbank: Access • Version: 2ßß3 • Zugriff über: ?
"Einfacher" Zugriff auf Access DB
Salü....
ich suche verzweifelt nach einem einfachen Code Bsp um auf eine Access DB zu zugreifen. Das Code Bsp sololte enthalten. - Zugriff auf die Access DB - Zugriff auf eine bestimmte Tabelle - Zugriff auf Datensatz 2 - Auslesen Tabelle X, Spalte "Name", Zeile 2 - Datensatz ändern Tabelle X, Spalte "Name", Zeile 2 - DB schließen Und das am besten "Handisch" - also ohne irgendwelche Controlls, wenn das denn geht. Im I-Net habe ich einige Bsp gefunden, werde daraus aber absolut nicht schlau, trotz Ausprobieren. |
Re: "Einfacher" Zugriff auf Access DB
|
Re: "Einfacher" Zugriff auf Access DB
Hi
Ich weiß nicht, ob du die Datenbankmodule und Objecte z.B.TQuery etc. hast. Wenn ja, ist's einfach.Unter Datei Neu holst du dir ein Datenmodul und setzt eine Query und ein UpdateSQL hinein. Üer den Menüpunkt Datenbank-> Explorer gehst du auf Object-> neu und generiers einen Datenbank treiber "Microsoft Access". Darin gibst du die Access-Datenbank an und speicherst zum Schluß diesen Treiber ab. Nun kannst du diesen Treiber der Query zuweisen. Um eine Tabelle auszuwählen kannst du nun mit der rechten Maustast in die Query gehen und den SQL-Builder auswählen. Anschließend die gewünschte Tabelle aussuchen und alle Felder anwählen (*) und fertig. Nun noch den Parameter auf CachedUpdates auf true und in Updateobject das UpdateSQL-Object eintragen. Im UpdateSQL -Object nun auch mit rechter Maustaste den UpdateSQL-Editor aufrufen,, die Tabelle auswählen, das Indexfeld markieren und anschließend die SQL erzeugen. Danach sollte dem Zugriff auf Access-Tabellen nix mehr im Weg stehen. Gruß oldmax |
Re: "Einfacher" Zugriff auf Access DB
Hallo , ich habe das gleiche Problem
ich habe alles so gemacht und dann kommt aber immer die Abfrage nach DATENBANK Loggin ich verwende access 2003, habe die Datenbank dort selbst erstellt und kein Passwort oder ähnl. vergeben. Weiss jemand, woran das liegen kann |
Re: "Einfacher" Zugriff auf Access DB
Zitat:
Delphi-Quellcode:
das ist einfach, oder ?
ADOConnection1.LoginPrompt := False;
|
Re: "Einfacher" Zugriff auf Access DB
Zitat:
---- Also, ich bin jetzt auf folgendem Stand. Ich habe ein Form mit 2 Buttons. Hier kann ich den Connect zur DB machen und den Disconnect. Klappt wunderbar. Ich bin mit der DB verbunden. Und zwar über eine zweite Unit - ich habe über Datei / Neu / weitere ein DataModule eingebunden. Dann habe ich auf das DataModule ein ADOConnection Control gezogen und damit die Verbinbung zur Access DB gemacht. Dann habe ich das DataModule(Unit2) in meine Unit1 eingebunden. Wie gesagt, klappt hervorragend! So und nun stocke ich, obwohl ich schon alles ausprobiert habe. Und hier wäre eine Hilfe Eurer seits echt super - wie gesagt, habe alles ausprobiert :-) Die Verbindung zur DB steht also. Ich habe nun vor, mir 3 Textfelder (Edit) auf mein Form zu ziehen. Dazu gibt es ja extra im Register DataControlls das DBEdit Control. So - aber nun muss ich dieses DBEdit ja irgendwie mit der ADOConnection in Verbidnung bekommen. So aus der .Net Welt kenne ich da so Controlls wie das DataSet, DataSource, DataTable usw. Aber ich bekomme einfach keine schlüssige Verbindung hin. Meine Frage daher - wie lautet die Verbindungskette von ADOConnection bis zum DBEdit? ADOConnections -------------------> DBEdit ..... was fehlt dazwischen. ADOConnections -------------------> DBNavigator ..... was muss hier dazwischen. Danke für Eure Hilfe. |
Re: "Einfacher" Zugriff auf Access DB
Hallo!
Hier die Übersicht: AdoConnection -> AdoQuery/AdoTable -> Datasource -> Steuerelemente wie TDBGrid/TDBedit etc.. Cu, Udontknow |
Re: "Einfacher" Zugriff auf Access DB
Zitat:
Dann ist das auch die Reihenfolge aller anderen DB wahrscheinlich..... SQL etc. Dann lege ich gleich mal los und berichte! |
Re: "Einfacher" Zugriff auf Access DB
Ok.... es geht nicht. ist meiner Ansicht auch logisch, weil meiner Logik nach noch etwas fehlt!
Also, ich habe folgendes gemacht. 1. ADOConnection genommen, auf das Form gezogen und die Verbindung zur Access DB hergestellt. Dazu habe ich den Jet Treiber genommen (4.0) zu einer Access 2003 DB im Access 2000 Format. Die DB habe ich herausgesucht (Pfad) und die Verbindung getestet. Steht! 2. Dann habe ich die ADOTable genommen, aufs Form gezogen und unter "CONNECTION" die o.g. Quelle ADOConnection ausgewählt. 3. Dann habe ich das DataSet genommen, aufs Form gezogen und bei Connection wiederum die ADOTable genommen. 4. Nun habe ich das Grid genommen und habe als Quelle wiederum bei Connection das DataSet genommen. Und siehe da - keine Daten :-( Scheint mir aber logisch - die DB habe ich, aber wo suche ich heraus, welche Tabelle aus meiner Access DB genommen werden kann??? ![]() |
Re: "Einfacher" Zugriff auf Access DB
Bei der AdoTable-Komponente gibt es die Eigenschaft TableName. Mit Dataset meintest du wohl Datasource, ja?
Nicht das Aktivieren der AdoTable vergessen... Cu, Udontknow |
Re: "Einfacher" Zugriff auf Access DB
Gefunden! Oder.....? Ich muss bei der DataSource die Tabelle der DB aussuchen!
Und zwar unter dem Eigenschaftenpunkt "TableName" kann ich die Tabelle der DB aussuchen. Denke ich mir. Aber! Sobald ich das mache, kann ich das Programm nicht mehr starten :-( ![]() Wieso dass denn auf einmal?????? |
Re: "Einfacher" Zugriff auf Access DB
Hmmm, das hat, glaube ich, nichts mit Acess oder so zu tun. Speichere alles, und schliesse das gesamte Projekt mal. Neu öffnen und noch einmal probieren. Habe ich bei BDS 2006 manchmal auch, ist nur sporadisch.
Cu, Udontknow |
Re: "Einfacher" Zugriff auf Access DB
Zitat:
mensch, dass muss man ja mal wissen! Die ADOTable aktivieren! Jösses :-) So, es geht! Dank u.a. auch Deiner tatkräftigen Hilfe! Danke.... jetzt werde ich den DBNavigator noch ausprobieren. Frage vorab. Wenn ich jetzt Daten ändere - werden die auch in der Access DB SYNCHRON geändert - oder brauch ich einen Update Befehl (wie in .Net)? |
Re: "Einfacher" Zugriff auf Access DB
Da fragst du mich jetzt was, ich arbeite normalerweise nur mit Clientdatasets bzw. Simpledatasets. Schau mal in die OH, da ist´s doch bestimmt schnell zu finden...
|
Re: "Einfacher" Zugriff auf Access DB
Zitat:
bewirkt da nichts. Es muss also ein Update Befehl geben. Wenn das jemand anders weiß, super! Ansonsten ich geh mal natürlich auf die Suche. Und an Dich nochmals mein Dank - jetzt geht das suuuper! Alles funktioniert. Muss man aber erst mal drauf kommen noch mit dem ADOTable aktivieren *g*. Danke Dir! Eine Frage noch - was ist denn der Unterschied zwischen der ADOTable und der ADOQuery - Abfrage? |
Re: "Einfacher" Zugriff auf Access DB
Was du mit dem "Bestätigen"-Button machst, ist wohl die Post-Operation (Methode vom Dataset), die die Änderungen eines Datensatzes dann an die DB weiterreicht.
Bei manchen Datasets reicht das aber für ein Update in der DB noch nicht, bei Clientdatasets muss/kann man z.B. nach Bearbeitung von 50 verschiedenen Datensätzen ApplyUpdates aufrufen, die Änderungen der 50 Records werden dann, und erst dann, in die Datenbank geschrieben. Cu, Udontknow |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 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 by Thomas Breitkreuz