以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  时间段代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145387)

--  作者:tld
--  发布时间:2020/1/18 10:31:00
--  时间段代码
老师,帮忙看看下面代码有什么错误?谢谢

Dim t1 As Date = e.Form.Controls("DateTimePicker1").WriteValue
Dim t2 As Date= e.Form.Controls("DateTimePicker2").WriteValue
Dim tb As Table=Tables("财务信息")
dim fk as string=tb.Current("付款单位")
Dim drs As List(Of DataRow)
drs = DataTables("财务信息").Select("[客户名称] =\'" & fk & "\'" And [日期]  Between \'" & t1 "\'" and \'" t2"\'" )

[此贴子已经被作者于2020/1/18 10:40:32编辑过]

--  作者:有点蓝
--  发布时间:2020/1/18 10:36:00
--  
Dim t1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim t2 As Date = e.Form.Controls("DateTimePicker2").Value
Dim tb As Table=Tables("财务信息")
if tb.Current isnot nothing then
  dim fk as string=tb.Current("付款单位")
  Dim drs As List(Of DataRow)
  drs = DataTables("财务信息").Select("[客户名称] = \'" & fk & "\' And [日期]  Between \'" & t1 & "\' and \'" & t2 & "\'" )

end if

--  作者:tld
--  发布时间:2020/1/18 10:41:00
--  
谢谢


--  作者:tld
--  发布时间:2020/1/18 12:38:00
--  
老师,下面代码出现错误,提示:

                            表达式包含不支持的运算符“Between”。

Dim fk As String  \'-----------------付款公司名称
Dim fkr As String \'-----------------付款人
Dim tb As Table=Tables("财务信息")
Dim dtb As DataTable=DataTables("财务信息") \'----------财务信息表
Dim chklist As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")  \'---------列表框
Dim t1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim t2 As Date = e.Form.Controls("DateTimePicker2").Value
Dim drs As List(Of DataRow)
Dim sz() As String =(chklist.Value).split(",")
If tb.Current IsNot Nothing Then
    fk =tb.Current("付款单位")
    drs = DataTables("财务信息").Select("[客户名称] = \'" & fk & "\' And [日期]  Between \'" & t1 & "\' and \'" & t2 & "\'" )


--  作者:有点蓝
--  发布时间:2020/1/18 14:20:00
--  
drs = DataTables("财务信息").Select("[客户名称] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'" )
--  作者:tld
--  发布时间:2020/1/18 20:07:00
--  
老师,下面的代码是什么问题?哪里有错误?
Sing = DataTables("财务信息").Compute("Sum(税后核定)", "付款单位 = \'" & fk & "\'"   And "日期  >= \'" & t1 & "\'" And "日期 <=\'" & t2 & "\'" )


提示是:详细错误信息:
从字符串“付款单位 = \'艾默生(北京)仪表有限公司\'”到类型“Long”的转换无效。
输入字符串的格式不正确。


还有,下面的代码运行后,drs.Count 数量是0  。明明有好几行记录。
 drs = DataTables("财务信息").Select("[付款单位] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'" )
运行后,drs.Count 数量是0  。明明有好几行记录。

[此贴子已经被作者于2020/1/18 20:40:22编辑过]

--  作者:有点蓝
--  发布时间:2020/1/19 9:22:00
--  

1、查询条件的用法看5楼,完全一样的,只是列名不一样,不要加那么多的双引号

2、说明肯定没有符合条件的数据

msgbox("[付款单位] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'") \'显示什么条件?符合条件的数据截图看看


--  作者:tld
--  发布时间:2020/1/19 10:49:00
--  
蓝老师,下面是代码。
msgbox("[付款单位] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'") 
    drs=DataTables("财务信息").Select("[付款单位] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'") 
    msgbox(drs.count & "符合条件的行数")



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

付款单位是上面付款单位的任一公司,都是这个结果

[此贴子已经被作者于2020/1/19 11:13:40编辑过]

--  作者:有点蓝
--  发布时间:2020/1/19 11:08:00
--  
上面截图很明显付款单位条件为空,fk没有值呀
--  作者:tld
--  发布时间:2020/1/19 11:31:00
--  


Dim fk As String =Tables("财务信息").Current("付款单位")
    Dim s As String=("[付款单位] = \'" & fk & "\' And [日期]  >= \'" & t1 & "\' and [日期] <=\'" & t2 & "\'") 
    drs=DataTables("财务信息").Select(s)
    msgbox(s & "    " &   "符合条件的行数  drs.count="  & drs.count  )



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

符合条件的行数应为2


[此贴子已经被作者于2020/1/19 11:35:46编辑过]