如果:mynumber=15
那么:If  mynumber  <>  ""  Then          
mynumber  =  "学号='15'"  
Data1.Recordset.FindFirst  "学号='15'"  &是连接符号,'' 是语法规定,查一下msdn就知道了

解决方案 »

  1.   

    因为mynumber为变量,在VB中所写的SQL语句中要要动态引用(使用)变量中的数据,只能这样写,这是格式。第一等于号是一个赋值运算符,将“  ”中的字符作为一个字符串赋值给变量mynumber。第二个是SQL语句中的比较运算符。"学号='"  &  mynumber  &  "'"
    最外面的一对双引号是代表字符串的意思。
    '"  &  mynumber  &  "'  这个整体表示对变量mynumber的引用,这是书写格式。
      

  2.   

    双引号是VB的字符串
    单引号是SQL的字符串
    & 是VB的字符串连接
      

  3.   

    你是数据库你的学号字段的类型可能是字符串类型的。所以需要单引号。
    举个例子,如果mynumber是999999,
    那执行完   mynumber  =  "学号='"  &  mynumber  &  "'" 后
    mynumber就为 学号='999999'  , &是字符串连接,这个你应该知道吧。
    mynumber  =  "学号='"  &  mynumber  &  "'" 
    的意思就是把  学号='   ,  mynumber里的值 ,  ' 这三个字符串和在一起
    然后用来查询。如果你用过sql应该知道,差不多的功能。
      

  4.   

    从这段代码看,输入为空,Data1.Recordset.FindFirst 不会执行的
    从其他地方找原因
      

  5.   

    会这样吗?以前我一直是用ado的,如果找不到记录的话可以判断recodeset.eof是不是为真,真的话就是说明没有找到记录。
    Data我没怎么用过,不过我觉得应该是差不多的吧,你可以看看msdn呢。
      

  6.   

    因为有这个判断
    If  mynumber  <>  ""  Then 
    如果为空的话下面不执行的,原来初始化的时候数据库里当前数据就是指向第一条的,所以会显示第一条记录