2013-11-15 140 views
0

這是我第一個數據庫開發項目,我有點迷路。組合框的VBA輸入

我有一個組合框被掛鉤到一個獨特的地段/熱號的窗體。當我在組合框中輸入批號時,它會正確地從我的記錄中提取LotNumber。

我現在該如何操作VBA中的這條記錄?我需要能夠引用記錄的所有字段以及前一個記錄的所有字段來進行計算。我可以編程,但我根本不知道語法。

預先感謝您!

回答

0

我對「以前的記錄」的含義並不十分清楚。要訪問基於所選LotNumber所有記錄,你會做這樣的事情:

Dim db as Database 
Dim rec as Recordset 

Set db = CurrentDB 
Set rec = db.OpenRecordset ("Select * from MyTable where LotNumber = '" & Me.ComboBox.Value & "'") 

REC現在擁有的所有記錄LotNumber是無論是在你的組合中選擇一個數據集。根據您想要如何選擇「此前的紀錄」,你總是可以建立另一個記錄,如:

Set rec2 = db.OpenRecordset ("Select * from MyTable where Whatever = '" & SomeValue & "'") 

如果你立足其關閉LotNumber減1,它會是這樣的:

Set rec2 = db.OpenRecordset ("Select * from MyTable where LotNumber = '" & (Me.ComboBox.Value) - 1 & "'") 

然後你說引用它們:

MyVariable1 = rec("WhateverFieldName") 
MyVariable2 = rec("SomeOtherFieldName") 
MyVariable3 = rec2("WhateverFieldName") 
MyVariable4 = rec2("SomeOtherFieldName") 

應當注意的是,如果您的LotNumber是整數數據類型,你需要刪除的WHERE子句中的單引號。

+0

以前的記錄可能是LotNumber-1。這看起來正是我需要的!謝謝 我的VBA的結果將是我的表單上的輸出,並將打印在報表上......從VBA中的變量到Access表中的表的最佳方式是什麼? – user2997589