Autor Beitrag
Arne Danikowski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Fr 28.03.08 17:20 
Ich bin dabei ein kleines Tool zu erstellen, mit dem man DBASE Dateien in Access Datenbanken importieren kann.

Über eine ViewList liste ich alle gefundenen Access Datenbanken aus. Nun möchte ich mit einem Doppelklick auf eine beliebig gefundenen Access Datenbank
die Connection zur Datenbank herstellen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.FoundFiles1DblClick(Sender: TObject);
begin
  suchverzeichnis:=DirectoryEdit2.text;
  ChDir(suchverzeichnis);

   if FoundFiles.Selected <> nil then
      begin
           with FoundFiles.Selected do
           accessdata:=FoundFiles.Selected.Caption;
           ADOConnection1.Connected:=false;
           ADOConnection1.ConnectionString :=
           'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+accessdata +';Persist Security Info=False';
           ADOConnection1.Connected:=true;
   end;



Die Variable accessdata scheint leer zu sein. Ist der obengenannte Code so OK?
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: So 30.03.08 14:23 
die with ... do zeile ist soweit ich sehe sinnfrei ;)

versuche doch mal, als Source den Pfad+AcessData anzugeben

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Arne Danikowski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Di 01.04.08 18:02 
Stimmt die with...do Zeile war völlig SINFREI :)
Kommt vom copy Paste hehe.

Aber ich konnte das Problem lösen, die Connection zur einer MDB ist nicht ganz so simpel wie ich gedacht hatte.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
  public
  function EditMeineAnwendungDSN(var DSN: string): Boolean;
  function GetMeineAnwendungDSN: string;
  function SetMeineAnwendungDSN(DSN: string): Boolean;

implementation

function TDataModule2.EditMeineAnwendungDSN(var DSN: string): Boolean;
begin
  EditMeineAnwendungDSN:=true;
  if ADOConnection1.Connected=true then
    if CloseDatabase=false then begin
      EditMeineAnwendungDSN:=false;
      exit;
    end;
  if EditConnectionString(ADOConnection1)=true then
    DSN:=ADOConnection1.ConnectionString
  else
    EditMeineAnwendungDSN:=false;
end;

function TDataModule2.GetMeineAnwendungDSN: string;
begin
  GetMeineAnwendungDSN:=ADOConnection1.ConnectionString;
end;

function TDataModule2.SetMeineAnwendungDSN(DSN: string): Boolean;
begin
  SetMeineAnwendungDSN:=true;
  if ADOConnection1.Connected=true then
    if CloseDatabase=false then begin
      SetMeineAnwendungDSN:=false;
      Exit;
    end;
  ADOConnection1.ConnectionString:=DSN;
end;


Damit habe ich das dann hinbekommen.