![]() |
Zugriff von Delphi 6 auf eine Access DB
Hallo!
Ich arbeite gerade an einem Projekt, in dem man die Berechnungsstruktur von außen ohne Delphi verändern kann. Im Klartext heißt das also: Das Programm besitzt ein Edit-Fenster, indem man das, was gesucht wird, eingibt. Beispiel die Kraft F: If Eingabe.text='F' then F:= <MSAccess-Datenbank, erste Reihe, 2. Stelle>; <--Hier ist z.B. die Formel von F in einer DB abgelegt. Wie heißt dazu der Befehl, um auf die Access Datenbank (hier: 1.Reihe, 2. Stelle, ID-Reihe nicht mitgezählt) zuzugreifen? Ich bin neu in Delphi, habe aber gehört, dass das irgendwie mit ADO gehen soll. Welche Befehle mein Script dann enthalten muss das müsstet ihr mir sagen. Ich danke für Vorschläge. H.D.K. :cyclops: |
Re: Zugriff von Delphi 6 auf eine Access DB
Hai handoki
ersteinmal : "Herzlich Willkommen in der Delphi-PRAXIS" Das einfachste wäre es wohl Du erstellst dir eine Tabelle in etwas dieser Form:
Code:
Jetzt machst Du eine SQL-Abfrage:
ID Was Wie
1 F F=m*a 2 I I=U/R 3 U U=R*I
Delphi-Quellcode:
Jetzt kannst Du über das ADOQuery auf das Ergebniss zugreifen.
begin
with ADOQuery1 do begin Close; SQL.Text := 'SELECT * FROM tabelle WHERE Was=:was'; ParamByName ('was').AsString := Edit1.Text; Open; Label1.Caption := FieldByName ('Wie').AsString; Close; end; end; Wie man mit ADO auf eine Access-Datenbank zugreift sollte hier im Forum schon erklärt worden sein. Aber eine Frage bleibt: Was machst Du wenn es mehrer mögliche Formeln gibt (z.B. Die fläche einen Kreises zu berechnen) |
Re: Zugriff von Delphi 6 auf eine Access DB
Erstmal Danke für deine Hilfe.
Ich hab da noch ein paar Große Deklarierungsprobleme: Was ist adoquery1? Eine Funktion? Oder sowas? Wie ist es deklariert? -->Undefinierter Bezeichner "SQL" -->Undefinierter Bezeichner "ParambyName" -->Undefinierter Bezeichner "Open" -->Undefinierter Bezeichner "Close" -->Undefinierter Bezeichner "FieldbyName" -->Operator oder Semikolon fehlt. Wäre für Hilfe Dankbar. |
Re: Zugriff von Delphi 6 auf eine Access DB
Schaue Dir mal bei der Registerkarte ADO die beiden Komponenten ADOConnection und ADOQuery an.
Bei ADOConnction setzt Du "einfach" den ConnectionString. z.B.: Zitat:
|
Re: Zugriff von Delphi 6 auf eine Access DB
kann es sein, dass das mit den personal-versionen nicht geht (falls handoki so eine hat...)
|
Re: Zugriff von Delphi 6 auf eine Access DB
Nee, ich hab schon die Enterprise.
Ich stell mich nur einfach zu blöd an! :D Hier mein Quelltext (is nicht viel, musste auch schon ungefähr 10x neu anfangen):
Delphi-Quellcode:
Ich guck mir jetzt nochmal das mit ADO an. Weiß aber bestimmt im Endeffekt immer noch nicht, was ich da hinschreiben soll..
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFIndi = class(TForm) Eingabe1: TEdit; BGo: TButton; BQuit: TButton; procedure BGoClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FIndi: TFIndi; e, etha0, Pi, Mueh0, c, me, mp, mn, etharv, etharl, etharw: integer; implementation {$R *.dfm} procedure TFIndi.BGoClick(Sender: TObject); begin e:=1,602E-19; etha0:=8,85418782E-12; Pi:=3,141592654; Mueh0:=1,256637061E-06; c:=299791100; me:=9,10939E-31; mp:=1,6726E-27; mn:=1,6749E-27; etharv:=1; etharl:=1,0006; etharw:=81; if (Eingabe1.text:='F') then F:= end; end. Die Vars sind auch noch falsch deklariert... [edit=Sharky]Quote-Tags gegen Delphi-Tags getauscht. Mfg, Sharky[/edit] |
Re: Zugriff von Delphi 6 auf eine Access DB
(kleiner tipp am rande: so sachen wie "pi" kann man entweder aus der unit "math" übernehmen, oder auch konstanten (const) deklarieren, da so dinge wie pi oder µ0 sich nur relativ selten ändern)
|
Re: Zugriff von Delphi 6 auf eine Access DB
[Edit] probier das jetzt mal mit dem ADO Connectionstring aus...[/Edit]
|
Re: Zugriff von Delphi 6 auf eine Access DB
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ist mal ein ganz kleines Beispiel.
Einfach auf "Datenbank öffenen" klicken. Dann die Datei formeln.mdb auswählen. Danach kannst Du suchen. |
Re: Zugriff von Delphi 6 auf eine Access DB
Ein gutes Beispiel.
Ich hatte noch vergessen zu sagen, das mit der Formel, welche das Programm in der DB findet dann auch gerechnet werden sollte... Sorry... :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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