2014-11-04 53 views
0

我試圖使用位於窗體上的組合框的值填充Access 2013中的表字段。
但是我沒有收到任何錯誤,代碼執行時沒有任何反應。
我沒有我使用的是確切的代碼,但在這裏是非常類似的東西,我從一個網站上找到:使用Access中的文本框中的值填充表字段

Dim d As Database 
    Dim r As Recordset 
    Dim Price, Qty, Total As Field 
    Set d = CurrentDB() 
    Set r = d.OpenRecordset("Table") 
    Set Price= r.Fields("Price") 
    Set Qty= r.Fields("Quantity") 
    Set Total= r.Fields("Total") 
    While Not r.EOF 
     r.Edit 
     Total=Price*Qty 
     r.Update 
     r.MoveNext 
    Wend 
    r.Close 

我沒有,而在我的代碼不能循環使用,但它的其餘部分是非常相似。
搜索後,我認爲添加MS DAO作爲參考將有所幫助,但沒有任何改變。
我的問題是沒有任何反應,當我執行代碼時,我甚至試圖刪除循環,並使其只改變一個值,但仍然沒有。這個問題的

回答

0

部分是

Dim Price, Qty, Total As Field 

在VBA中,該語句評估爲:

Dim Price As Variant, Qty As Variant, Total As Field 

這可能不是你想要做什麼。您需要在每次聲明後指定一個As Type。更好的是,把每個聲明放在自己的路線上。

你不需要任何這些字段變量 - 只是改變你的循環中:

While Not r.EOF 
    r.Edit 
    r!Total = r!Price * r!Qty 
    r.Update 
    r.MoveNext 
Wend 
相關問題