SELECT 某单位产品入库明细.产品名称,某单位产品入库明细.单据日期 FROM 某单位产品入库明细
where
((某单位产品入库明细.产品名称)=forms!某单位产品入库明细!产品名称 And ((某单位产品入库明细.单据日期) Between (Forms!某单位产品入库明细!起始日期) And (Forms!某单位产品入库明细!终止日期)))
在某单位产品入明细窗体中有三个文本框,分别为起始日期,终止日期,产品名称,我要查询出符合产品名称和起始日期跟终止日期之间都符合的数据
上面一个查询语句中,当然把数据输入文本框中查询的时候他是查询出,起始日期跟终止日期之间的数据  or  符合产品名称的数据,也就是说他将两个条件分下来查询了!
请大家帮我解决一下?

解决方案 »

  1.   

    好几处没看明白,比如这个"(Forms!某单位产品入库明细!起始日期"里的"某单位产品入库明细"是不是窗体名啊.
    不过看来你这个问题的关键可能是没控制好日期的输入格式,按你的意思你是直接把"起始日期,终止日期"两个文本框的值传递给SQL语句了,可能根本就没管日期格式是否正确哦
      

  2.   


    是窗体名
    日期格式是可以!
    如果单独查询某时间段的数据的话,是可以的!
    如果查询某时间段的产品数据就不可以了,他就给我查询出了某时间段的所有产品数据!而((某单位产品入库明细.产品名称)=forms!某单位产品入库明细!产品名称,这条语句他也单独去查询了,
      

  3.   

    http://download.csdn.net/source/1644211
      

  4.   

    也就是说查询某时间段我用了BETWEEN  AND
    如果我在后面还想加一个AND条件的话,怎么写,请各位络个案例!
      

  5.   

    加个括号不就可以了,不过LZ用的那些括号倒是好像没必要.
    select * from A where 名称='xxx' and (时间 between #2010-03-24 11:11:11# and #2010-03-24 11:11:12#) and ……
      

  6.   

    在ACCESS中,在SQL视图里面的怎么写
      

  7.   

    SELECT 某单位产品入库明细.产品名称,某单位产品入库明细.单据日期 FROM 某单位产品入库明细
    where
    (产品名称=Forms!某单位产品入库明细!产品名称 And (单据日期 Between Forms!某单位产品入库明细!起始日期 And Forms!某单位产品入库明细!终止日期))我就是这样写的,可是他没用啊?
      

  8.   

    不清楚在access中取文本框的值是这样去取的嚒,没试过.
    就算是吧,查询时日期要加 between #cdate(Forms!某单位产品入库明细!起始日期)# and 
      

  9.   

    我像你这样在时间前加#Cdate()#,它反而都没用了