![]() |
Datenbank: Access • Zugriff über: DAO
Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle ein
Kann mir bitte jemand helfen!
ich muss mit Delphi zur Laufzeit ein Feld in eine Accesstabelle hinzufügen. Habe aber gar keinen Plan wie das funktioniert. Ich greife mittels DAO auf die Accessdatenbank zu und sprecche die jeweiligen Tabellen mit einen Dataset an. Vielen Dank vorab! |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Folgende SQL Anweisung absetzen:
SQL-Code:
ALTER TABLE MeineTabelle ADD COLUMN NeuesFeld varchar(50)
![]() |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Hallo!
vielen Dank für die Antwort. Ich weis nun, das ich ein SQL-Befehl ausführen muss, um ein neues Feld einzufügen. Aber wie? Zur Laufzeit verfüge ich nur über ein TADODataset. Bitte helft mir! Vielen Dank! |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Delphi-Quellcode:
AdoDataset1.CommandText := 'ALTER TABLE MeineTabelle ADD COLUMN NeuesFeld varchar(50)';
AdoDataset1.Execute; // könnte auch ExecSQL heisen; bitte in Hilfe nachschauen |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Hi,
vielen Dank für die rasche Antwort, aber funcioniert nicht. Procedure SetNewFiled(aConnection: TADOConnection; TableName, FieldName: String); begin ADOQuery.Connection := aConnection; ADOQuery.SQL.Text := 'ALTER TABLE ' + TableName + 'ADD COLUMN ' + FieldName +' varchar(200)'; ADOQuery.ExecSQL; end; Bei ExecSQL kommmt folgender Fehler: Exception EOleException: Syntaxfehler in ALTER TABLE-Anweisung Wer kann bitte helfen! |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Delphi-Quellcode:
ADOQuery.SQL.Text := 'ALTER TABLE ' + TableName + ' ADD COLUMN ' + FieldName +' varchar(200)';
^ |
Re: Wie füge ich zur Laufzeit ein Feld in eine Accesstabelle
Hi,
vielen Dank! Jetzt funktioniert es. procedure SetNewFiled(aConnection: TADOConnection; TableName, FieldName: String); var ADOQuery: TADOQuery; begin with ADOQuery.Create(nil) do try ConnectionString := GetDSN; Connection := aConnection; SQL.Text := 'ALTER TABLE ' + TableName + ' ADD COLUMN ' + FieldName +' varchar(200)'; ExecSQL; finally Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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-2025 by Thomas Breitkreuz