小弟刚学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 SubPrivate 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子句语发错误”?

解决方案 »

  1.   

    Adodc1.RecordSource = "select * from 库存表 where " & p & "='" & cmbName.Text & "'"
    少空格。
    另外表名有没有写对。
      

  2.   

    1、空格问题;
    2、p的值什么都有可能,如果p包含非法字符或者p本身就不是字段名,就会出错。
      

  3.   

    1、空格问题;
    2、p的值什么都有可能,如果p包含非法字符或者p本身就不是字段名,就会出错。
      

  4.   

    1、空格问题;
    2、p的值什么都有可能,如果p包含非法字符或者p本身就不是字段名,就会出错。
      

  5.   

    真是太谢谢大家了,,where后面少了空格