Access数据库中 有个字段为短日期型 我想查找介于某两个日期间的纪录怎么会查不出呢 SQL语句没有错误啊!比如下面这段 就没有结果  Q_INVOICE.Close;
  Q_INVOICE.SQL.Clear;
  strSQL := 'SELECT INVOICE.*,STORE.* FROM INVOICE,STORE ';
  strSQL := strSQL + 'WHERE ( INVOICE.STOREID = STORE.STOREID )';
  strSQL := strSQL + ' and ( INVOICE.BILLDATE ';  
  strSQL := strSQL + 'BETWEEN ' + DateToStr( dtpBegin.Date );
  strSQL := strSQL + ' and ' + DateToStr( dtpEnd.Date ) + ')'; 
  Q_INVOICE.SQL.Add( strSQL );
  Q_INVOICE.Open;其中INVOICE.BILLDATE字段就为短日期类型 dtpBegin和dtpEnd均为TDateTimePicker控件 
谢谢大家帮助!!!

解决方案 »

  1.   

    Access对于日期时间的查询,要加'#'的:
      
      Q_INVOICE.Close;
      Q_INVOICE.SQL.Clear;
      strSQL := 'SELECT INVOICE.*,STORE.* FROM INVOICE,STORE ';
      strSQL := strSQL + 'WHERE ( INVOICE.STOREID = STORE.STOREID )';
      strSQL := strSQL + ' and ( INVOICE.BILLDATE ';  
      strSQL := strSQL + 'BETWEEN #' + DateToStr( dtpBegin.Date );
      strSQL := strSQL + '# and #' + DateToStr( dtpEnd.Date ) + '#)'; 
      Q_INVOICE.SQL.Add( strSQL );
      Q_INVOICE.Open;
      

  2.   

    这个是Access数据库SQL语句规定的,查查Access相关的书应该有吧