以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态加载问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122903)

--  作者:wtfwsk05
--  发布时间:2018/8/3 22:22:00
--  动态加载问题
Dim y As Integer = Date.Today.Year
Dim
m As Integer = Date.Today.Month
Dim
dt1 As New Date(y, m, 1)
Dim
dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim
Filter As String
Filter
= "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables(
"窗口1_Table1").Fill("Select * F rom {订单} Where " & Filter, False)


上述语句中fill中的select语句为什么要这样写"Select * F rom {订单} Where " & Filter  而不是这样写"Select * F rom {订单} Where  Filter 


--  作者:有点蓝
--  发布时间:2018/8/3 22:26:00
--  
看看:http://www.foxtable.com/webhelp/scr/1284.htm
--  作者:wtfwsk05
--  发布时间:2018/8/3 22:57:00
--  

怎么来理解下述两个语句

Tables("表A").Filter = "[编号] = \'" & dr("编号") & "\'"


Tables("表A").Filter = "[编号] = " & dr("编号")


--  作者:有点蓝
--  发布时间:2018/8/3 23:02:00
--  

不少初次接触编程的用户,对于何时使用双引号,何时使用单引号,感到非常困惑。

其实很简单,代码中的字符串都是用双引号括起来的。

例如:

Dim s As String
s = 
"abcd"

而单引号主要用于表达式,表达式可以用于计算、筛选。
表达式本身是一个字符串,所以必须用双引号括起来;表达式内部的字符串,用单引号括起来

例如:

Tables("订单").Filter = "[产品] = \'PD01\'"

上面的代码意思是在订单表表中筛选出产品为PD01的行,筛选表达式本身是一个字符串,所以用双引号括起来,表达式中的PD01也是一个字符串,是表达式的一个内部字符串,所以用单引号括起来。

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。


--  作者:wtfwsk05
--  发布时间:2018/8/3 23:26:00
--  
Tables("窗口1_Table1").Fill("Select * F rom {订单} Where " & Filter, False)   那是不是可以理解为Select * F rom {订单} Where为代码中的字符
--  作者:有点蓝
--  发布时间:2018/8/4 8:39:00
--  
等于:Select * F rom {订单} Where [编号] = \'001\' 假设dr("编号")的值为字符串“001”
--  作者:wtfwsk05
--  发布时间:2018/8/4 11:07:00
--  
dim dr as datarow = e.table.current.datarow  定义当前行为dr
为什么要在current后面接datarow而不可以按下述代码来定义
dim dr as datarow = e.table.current

--  作者:有点蓝
--  发布时间:2018/8/4 11:22:00
--  
一个是table的行,一个是datatable的行,不是相同的对象