private sub runquery()
 dim k as integer
 dim strcon as string  
 for k=0 to TDBData1.count-1
   if TDBdata1(k).number>0  then
      strcon=strcon&"and convert(char(6)),"
      &TDBData1(k).datafield&",112)='"
      &format(trim(TDBData1(k).value),"YYYYMM")&"'"
    end if
 next
if trim(strcon)<>"" then
strwhere="where"&mid(strcon,5)
else
  strwhere=""
end ifend sub其中有两个TDBData控件。想实现显示在两个TDBData日期之间的所有记录!请指教

解决方案 »

  1.   

    select * from table_name where Field_name between 'Sdate' and 'Edate'
    'Sdate 开始时间  
    'Edate 结束时间
      

  2.   

    这样的问题
    你可以跟踪strcon的值,然后在查询分析器中执行就可以了
      

  3.   

    access的
    strsql = "select * from test where sj between # " & Text2.Text & " # and  # " & Text3.Text & " #"
    sqlserver的
    strsql = "select * from test where sj between  '" & DTPicker1.Value & "'  and   '" & DTPicker2.Value & "'"
      

  4.   

    因为除了这两个tdbdatag还有好多的其它控件。自然也生成一些查询条件。以上生成的都是字符型的,最后的strwhere就是组织所有的条件!!
      

  5.   

    不大清楚你的代码片断,只觉得SQL日期查询语句中有“Between”和“And”这两个词,而你For循环里没有添加上,所以你应该在strwhere中把他们插入。
      

  6.   

    格式就是online所提供的,SQL:#  ACCESS:'
      

  7.   

    for k=0 to TDBData1.count-1
       if TDBdata1(k).number>0 and tdbdata2(k)>0 then
          scrcon=scrcon&"and between"
          &format(trim(TDBData1(k).value),"YYYYMM")
          &"'"
          &"and"
          &format(trim(TDBData2(k).value),"YYYYMM")
          &"'"
        end if
     next
    请教。这样行的通吗