2012-04-23 2 views
4

기본 키 값 :캡처 나는 다음과 같은 코드를 사용하여 테이블에 레코드를 추가 해요

Dim rs1 As DAO.Recordset 
Set rs1 = CurrentDb.OpenRecordset("QUOTE-Run", dbOpenDynaset) 

rs1.AddNew 
rs1.Fields("[QuoteNumber]").value = [txtQuoteNumber].value 
rs1.Fields("[LeadTime]").value = [txtLeadTime].value 
rs1.Fields("[Qty]").value = [txtQty].value 
rs1.Fields("[Title]").value = [txtTitle].value 
rs1.Fields("[Date]").value = VBA.DateTime.Date 
rs1.Fields("[Time]").value = VBA.DateTime.Time 
rs1.Fields("[InitiatedBy]").value = Application.CurrentUser 
rs1.Fields("[IncompleteProblemNotes]").value = [txtIncompleteProblemNotes].value 
rs1.Fields("[CustomerNotes]").value = [txtCustomerNotes].value 
rs1.Fields("[Memo]").value = [txtMemo].value 
rs1.Fields("[Memo1]").value = [txtMemo1].value 
rs1.Fields("[PrefferedQuoteRunSelect]").value = [txtPrefferedQuoteRunSelect].value 
rs1.Fields("[CombinedRun]").value = [chkCombinedRun].value 
rs1.Update 

값을 가져옵니다 RunID라는 일련 번호 기본 키 필드가 기록을 작성. 그 값이 무엇인지 알 필요가있어서 나중에 코드에서 사용할 수 있습니다. 그 가치를 포착하는 가장 쉬운 방법은 무엇입니까? 난 당신이 RunID의 값이 변수를 선언하고 필드에 변수와 동일 그 기록을 업데이트하기 전에 설정되어 얻는을 위해 생각할 수있는

답변

3

가장 쉬운 방법. 이런 식으로 뭔가가 :

Dim rs1 As DAO.Recordset 
    Set rs1 = CurrentDb.OpenRecordset("QUOTE-Run", dbOpenDynaset) 
    Dim TempRunID As Long 

    rs1.AddNew 
    rs1.Fields("[QuoteNumber]").value = [txtQuoteNumber].value 
    rs1.Fields("[LeadTime]").value = [txtLeadTime].value 
    rs1.Fields("[Qty]").value = [txtQty].value 
    rs1.Fields("[Title]").value = [txtTitle].value 
    rs1.Fields("[Date]").value = VBA.DateTime.Date 
    rs1.Fields("[Time]").value = VBA.DateTime.Time 
    rs1.Fields("[InitiatedBy]").value = Application.CurrentUser 
    rs1.Fields("[IncompleteProblemNotes]").value = [txtIncompleteProblemNotes].value 
    rs1.Fields("[CustomerNotes]").value = [txtCustomerNotes].value 
    rs1.Fields("[Memo]").value = [txtMemo].value 
    rs1.Fields("[Memo1]").value = [txtMemo1].value 
    rs1.Fields("[PrefferedQuoteRunSelect]").value = [txtPrefferedQuoteRunSelect].value 
    rs1.Fields("[CombinedRun]").value = [chkCombinedRun].value 

    TempRunID = rs1.Fields("[RunID]").value 
    rs1.Update 
1

당신은 기능

SELECT LAST_INSERT_ID(); 
+0

이것은 MySQL의 함수를 사용하는 두 번째 쿼리를 실행할 수 있습니다. 백엔드가 MySQL 인 경우 ADODB 쿼리와 함께 사용할 수 있습니다. 백 엔드가 MS Access 테이블로 구성되어 있으면이 기능을 실행할 수 없습니다. –

관련 문제