以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助,代码是否有问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2566)

--  作者:baoxyang
--  发布时间:2009/4/22 17:07:00
--  求助,代码是否有问题?
with e.form
   if .controls("combobox1").value = "入库日期" or .controls("combobox1").value = "提货日期" then
      if .controls("combobox1").value Is Nothing or .controls("combobox18").value Is Nothing  or .controls("datetimepicker1").value Is Nothing then
     s10 = " "
  else
   if .controls("combobox18").value = "包含" then
      s12 = "LIKE"
      s13 = "%"+format(.controls("datetimepicker1").value,"yyyy-MM-dd")+"%"
   elseif .controls("combobox18").value = "不包含" then
      s12 = "NOT LIKE"
      s13 = "%"+format(.controls("datetimepicker1").value,"yyyy-MM-dd")+"%"
   elseif .controls("combobox18").value = "不等于" then
      s12 = "<>"
      s13 = format(.controls("datetimepicker1").value,"yyyy-MM-dd")
   else
      s12 =.controls("combobox18").value
      s13 = format(.controls("datetimepicker1").value,"yyyy-MM-dd")
   end if
   s11 =.controls("combobox1").value
   s10 = s11+" "+s12+" "+"\'"+s13+"\'"
   s14 =.controls("combobox35").value
      if Not s14 Is Nothing then
         s10 = s11+" "+s12+" "+"\'"+s13+"\'"+" "+s14
      end if
   end if
else
  if .controls("combobox1").value Is Nothing or .controls("combobox18").value Is Nothing or .controls("textbox1").value Is Nothing then
     s10 = " "
  else
   if .controls("combobox18").value = "包含" then
      s12 = "LIKE"
      s13 = "%"+.controls("textbox1").value+"%"
   elseif .controls("combobox18").value = "不包含" then
      s12 = "NOT LIKE"
      s13 = "%"+.controls("textbox1").value+"%"
   elseif .controls("combobox18").value = "不等于" then
      s12 = "<>"
      s13 =.controls("textbox1").value
   else
      s12 =.controls("combobox18").value
    
      s13 =.controls("textbox1").value
   end if
   s11 =.controls("combobox1").value
   s10 = s11+" "+s12+" "+"\'"+s13+"\'"
   s14 =.controls("combobox35").value
      if Not s14 Is Nothing then
         s10 = s11+" "+s12+" "+"\'"+s13+"\'"+" "+s14
      end if
   end if
end if
end with
--  作者:baoxyang
--  发布时间:2009/4/22 17:09:00
--  

主要是当.controls("combobox1").value = "入库日期" or .controls("combobox1").value = "提货日期" 判断不执行。不知是怎么回事?


--  作者:狐狸爸爸
--  发布时间:2009/4/22 17:27:00
--  
以下是引用baoxyang在2009-4-22 17:09:00的发言:

主要是当.controls("combobox1").value = "入库日期" or .controls("combobox1").value = "提货日期" 判断不执行。不知是怎么回事?


你可以在前面插入移行一行代码,用MessageBox显示一下这个控件的值啊,看看是否符合你的预期。

MesageBox.show(.controls("combobox1").value)

这是基本的技巧来的。

[此贴子已经被作者于2009-4-22 17:27:59编辑过]

--  作者:baoxyang
--  发布时间:2009/4/22 17:52:00
--  
我有这样做了,.controls("combobox1").value是正确的。如controls("combobox1").value=“入库日期”,datetimepicker1的值为2009-01-01,但取值结果为textbox1的值呀。本人查了很久,没有发现问题在哪?请各位百忙之中抽一点时间帮看下,问题在哪?
--  作者:菜鸟foxtable
--  发布时间:2009/4/22 17:58:00
--  

把ComboBox控件改成日期控件试试..


--  作者:baoxyang
--  发布时间:2009/4/22 17:58:00
--  
下面两个执行结果如图。
图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.gif
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/4/22 17:59:00
--  
代码是死的,如果逻辑正确,就一定会执行,你里面有很多判断,你一个一个检查吧。
--  作者:baoxyang
--  发布时间:2009/4/22 18:12:00
--  

哦,知道了。我自己再检查吧。谢谢老大的指点!


--  作者:blackzhu
--  发布时间:2009/4/23 7:45:00
--  
以下是引用菜鸟foxtable在2009-4-22 17:58:00的发言:

把ComboBox控件改成日期控件试试..

我也认为换一个日期控件试试,会不会你那个combobox的设置有问题.