Autor Beitrag
HSchaffi
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Mi 12.03.03 15:50 
Hallo,

mein Programm greift über die ADO-Komponenten auf eine Accessdatenbank zu. Ich möchte jetzt zur Laufzeit noch eine Tabelle hinzufügen. Geht das?
Kann mir jemand ein Beispiel schicken.

Danke Heidi
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 12.03.03 17:27 
Hi und willkommen,

mache das doch einfach über ein SQL-Skript in der TQuery-Komponente mit dem SQL - Befehl "CREATE TABLE".
HSchaffi Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Do 13.03.03 13:25 
Die Tabelle über die Query erstellen geht, aber ich möchte in die erste Spalte eine Autonummer haben.
Ich habe es schon so probiert:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Create Table lblLog 
                     (LOG_LFDNR integer not null,
                      LOG_DATEINAME varchar(30),
                      LOG_DATUM varchar(25),
                      LOG_ERROR char(1),
                      LOG_MESSAGE varchar(60),
                      primary key (LOG_LFDNR)
                     );

create generator gen_LOG_LFDNR;
set generator gen_LOG_LFDNR to 1;

set term ^;
create trigger tblLog_b_i for tblLog before insert as
begin
new.LOG_LFDNR = gen_id(gen_LOG_LFDNR,1);
end^
set term ;^



Aber das geht nicht bringt immer Syntaxfehler. Sieht jemand meinen Fehler? oder geht diese Variante überhaupt bei einer Accessdatenbank nicht?

MfG
Heidi
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Do 13.03.03 14:43 
Probiere mal folgende Script :

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Create Table lblLog 
                     (LOG_LFDNR integer AUTOINC not null, 
                      LOG_DATEINAME varchar(30), 
                      LOG_DATUM varchar(25), 
                      LOG_ERROR char(1), 
                      LOG_MESSAGE varchar(60), 
                      primary key (LOG_LFDNR) 
                     );


Oder statt autoinc schreibste Autoincrement rein.
HSchaffi Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Do 13.03.03 14:48 
Geht beides nicht - Syntaxfehler.

Heidi
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Do 13.03.03 15:11 
Probiere es mal so, direkt im Access, wenn das funktioniert, musst Du das nämlich aufdröseln, Du kannst nicht das komplette Script in denSQL-Text einer Query reinschreiben.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
create generator gen_LOG_LFDNR; 
set generator gen_LOG_LFDNR to 1; 

Create Table lblLog 
                     (LOG_LFDNR integer not null, 
                      LOG_DATEINAME varchar(30), 
                      LOG_DATUM varchar(25), 
                      LOG_ERROR char(1), 
                      LOG_MESSAGE varchar(60), 
                      primary key (LOG_LFDNR) 
                     ); 

create trigger tblLog_b_i for tblLog before insert as 
begin 
new.LOG_LFDNR = gen_id(gen_LOG_LFDNR,1); 
end
HSchaffi Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Do 13.03.03 15:55 
Ich hatte es auch nicht zusammen in der query. Ich habe zuerst die Tabelle angelegt und dann den Generator und Trigger . Aber beim Generator geht das nicht (da springt er aus meinen TRY-Block raus), wahrscheinlich geht das nicht bei dei ADO-Komponenten, über die BDE habe ich das schon so gemacht.
Versuche einen anderen Weg zu finden.

_________________
Gruss HSchaffi
Gegenseitige Achtung ist wie ein Lächeln - sie kostet nichts, und jeder freut sich darüber. ( Vagner Fernando Lobosco )
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Fr 14.03.03 20:04 
Hi,
such dir die Kadao-Kompos, die sind frei und da geht noch einiges mehr, was mit Ado nur via umständlicher Tricks möglich ist.
(ganz wichtig z.b. wenn man die MDB-Datei mal aufräumen möchte).
Grüß
MSCH
HSchaffi Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Fr 14.03.03 20:09 
Besten Dank,werde gleich mal suchen.

_________________
Gruss HSchaffi
Gegenseitige Achtung ist wie ein Lächeln - sie kostet nichts, und jeder freut sich darüber. ( Vagner Fernando Lobosco )