我ACCESS数据库:
表instock中字段date ,数据类型:日期/时间,格式:短日期(1994-6-19)现用VB text1.text中输入的数据查询查询(ADO连接)
Rs1.Open "Select  *from instock where date= '" & Text1.Text & "'", Conn, adOpenStatic, adLockOptimistic出现提示:标准表达试中数据类型不匹配!text1.属性没有改过
各位帮忙看看!

解决方案 »

  1.   

    Rs1.Open "Select  *from instock where date= #" & Format(Text1.Text,"yyyy-mm-dd") & "#", Conn, adOpenStatic, adLockOptimistic
      

  2.   

    我已经采用这个限制了
    private Sub Text1_LostFocus()    If Text1.Text <> "" Then
            If Not IsDate(Text1.Text) Then
                MsgBox "请输入日期型数据!", 48, "提示"
                Text1.SetFocus
                Exit Sub
            Else
                Text1.Text = Format(Text1.Text, "YYYY-M-D")
            End If
        End IfEnd Sub
    ----------------------左手写的不用这个用你的那个也不行
      

  3.   

    Rs1.Open "Select * from instock where [date]= #" & Text1.Text & "#", Conn, adOpenStatic, adLockOptimistic
      

  4.   

    有个个人意见,虽然楼主的问题已经解决,但我依然想提一下。
    把日期格式按照yyyymmdd的顺序改成整数型或字符型,将对你日后进行查询和输入输出有很大的帮助。
    因为日期格式本身就是一个长整形数据,但是WINDOWS对于日期的处理实在不尽人意,在运算和比较的时候非常不方便,并且还存在格式转换出错的问题,因为西方日期格式和中国日期格式的习惯性不同,在理解上也会造成歧意。
    我以前的做法是在输入的时候按YYYYMMDD顺序以字符串输入数据库,在显示的时候用个简单的分割函数切割一下。不但方便比较大小,在写SQL的时候也变的更容易。
      

  5.   

    TO:WallesCai(算了下命,居然说我今年桃花遍地,紫溦星临头!) 谢谢指点,比较日期是比较麻烦的,你经验多,以后还要请教你呢!
    虽然这么菜 但是经过你们的指点我还是会了!  哈哈哈哈 
    晚上把所有贴都接了 那个长篇的我都拖了一年了