使用Access中的文本框中的值填充表字段

时间:2014-11-04 09:03:38

标签: vba access-vba

我正在尝试使用位于表单上的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作为参考将有所帮助,但没有任何改变 我的问题是,当我执行代码时没有任何反应,我甚至试图删除循环并使其仅更改值但仍然没有。

1 个答案:

答案 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