Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff von Delphi 6 auf eine Access DB (https://www.delphipraxis.net/22336-zugriff-von-delphi-6-auf-eine-access-db.html)

handoki 16. Mai 2004 11:04


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:

Sharky 16. Mai 2004 12:48

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:
ID  Was  Wie
1    F    F=m*a
2    I    I=U/R
3    U    U=R*I
Jetzt machst Du eine SQL-Abfrage:

Delphi-Quellcode:
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;
Jetzt kannst Du über das ADOQuery auf das Ergebniss zugreifen.
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)

handoki 16. Mai 2004 13:21

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.

Sharky 16. Mai 2004 13:31

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:

Zitat von ConnectionString
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\meineAccesDB.mdb;Persist Security Info=False

Und der Eigenschaft Connection der TADOQuery weisst Du dein TADOConnection zu.

nailor 16. Mai 2004 13:36

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...)

handoki 16. Mai 2004 13:39

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:
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.
Ich guck mir jetzt nochmal das mit ADO an. Weiß aber bestimmt im Endeffekt immer noch nicht, was ich da hinschreiben soll..
Die Vars sind auch noch falsch deklariert...

[edit=Sharky]Quote-Tags gegen Delphi-Tags getauscht. Mfg, Sharky[/edit]

nailor 16. Mai 2004 13:42

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)

handoki 16. Mai 2004 13:55

Re: Zugriff von Delphi 6 auf eine Access DB
 
[Edit] probier das jetzt mal mit dem ADO Connectionstring aus...[/Edit]

Sharky 16. Mai 2004 14:00

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.

handoki 16. Mai 2004 14:09

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 16:26 Uhr.
Seite 1 von 2  1 2      

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