2016-08-05 8 views
1

MS Access에서 SQL을 사용하고 있습니다. 이 오류를 얻을 :액세스에서 하나의 SQL 명령으로이 두 테이블을 만드는 방법은 무엇입니까?

Syntax error in create table statement⁠⁠⁠⁠

이 내 코드입니다 :

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

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

방법 MS Access에서 하나의 SQL 명령이 두 테이블을 만드는 방법?

+1

답변이 도움이됩니까? –

+1

create table마다 하나의 명령이 필요하다고 가정합니다. – jarlh

+0

작동하지 않습니다 – Keedy

답변

2

DoCmd.RunSQL 명령을 사용하면 하나의 쿼리 만 실행할 수 있습니다. 하나의 명령에 대해서 각각 CREATE TABLE 쿼리에 대해 두 개의 명령이있는 간단한 함수 나 프로 시저를 작성할 수 있습니다.

내가 테스트 한,이 시도하고 그것을 작동 :

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

두 명령이 맞습니까? – jarlh

+3

네, 그 부분을 놓쳤습니다. BTW, Access 쿼리 당 단 하나의 SQL 문을 허용합니다. –

+0

작동하지 않습니다. – Keedy

0

내가 SQL 한 줄에 그 일에 대해 잘 모르겠지만,이게 내가 SQL을 사용하여 테이블을 만들기위한 제안 것입니다 , MS Access에서. 나는 그것을 시험해 보았다. 그리고 그것이 당신이 그것을 원한다라고 생각하는 방법을 움직이는 것처럼 보였다.

당신이 무엇을하고 있는지의 주요 차이점은 내가이 Microsoft 페이지에서 마지막 예에서와 같이, MyFieldConstraint으로 필드 'ID'로, 제 2 기준을 대체한다는 것입니다 :

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 

https://msdn.microsoft.com/en-us/library/bb177893(v=office.12).aspx는 희망이 도움이!