我正在尝试使用位于表单上的Combobox中的值填充Access 2013中的表字段。
但是我没有收到任何错误,代码执行时没有任何反应
我没有我正在使用的确切代码,但我在网站上找到的内容非常相似:
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
我没有在我的代码中使用while循环,但其余部分非常相似 搜索后,我认为添加MS DAO作为参考将有所帮助,但没有任何改变 我的问题是,当我执行代码时没有任何反应,我甚至试图删除循环并使其仅更改值但仍然没有。
答案 0 :(得分:0)
此问题的一部分在
Dim Price, Qty, Total As Field
在VBA中,该语句的评估结果为:
Dim Price As Variant, Qty As Variant, Total As Field
这可能不是你想要做的。您需要在每个声明后指定一个As类型。更好的是,将每个声明放在自己的行上。
您不需要任何这些字段变量 - 只需将您的循环更改为:
While Not r.EOF
r.Edit
r!Total = r!Price * r!Qty
r.Update
r.MoveNext
Wend