现在在窗体下编译到rst.open sql就出错,一直没弄明白错在哪,请各位大侠指教,谢谢Private Sub 确定_Click()
Dim sql As String
Dim rst As ADODB.Recordset
Dim number As Integer
        sql = "select * from 商品信息 where"
        sql = sql & " [货号]=" & Me![货号列表]
        Set rst = New ADODB.Recordset
  
        rst.ActiveConnection = CurrentProject.Connection
        rst.CursorType = adOpenDynamic
        rst.LockType = adLockOptimistic
              rst.Open sql
             …………………

解决方案 »

  1.   

    你在Set rst = New ADODB.Recordset 这一句设置一个断点,然后运行程序到这个断点,然后在立即窗口打印一下sql出来看看。
      

  2.   

    “货号”字段是文本类型
    Me![货号列表]是下拉列表框
    我是在access中写的vb语句,不知道哪里有立即窗口啊
      

  3.   

    Me![货号列表]改为 Me.货号列表.text 试试
    控件名要改用英文,中文不习惯
      

  4.   

    Ctrl+G可以调出立即窗口。在立即窗口敲下面然后回车:?sql然后把回车之后出现的文字拷到这里来给大家晒晒:)
      

  5.   

    1. [货号]可能是字符型字段
    2. Me![货号列表] 的值为 空Private Sub 确定_Click()
    Dim sql As String
    Dim rst As ADODB.Recordset
    Dim number As Integer
        sql = "select * from 商品信息 where"
        sql = sql & " [货号]=" & Me![货号列表]
        
        msgbox sql

        
        Set rst = New ADODB.Recordset    rst.ActiveConnection = CurrentProject.Connection
        rst.CursorType = adOpenDynamic
        rst.LockType = adLockOptimistic
            rst.Open sql
           …………………
      

  6.   

    哇 acmain,你太狠了8,这点分都不让我得啊
      

  7.   

    经试验,将  Me![货号列表]改为 Me.货号列表.text 后,效果相同,但必须先将焦点设置于me.货号列表,否则报错“2185,除非控件获得焦点,否则您不能引用该控件的属性或方法”
      

  8.   


    弹出的msgbox内容为  select * from 商品信息 where 货号=8552 
      

  9.   

    select * from 商品信息 where 货号=8552 这个语句直接到你的ACCESS的查询设计器中试一下呢?另外你的VB程序报错信息是什么?
      

  10.   

    Me![货号列表]改为 Me.货号列表这样就不需要焦点了
      

  11.   

    用您的方法在查询设计器中说了一下,结果的确是我想要的内容,但是为什么会有rst.Open sql  错误呢,是语句的问题吗
      

  12.   

    改成这样试试:    Dim strSql As String '最好不要用保留字做变量名'
        strSql = "select * from 商品信息 where"
        strSql = strSql & " [货号]='" & Me.货号列表 & "'"
        '如果你确定[货号]字段是文本类型的话,应该前后加单引号'
        'Me.货号列表 表示的是你的窗体里名为“货号列表”的控件的当前值'
        '而Me![货号列表]有可能会引用到你的窗体的绑定字段'
      

  13.   

    strSql = "select * from 商品信息 where"
    strSql = strSql & " [货号]='" & Me.货号列表 & "'"
    文本类型必須"'"