내 프런트 엔드 Access 2016 데이터베이스의 하위 폼에있는 확인란에 VBA 코드를 추가해야합니다.MS Access 기본 폼에서 TempVar을 찾아 하위 폼에 연결된 테이블에 작성
목표는 기본 폼에있는 텍스트 상자에 포함 된 값을 테이블에 삽입하는 것입니다.
지금까지 내가 수행 한 단계는 다음과 같습니다
- 하위 폼에있는 확인란을 클릭;
- 임시 변수를 만듭니다.
- 임시 변수를 관련 테이블에 삽입하십시오.
- 다음 항목으로 이동하십시오.
코드는 다음
Option Compare Database
Private Sub AssegnatoCampione_Click()
'Create temporary variable and store the selected value
TempVars("NumeroCampione").Value = Forms!FormCampioni2.SampleNo.Value
'Write the value in the database
CurrentDb.Execute " INSERT INTO DB_Offerte2017 " _
& "([NumeroCampione]) VALUES " _
& "(" & TempVars![NumeroCampione] & ")" ', dbFailOnError
End Sub
내가 오류는 다음과 같습니다.
"Too few parameters. Expected 1."
변수가 올바르게 여부 저장되어 있는지 여부를 알 수있는 방법이 있습니까?
도움을 주셔서 대단히 감사합니다.
편집 1
보통, 그래서 에러가 텍스트 필드 인 ([NumeroCampione]) DB_Offerte2017 때문이라고 추측한다.
CurrentDb.Execute "INSERT INTO DB_Offerte2017 (NumeroCampione) VALUES ('" & Me.Parent.SampleNo & "')", dbFailOnError
이 방법은, 내가 체크 박스를 클릭 할 때마다, 새로운 기록 필드 "NumeroCampione"에서 테이블 "DB_Offerte2017"에 추가 :이 방법으로 코드를 수정했습니다.
그러나 해당 레코드를 확인란이있는 행에 추가해야합니다 (예 : ID = 2438 인 확인란 - DB_Offerte2017.NumeroCampione ID = 2438의 "SampleNo"값 추가).
코드에 where 문을 추가 할 수 있습니까?
Execute 식에 불필요한 아포스트로피가 있습니다. 매년 테이블이 있습니까? 1 테이블이어야합니다. – June7
데이터베이스는 2017 년 1 월 1 일부터 시작하는 데이터 만 수집합니다. 특정 테이블을 사용하여 구매 주문 테이블에 나열된 품목을 저장하고 있습니다. 이 양식의 목적은 사용자가 하나의 샘플에 많은 항목을 할당하도록하는 것입니다. –
'같은 행에 레코드 추가'란 무엇을 의미합니까? WHERE 절은 INSERT 조치에 대해 의미가 없습니다. 양식과 하위 양식은 어떤 테이블에 바인딩됩니까? INSERT 작업이 필요한 이유가 무엇입니까? – June7