![]() |
Datenbank: Microsoft Access • Version: 2003 • Zugriff über: Netzwerk - ADOConnection
Access - Mit SQL eine neue Spalte hinzufügen.
Hallo alle zusammen.
Ich bin derzeit dabei ein Registrierprogramm zu schreiben. Mein Programm greift mit hilfe einer ADOConnection über das Netzwerk auf die Datenbank zu. Es soll während der Laufzeit eine Neue Spalte in die Datenbank hinzufügen. Ich habe versucht es mit einer ADOQuery und einem SQL befehl zu lösen aber das Programm gibt mir immer folgende Fehlermeldung: "[...] ist eine Exceptiond er Klasse EOleException aufgetreten. Meldung:'Tabelle/Einschränkung kann nciht gefunden werden'.[...]" Mein Quelltext sieht folgendermaßen aus:
Delphi-Quellcode:
Kann mir vielleicht irgend jemand helfen? Vielen Dank.
procedure TFRegistration.Button1Click(Sender: TObject);
begin Query1.SQl.add('ALTER table TDatabase Add Spalte1 char(50)'); //Query1 = ADOQuery; TDatabase = Tabellenname Query1.Open; end; |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Wenn ich
![]() |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
So hab ich es gemacht...
Delphi-Quellcode:
und Char als Felddatentyp is richtig.
ALTER TABLE "Tabellenname"
ADD COLUMN "Feldname" "Feldtyp" edit: Ohne Anführungszeichen natürlich |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Zitat:
|
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Vielen Dank für die schnelle Antwort. Leider geht es immer noch nicht. Das Programm gibt mir immer die gleiche Fehlermeldung. Könnte vielleicht etwas mit der ADOQuery oder der ADOConnection nicht stimmen? Es ist das erste mal, dass ich diese benütze.
|
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Hallo,
bitte ändere zuerst einmal
Delphi-Quellcode:
in
Query1.Open;
Delphi-Quellcode:
Open will eine Ergebnismenge zurückliefern, die bei einem Alter-Table natürlich nicht vorhanden ist.
Query1.ExecSQL;
Funktionieren Select..., dann sind ADOConnection und ADOQuery in Ordnung. Ansonsten: Zeig' uns bitte mal die Tabellenstruktur, gibt es Indexe, Constraints..., die von der Änderung betroffen sein könnten? Die Fehlermeldung könnte darauf hinweisen, dass TDatabase (die Tabelle) nicht gefunden wird. Ist sie wirklich vorhanden? sprich: Liefert ein
SQL-Code:
über die ADOQuery ein Ergebnis?
Select Count(*) from TDatabase
Muss der Tabellenname eventuell in " oder ' oder ` oder ´ oder [] gesteckt werden, da weiß ich bei Access nie, was richtig ist. |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Zitat:
SQL-Code:
und die Query führe ich dann über ein einfaches ExecSQL aus!
Alter Table T_Vorgang
Add Column PeriodenVerbrauch Float Wie nahpets schon sagte, ist die Tabelle überhaupt vorhanden?? |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Vielen dank für die Antwort. Ja die Tabelle existiert. Das Programm greift in anderen Operationen auf sie zu, jedoch nicht mit SQL. Ich hatte bisher leider noc keine Zeit es aus zu probieren, aber ich werde es so bald wie möglich testen, nochmal vielen Dank.
Ps.: Gibt es eigentlich auch noch eine andere möglichkeit, außer SQL, während der Laufzeit eine neue Spalte zu erstellen? |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
Zitat:
![]() |
Re: Access - Mit SQL eine neue Spalte hinzufügen.
So, jetzt habe ich es geschafft. Ist ein peinlicher fehler. Der Quellcode stimmt...Jedoch ist 'TDatabase' der Tabellenname der ADOTable in Delphi aber der Quellcode benötigt den Namen der Tabelle in Access. Vielen Dank für all die Hilfe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 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