2017-12-06 7 views
0

내 프런트 엔드 Access 2016 데이터베이스의 하위 폼에있는 확인란에 VBA 코드를 추가해야합니다.MS Access 기본 폼에서 TempVar을 찾아 하위 폼에 연결된 테이블에 작성

목표는 기본 폼에있는 텍스트 상자에 포함 된 값을 테이블에 삽입하는 것입니다.

지금까지 내가 수행 한 단계는 다음과 같습니다

  1. 하위 폼에있는 확인란을 클릭;
  2. 임시 변수를 만듭니다.
  3. 임시 변수를 관련 테이블에 삽입하십시오.
  4. 다음 항목으로 이동하십시오.

코드는 다음

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 문을 추가 할 수 있습니까?

+0

Execute 식에 불필요한 아포스트로피가 있습니다. 매년 테이블이 있습니까? 1 테이블이어야합니다. – June7

+0

데이터베이스는 2017 년 1 월 1 일부터 시작하는 데이터 만 수집합니다. 특정 테이블을 사용하여 구매 주문 테이블에 나열된 품목을 저장하고 있습니다. 이 양식의 목적은 사용자가 하나의 샘플에 많은 항목을 할당하도록하는 것입니다. –

+0

'같은 행에 레코드 추가'란 무엇을 의미합니까? WHERE 절은 INSERT 조치에 대해 의미가 없습니다. 양식과 하위 양식은 어떤 테이블에 바인딩됩니까? INSERT 작업이 필요한 이유가 무엇입니까? – June7

답변

0

그냥 일반적인 VBA 변수가 아니거나 컨트롤을 참조해야하는 이유는 무엇입니까? 코드는 기본 양식의 하위 양식 및 필드/제어 뒤에 있습니까? 시도 :

CurrentDb.Execute "INSERT INTO DB_Offerte2017([NumeroCampione]) VALUES (" & Me.Parent.SampleNo & ")", dbFailOnError

+0

우선, 답변 해 주셔서 감사합니다! 예, 코드는 "AssegnatoCampione"라는 체크 박스에 지정됩니다. 제어 소스는 DB_Offerte2017 테이블에있는 같은 방법으로 명명 된 YES/NO 필드 ("AssegnatoCampione")입니다. 제안한 솔루션을 시도했지만 나에게도 같은 오류 메시지가 표시됩니다. 내 TempVar 명령에 문제가 있다고 생각합니다. –

+0

텍스트 구분 기호에 대한 조정 작업을위한 코드가 있습니다. – June7