使用VBA函数更改字段中的文本

时间:2017-11-14 20:41:37

标签: database ms-access

我目前正在使用Access中的数据库,该数据库有一个表(Pro_Cons),它比较了不同产品类型的优缺点。该表有3列;输入(Product_type),优点(Pro)和缺点。 对于每个产品类型,我创建了一个表格,其中包括该表格中相应类型的pro-and cons字段。 为了向这个字段添加新文本,我正在创建一个VBA函数,该函数由按钮单击触发。

因为没有任何工作,我创建了以下函数,该函数只应将产品Pro的{​​{1}} - 字段替换为type1

Access不会抛出错误,但表中没有任何变化。

有人知道这里发生了什么吗?

change1

2 个答案:

答案 0 :(得分:1)

我认为您的文字应该更改为引用表单控件:

strSQL = "SELECT Pro FROM Pro_Cons WHERE Product_type='strProduct_type';"

更改为:

strSQL = "SELECT Pro FROM Pro_Cons WHERE Product_type='" & Me!strProduct_type & 
"'";

答案 1 :(得分:1)

请尝试以下代码。它会纠正您的WHERE子句:

Sub Change_Pos_Inf()

Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Dim strSensortyp As String
Dim strNew As String

Set db = CurrentDb()

strProduct_type = "type1"
strNew = "change1"
strSQL = "SELECT Pro FROM Pro_Cons WHERE Product_type= '" & strProduct_type & "';"

Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
With rst

   If Not rst.EOF Then

    .Edit
        !Pro.Value = strNew
    .Update
   Else
       MsgBox "No Record found!!"
   End If
End With
rst.Close
Set rst = Nothing
End Sub