以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何提示当日期不在范围内?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44264)

--  作者:发财
--  发布时间:2013/12/26 16:51:00
--  如何提示当日期不在范围内?

vars("Suma") =  DataTables("收购").Compute("Sum(头数)", "[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")
vars("Sumb") =  DataTables("收购").Compute("Sum(重量)", "[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")
vars("Sumc") =  DataTables("收购").Compute("Sum(收购金额)","[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")
vars("Sumaa") =  DataTables("销售").Compute("Sum(份数)", "[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")
vars("Sumbb") =  DataTables("销售").Compute("Sum(重量)", "[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")
vars("Sumcc") =  DataTables("销售").Compute("Sum(金额)", "[日期] >= #" & Vars("vdate") & "# and [日期] <= #" & Vars("edate") & "#")

限制当日期不在范围内时如何用Messagebox提示?


--  作者:狐狸爸爸
--  发布时间:2013/12/26 16:57:00
--  
vars("Sumcc") =  DataTables("销售").Compute("Sum(金额)", "[日期] < #" & Vars("vdate") & "# and [日期] > #" & Vars("edate") & "#")
--  作者:发财
--  发布时间:2013/12/27 9:23:00
--  

Dim dr As DataTable = DataTables("收购")
If dr("日期") < #" & Vars("vdate") & "# or dr("日期") > #" & Vars("edate") & "#")  Then
    MessageBox.Show("超出日期范围!")
End If

为什么不行?


--  作者:Bin
--  发布时间:2013/12/27 9:24:00
--  
你没搞清楚逻辑关系吧,你想实现在这个范围之内,还是这个范围之外啊
--  作者:发财
--  发布时间:2013/12/27 9:30:00
--  

Vars("vdate") 起始日期

Vars("edate") 终止日期

如果收购的日期不在输入的起始日期或终止日期,就提示错误。如何做到?


--  作者:Bin
--  发布时间:2013/12/27 9:39:00
--  
Dim dr As DataTable = DataTables("收购")
dim vdate as date = "#" & Vars("vdate") & "#"
dim edate as date = "#" & Vars("edate") & "#"
If dr("日期") < vdate orelse dr("日期") > edate)  Then
    MessageBox.Show("超出日期范围!")
End If

--  作者:发财
--  发布时间:2013/12/27 9:52:00
--  

class \'datatable\' cannot be indexed because it has no default property.

出现这样的错误。


--  作者:Bin
--  发布时间:2013/12/27 9:53:00
--  
...你自己的代码你看都不看的哟.

Dim dr As DataTable = DataTables("收购") \'你这个明明是表

dr("日期")  下面怎么又当行来使用了?

--  作者:发财
--  发布时间:2013/12/27 10:05:00
--  
如何做得到?
--  作者:Bin
--  发布时间:2013/12/27 10:08:00
--  
如果你要判断第一行
Dim dr As datarow= DataTables("收购") .datarows(0)

如果你要判断当前行 Dim dr As datarow= Tables("收购") .current.datarow

如果在DataColChanged事件  Dim dr As datarow= e.datarow


我建议你先去按部就班看一下帮助.

图片点击可在新窗口打开查看

 

看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》