我把adobc 的记录源属性设置为:
8 adcommandunknow
命令文本设置为:
select book.Bname,borrowmessege.borrowtime from Book,Borrowmessege where Book.bookid=borrowmessege.bookid and borrowmessege.passname='"& passname &"'其中最后的那个passname 是公共模块里面定义的全局变量,
问题:查询的时候没有显示出任何数据.我把passname ,改成 '200013' , 就可以查询出数据. 
为什么公共模块里面定义的东西,在 命令文本里无效,
还有我该怎么办?

解决方案 »

  1.   

    在命令文本中的设置,它把passname认为是字符串,而不是变量,
    你需要后期设置
    adodc1.commandtext="select book.Bname,borrowmessege.borrowtime from Book,Borrowmessege where Book.bookid=borrowmessege.bookid and borrowmessege.passname='"& passname &"'"
      

  2.   

    sub form_load
    Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Mode=Read;Extended Properties=" & "DSN=zjnulibrary;Description=图书馆数据;APP=Visual Basic;WSID=ZJNUV;DATABASE=zjnulibrary;Trusted_Connection=Yes" & ";Initial Catalog=zjnulibrary" Adodc1.CommandType = adCmdUnknown Adodc1.RecordSource = "select book.Bname,borrowmessege.borrowtime from Book,Borrowmessege where Book.bookid=borrowmessege.bookid and borrowmessege.passname='" & passname & "'"end sub
    我改成这样都有问题. 还是没有查询出说要的记录
      

  3.   

    sub form_load
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Mode=Read;Extended Properties=" & "DSN=zjnulibrary;Description=图书馆数据;APP=Visual Basic;WSID=ZJNUV;DATABASE=zjnulibrary;Trusted_Connection=Yes" & ";Initial Catalog=zjnulibrary"   
    这没有什么可改得了!
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     Adodc1.CommandType = adCmdUnknown Adodc1.RecordSource = "select book.Bname,borrowmessege.borrowtime from Book,Borrowmessege where Book.bookid=borrowmessege.bookid and 
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    borrowmessege.passname='" & passname & "'"
    改:borrowmessege.passname='" & trim(passname) & "'"      '你要去除两边的空格
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''end sub
    我改成这样都有问题. 还是没有查询出说要的记录
      

  4.   

    试一下这样加一个变量:
    sql="select book.Bname,borrowmessege.borrowtime from Book,Borrowmessege where Book.bookid=borrowmessege.bookid and borrowmessege.passname=" & passname 
    Adodc1.RecordSource = sql
      

  5.   

    单步运行,看看你的变量passname里到底是什么先
      

  6.   

    你个变量是点定义嘎,有无用public 来修饰?
      

  7.   

    我也遇到过这个问题,后来我找到原因了,因为没有把变量中的内容进行转换,比如你说:我把passname ,改成 '200013' 就可以查询出数据。如果你的变量里是字符串,而要查的是数值型,那么需要把变量里的字符串转换成数值型,应该就可以了,我的问题是这么解决了,不知道你遇到的问题起因是不是一样。
      

  8.   

    你可以跟踪一下程序,看看变量passname 取的值是什么旧可以了.
      

  9.   

    你的Option Explicit打开了吗? 没打开会不会前后passname写错