我在查询的时候要查询同时符合两个条件的记录,我的代码是这样写的:
SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "'"
这样写是对的,但是我把他按我的要求改成下面这个样子,就出错了:
SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期='" & DTPicker1.value & "'"
请问正确地应该怎么写呀?

解决方案 »

  1.   

    开始培训日期是个D型 在SQL中日期型不能用引号表示 要用#2003-05-06#的格式
      

  2.   

    那么是下面这样吗:
    SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期='# & DTPicker1.value & #'"
      

  3.   

    dim aa as string
    aa=format(dtpicker1.value,"yyyy-mm-dd")
    and 开始培训日期='"+aa+"'
      

  4.   

    试试以下的方法
    SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期='" & Str(DTPicker1.value) & "'"
    应该没有问题了
    但是你要保证数据输入正确,因为上面没有加出错判断
      

  5.   

    FORMAT(DTPicker1.value,"YYYY-MM-DD")
    DATE格式一定要和数据库结构中的相同
      

  6.   

    '我用SQL2000,时间范围的语句模式如下:strtimerang = "WHERE (日期>= CONVERT(DATETIME, '" & Format(DTPstart.Value, "yyyy-MM-dd") & " 00:00:00', 102)) AND" _
                    & "(日期<= CONVERT(DATETIME, '" & Format(DTPover.Value, "yyyy-MM-dd") & " 23:59:59', 102)) "
      

  7.   

    Dim SQLstr As String
            SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期=#" & format(DTPicker1.Value,"yy-mm-dd") & "#"        Adodc1.RecordSource = SQLstr
            Adodc1.Refresh
        If Adodc1.Recordset.EOF <> True Then
            MsgBox "你所添加的纪录已存在!!!"
            Combo1.Text = ""
            DataCombo2.Text = ""
            Text2.Text = ""
            Text3.Text = ""
            Exit Sub
        Else
      

  8.   

    '如果数据库为ACCESS:
    SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期=# " & format(DTPicker1.value,"yyyy-mm-dd") & " # "
    '如果数据库为SQL:
    SQLstr = "select * from 员工培训管理表 where 职工编号='" & DataCombo2.Text & "' and 开始培训日期='" & format(DTPicker1.value,"yyyy-mm-dd") & "'"