2016-08-05 2 views
1

Ich benutze SQL in MS Access. Ich bekomme diese Fehlermeldung:Wie erstellt man diese beiden Tabellen in einem SQL-Befehl im Zugriff?

Syntax error in create table statement⁠⁠⁠⁠

Dies ist mein Code:

CREATE TABLE school 
(
    ID INTEGER CONSTRAINT ID PRIMARY KEY, 
    KenyeNo INTEGER 
); 

CREATE TABLE student 
(
    ID_st INTEGER CONSTRAINT ID_st PRIMARY KEY, 
    classNo INTEGER 
); 

Wie diese beiden Tabellen in einer SQL-Befehl in MS Access erstellen?

+1

hilft die Antwort? –

+1

Ich nehme an, Sie benötigen einen Befehl pro Tabelle erstellen. – jarlh

+0

es funktioniert nicht – Keedy

Antwort

2

Mit dem Befehl DoCmd.RunSQL können Sie nur eine Abfrage ausführen. Sie können jedoch eine einfache Funktion oder Prozedur schreiben, in der Sie zwei Befehle für jeweils eine CREATE TABLE Abfrage haben.

Try This, ich habe getestet und es funktioniert:

DoCmd.RunSQL "CREATE TABLE school (ID INT PRIMARY KEY, KenyeNo INT)" 
DoCmd.RunSQL "CREATE TABLE student(ID_st INT PRIMARY KEY, classNo INT)" 
+0

Sind das nicht zwei Befehle? – jarlh

+3

Ja, ich habe diesen Teil verpasst. Übrigens erlaubt Access nur eine SQL-Anweisung pro Abfrage. –

+0

funktioniert nicht – Keedy

0

Ich bin nicht sicher, es in einer Zeile von SQL zu tun, aber das ist, was ich für die Herstellung einer Tabelle vorschlagen, mit SQL , in MS Access. Ich habe es ausprobiert und es schien zu funktionieren, wie ich denke, dass du es willst.

Der wesentliche Unterschied zwischen dem, was du getan hast, ist, dass ich den zweiten Verweis auf das Feld ‚ID‘ mit MyFieldConstraint, wie im letzten Beispiel auf dieser Microsoft-Seite ersetzt: https://msdn.microsoft.com/en-us/library/bb177893(v=office.12).aspx

Set dbs = CurrentDb 

dbs.Execute "CREATE TABLE school " _ 
    & "(ID INTEGER CONSTRAINT MyFieldConstraint PRIMARY KEY, " _ 
    & "KenyeNo INTEGER);" 

dbs.Execute "CREATE TABLE student " _ 
    & "(Id_st INTEGER CONSTRAINT MyFieldConstraint PRIMARY KEY, " _ 
    & "classNo INTEGER);" 

dbs.Close 

Hoffentlich hilft!

Verwandte Themen