2015-08-18 95 views
1

獲取最新的自動編號字段我有2個表:從另一個表

tblInvoice(InvoiceID(PK),發票)

tblLineItem(LineItemID(PK),InvoiceID)

我有2個形成「主菜單」和「商店」。在「主菜單」窗體中,當您單擊btnNext時,它將在tblInvoice中爲InvoiceID生成自動編號,然後轉到「Shop」窗體。在「商店」窗體上,我有一個名爲txtLineItem的文本框,我在其中輸入訂單項,當我單擊btnRecord時,我希望它使用tblInvoice中最新的InvoiceID。我不能讓btnRecord工作,我不太清楚如何獲取tblInvoice中最近的自動編號。任何幫助或建議都會很棒。提前致謝。

這裏是我的代碼btnRecord:

Private Sub btnRecord_Click() 
    DoCmd.SetWarnings False 
    Set Recordset = CurrentDb.OpenRecordset(Invoice) 
    InvoiceID = CLng(Recordset(InvoiceID)) 

    DoCOmd.RunSQL "INSERT INTO [tblLineItem] (InvoiceID) VALUES (' & Now(InvoiceID) & ')" 
    DoCmd.RunSQL "INSERT INTO [tblLineItem] (LineItemID) VALUES ('" & txtLineItem & "')" 
    DoCmd.SetWarnings True 
End Sub 

我還提供了下面的鏈接數據庫: https://drive.google.com/file/d/0Bye-M8FI1tRUdHU3QkxsUFhNNnc/view?usp=sharing

回答

1

有一個MAX功能,您可以使用。假設與autonumbers場名爲ID:

SELECT Max([ID]) FROM [Table] 
+0

這裏是我有什麼,但我不能得到它的工作:'DoCmd.RunSQL 「INSERT INTO [tblLineItem(LineItemID,InvoiceID)VALUES('」 &txtLineItem&「','SELECT Max([InvoiceID])FROM [tblInvoice]')」' –

+0

如果你想插入一個記錄,其中一個值是一個字符串,另一個來自另一個表,我不是確定該陳述的問題是什麼。你可能想等待有更多知識的人來回答。編輯:你可以看到這個例子:http://stackoverflow.com/questions/5907206/mysql-insert-into-tbl-select-from-another-table-and-some-default-values如果什麼給你帶來麻煩正在寫字符串本身,用正確的引號和所有這一切,我建議你寫一個字符串,debug.print它,當它是好的runSQL那個字符串。 –

+1

謝謝,在研究了您提供的配方後,我確實能夠將它運用到工作中! –