ADO对access的操作
小弟刚学ADO,,问个小问题,,也不知道问法对不对,下面是代码
Private Sub cmbField_Click()
cmbName.Clear
Adodc1.RecordSource = "select * from 库存表"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
cmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)
Adodc1.Recordset.MoveNext
Loop
cmbName.Text = cmbName.List(0)
End Sub
Private Sub cmbName_Click()
Dim p
p = Trim(cmbField.Text)
If Adodc1.Recordset.Fields(p).Type = 202 Then
Adodc1.RecordSource = "select * from 库存表 where" & p & "='" & cmbName.Text & "'"
Else
Adodc1.RecordSource = "select * from 库存表 where" & p & "=" & cmbName.Text
End If
Adodc1.Refresh
txtno.Text = Adodc1.Recordset.Fields("货物编号")
txtname.Text = Adodc1.Recordset.Fields("货物名称")
txtstorenum.Text = Adodc1.Recordset.Fields("库存量")
txtunit.Text = Adodc1.Recordset.Fields("单位")
End Sub
在cmbname_click事件中的Adodc1.Refresh为什么老是“FORM子句语发错误”?
[解决办法]
Adodc1.RecordSource = "select * from 库存表 where " & p & "='" & cmbName.Text & "'"
少空格。
另外表名有没有写对。
[解决办法]
这种变量与常量混合的主要会出现问题就是空格问题,另外记得字符串要加单引号
[解决办法]
1、空格问题;
2、p的值什么都有可能,如果p包含非法字符或者p本身就不是字段名,就会出错。