2014-11-04 52 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 
相关问题