Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi neue Access DB erstellen (https://www.delphipraxis.net/64781-neue-access-db-erstellen.html)

ksh 8. Mär 2006 08:15

Datenbank: Access • Zugriff über: ADO

neue Access DB erstellen
 
nachdem ich allmählich verrückt werde hier mein Anliegen:

Access db einlesen ist kein Problem. Jetzt hab ich meine Tabelle im DBGrid angezeigt und muss noch Spalten hinzufügen und danach in eine NEUE Access DB einspeichern (Format *.mdb).

Wie mache ich das? :pale:

mkinzler 8. Mär 2006 08:26

Re: neue Access DB erstellen
 
Eine 2. ADOConnection zur 2. Tabelle anlegen. Daten von einem Query/Table (1. Connection) in Query7Table (2. Connection) übertragen.

Sharky 8. Mär 2006 08:26

Re: neue Access DB erstellen
 
Hai ksh,

eventuell ist dieser Beitrag für dich interessant.

ksh 8. Mär 2006 08:58

Re: neue Access DB erstellen
 
genau das richtige! danke! :-D

allerdings: ich erstelle eine neue mdb - und wie kann ich die Tabelle übergeben?

marabu 8. Mär 2006 09:02

Re: neue Access DB erstellen
 
Die Erzeugung einer neuen Datenbank aus einer Fachanwendung heraus ist sehr ungewöhnlich. Üblicherweise werden Datenbanken von einem Mitarbeiter mit speziellen Rechten (Datenbank-Administrator) angelegt. Es ist auch guter Stil diese Funktionalität in einem gesonderten Programm zur Verfügung zu stellen. Die Vermischung von beidem beobachte ich regelmäßig in Bereichen, in denen der Endbenutzer auch programmiert. Ist das denn hier zutreffend?

Grüße vom marabu

Sharky 8. Mär 2006 09:04

Re: neue Access DB erstellen
 
Zitat:

Zitat von ksh
...und wie kann ich die Tabelle übergeben?

Die musst Du dann noch erzeugen. Mike hat auf seiner HP auch dafür ein Beispiel

Phoenix 8. Mär 2006 09:05

Re: neue Access DB erstellen
 
Hier meine MakeAccessDb.dpr:

Delphi-Quellcode:
program MakeAccessDb;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ComObj,
  ActiveX,
  Variants;

function CreateAccessDatabase(FileName: string): string;
var
  cat: OLEVariant;
begin
  Result := '';
  try
    CoInitialize(nil);
    cat := CreateOleObject('ADOX.Catalog');
    cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';');
    cat := NULL;
  except
    on e: Exception do Result := e.message;
  end;
end;

begin
  WriteLn(CreateAccessDatabase(ParamStr(1)));

  { TODO -oUser -cConsole Main : Hier Code einfügen }
end.

ksh 8. Mär 2006 09:17

Re: neue Access DB erstellen
 
super! vielen vielen Dank! :spin2:

hatte das Beispiel nicht gesehen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.

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