2017-12-14 13 views
0

안녕하세요. 현재 제공되는 라인을 사용하여 양식에 입력 한 값 몇 개를 추가하려고합니다.양식에있는 단추를 사용하여 Microsoft Access 데이터베이스에 값을 입력하십시오.

Private Sub btnInsert_Click() 
    DoCmd.RunSQL "INSERT INTO Band (BandID, BandName, BandAddress, ContactName, PhoneNumber)" 
End Sub 

3431 런타임 오류가 발생합니다. 내가 여기서 엉망이되는 곳?

+0

당신이 인터넷 검색을 한 후 어떤 오류가 있습니까? INSERT 문의 형식과 관련하여 수행 한 연구는 무엇입니까? – nicomp

+0

나는 다른 stackoverflow 게시물을 살펴 봤는데 그 오류가 가장 어딘가에 DoCmd.RunSQL 섹션에서 어딘가에있는 것으로 밝혀졌습니다. 문제는 이것이 syntex에 초점을 맞추고 여전히 구문을 남기려고한다는 것입니다 ... – Jonhalo

+0

아니요, 그게 그거 아니야. 귀하의 문제는 RunSQL이 아닙니다. 어쨌든 Access 코드에는 없습니다. – nicomp

답변

0

자동 증가 필드를 포함 할 필요가 없습니다. 그러나 모든 필드 값을 삽입하지 않으면 필드를 지정해야합니다.

INSERT INTO Band (fieldName1, fieldName2, fieldName3) 
VALUES (1, 'DEF', 'ABC') 

대안 :

액세스에서
sql ="INSERT INTO Band (fieldName1, fieldName2, fieldName3) " & _ 
"VALUES (1, 'DEF', 'ABC') " & _ 
" 
currentDb.execute sql 
1

'값'이라는 용어를 사용해야합니다. 모든 필드를 포함하는 경우

: 당신은 모든 필드를 추가하지 않는 경우

INSERT INTO Band Values BandID, BandName, BandAddress, ContactName, PhoneNumber 

INSERT INTO Band (BandID, BandName, BandAddress) 
VALUES (1, 'blah', 'blahblah') 

먼저 필드를 지정을 당신이 경우 ID 필드를 추가 할 필요가 있다고 생각하지 않습니다 자동 증분 ID입니다.

0

이 양식이 가장 좋은 테이블에 바인딩 - 다음 필요없는 추가 쿼리가 없습니다. 양식에 입력하면 표에 입력됩니다.

언 바운드 형식을 사용해야하는 강력한 이유가있는 경우 상황이 더욱 복잡해 지므로 먼저 이러한 값을 선택 쿼리에 설정해야 레코드 집합으로 존재하게됩니다. 그런 다음 그것을 추가 쿼리의 시작점으로 사용하십시오 ....하지만 제가 말했듯이 - 이것은 일반적으로 갈 방법이 아닙니다 .....