Foxtable(狐表)用户栏目专家坐堂 → 窗口中的sqlquery型的table 请教!!


  共有4690人关注过本帖树形打印复制链接

主题:窗口中的sqlquery型的table 请教!!

帅哥哟,离线,有人找我吗?
www111998
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 15:36:00 [只看该作者]

select * fro m {合同} where “ & t & ”

 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 15:43:00 [只看该作者]

 就是这么简单的一句代码,在开发版中,内部表中可以通过,连接外部表ASS数据源也可以通过,外部表SQL数据源的时候通过不了
运行错误
在应使用条件的上下文(在‘ & t & ’附件)中指定了非布尔类型的表达式

 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 15:49:00 [只看该作者]

老师,这个问题有解吗?
可以给个思路吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/2 15:50:00 [只看该作者]

贴出完整代码。

 

msgbox弹出你最后合成的sql语句看一下。


 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 15:58:00 [只看该作者]

就是之前发的项目老师帮写的代码,我是搬到开发版上连接SQL的数据源,就出现这样的问题

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/2 16:10:00 [只看该作者]

Dim d1 As Date = e.Form.Controls("DateTimePicker1").value
Dim d2 As Date = e.Form.Controls("DateTimePicker2").value
Dim filter As String = "1=1"
If d1 <> Nothing Then
    filter &= " and 购买时间 >= '" & d1 & "'"
End If
If d2 <> Nothing Then
    filter &= " and 购买时间 <= '" & d2 & "'"
End If
Dim sql = "select 客户编号, sum(数量) As 总数量, sum(金额) As 总金额,姓名,电话,住址,业务员 from (Select 客户编号,产品,数量,金额,购买时间,姓名,电话,住址,业务员 From {订单表} Left JOIN {客户信息} ON {客户信息}.[编号] = {订单表}.[客户编号] where " & filter & ") As a group by 客户编号, 姓名,电话,住址,业务员"
output.show(sql)
e.Form.controls("Table1").Table.fill(sql, "数据源", True)

 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 16:50:00 [只看该作者]

OK了,怎么回事,就是这个问题?

二、条件表达式

可以用WHERE关键词设置查询条件,多个条件可以用AND或者OR运算符连接。

例如加载产品为PD01和PD02订单:

SELECT * F ROM {订单} WHERE 产品 = 'PD01' OR 产品 = 'PD02'

再例如加载1999年1月份的订单:

SELECT * F ROM {订单} WHERE 日期 >= #1/1/1999# AND 日期 <= #1/31/1999#

如果数据源是SQl SERVER,日期常量用单引号而不是#号括起来,例如:

SELECT * F ROM {订单} WHERE 日期 >= '1/1/1999' AND 日期 <= '1/31/1999'

如果是Oracle的数据源,必须用TO_DATE函数转换,例如加载1999年10月21日的订单:

SELECT * F ROM {订单} WHERE 日期 = TO_DATE('10/21/1999','MM/DD/YYYY')


 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 16:50:00 [只看该作者]

之前也试,就是没有成功,今天再试就成功了 哈哈

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/2 17:01:00 [只看该作者]

以下是引用www111998在2018/5/2 16:50:00的发言:
之前也试,就是没有成功,今天再试就成功了 哈哈

 

红色代码修改了

 

Dim d1 As Date = e.Form.Controls("DateTimePicker1").value
Dim d2 As Date = e.Form.Controls("DateTimePicker2").value
Dim filter As String = "1=1"
If d1 <> Nothing Then
    filter &= " and 购买时间 >= '" & d1 & "'"
End If
If d2 <> Nothing Then
    filter &= " and 购买时间 <= '" & d2 & "'"
End If
Dim sql = "select 客户编号, sum(数量) As 总数量, sum(金额) As 总金额,姓名,电话,住址,业务员 from (Select 客户编号,产品,数量,金额,购买时间,姓名,电话,住址,业务员 From {订单表} Left JOIN {客户信息} ON {客户信息}.[编号] = {订单表}.[客户编号] where " & filter & ") As a group by 客户编号, 姓名,电话,住址,业务员"
output.show(sql)
e.Form.controls("Table1").Table.fill(sql, "数据源", True)


 回到顶部
帅哥哟,离线,有人找我吗?
www111998
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:87 积分:721 威望:0 精华:0 注册:2018/2/26 13:37:00
  发帖心情 Post By:2018/5/2 17:27:00 [只看该作者]

As a 是什么意思啊?

 回到顶部
总数 42 上一页 1 2 3 4 5 下一页