我目前正在使用Access中的数据库,该数据库有一个表(Pro_Cons
),它比较了不同产品类型的优缺点。该表有3列;输入(Product_type
),优点(Pro
)和缺点。
对于每个产品类型,我创建了一个表格,其中包括该表格中相应类型的pro-and cons字段。
为了向这个字段添加新文本,我正在创建一个VBA函数,该函数由按钮单击触发。
因为没有任何工作,我创建了以下函数,该函数只应将产品Pro
的{{1}} - 字段替换为type1
。
Access不会抛出错误,但表中没有任何变化。
有人知道这里发生了什么吗?
change1
答案 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