Foxtable(狐表)用户栏目专家坐堂 → [求助]查询表的查询问题


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

主题:[求助]查询表的查询问题

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


加好友 发短信
等级:童狐 帖子:208 积分:2215 威望:0 精华:0 注册:2012/10/6 17:19:00
[求助]查询表的查询问题  发帖心情 Post By:2014/9/14 20:03:00 [只看该作者]

请教专家:有表A(a,b,c,d),表B(a,d,e,f,g),我建立了一个查询表C(a,b,{B}.d,e,f,g),该表是由A,B查询而来,关联列是A.a和B.a。
有这么个语句:DataTables("C").LoadFilter=“d='张三'”,系统老是提示“d不明确”。后面我改成:DataTables("C").LoadFilter=“{C}.d='张三'”,系统又提示“无法解释标记{”
[此贴子已经被作者于2014-9-14 20:03:51编辑过]

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


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

DataTables("C").LoadFilter = "{表B}.d = '张三'"

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


加好友 发短信
等级:童狐 帖子:208 积分:2215 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2014/9/14 20:13:00 [只看该作者]

是我刚才写错了,我是用的 DataTables("C").LoadFilter = "{表B}.d = '张三'"查询的,提示“无法解释{”

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


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

 呃,你的是sqlserver数据库?去掉大括号

 

 DataTables("C").LoadFilter = "表B.d = '张三'"


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


加好友 发短信
等级:童狐 帖子:208 积分:2215 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2014/9/14 20:29:00 [只看该作者]

是sqlserver数据库,去掉大括号,提示:未找到列B.d

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


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

 贴出你查询表的sql语句;按理是不会出错的。

[此贴子已经被作者于2014-9-14 20:30:53编辑过]

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


加好友 发短信
等级:童狐 帖子:208 积分:2215 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2014/9/14 20:38:00 [只看该作者]

Dim ckssj As WinForm.DateTimePicker= e.Form.Controls("开始时间")
Dim cjssj As WinForm.DateTimePicker= e.Form.Controls("结束时间")
Dim Cst As WinForm.ComboBox= e.Form.Controls("所属食堂")
Dim Cpyjm As winform.combobox=e.Form.controls("拼音简码")
Dim Cwzdl As WinForm.ComboBox=e.Form.controls("大类")
'Dim Crkdh As WinForm.ComboBox=e.Form.controls("入库单号")
Dim Ccklx As WinForm.ComboBox=e.Form.controls("出库类型")
Dim Cwzly As WinForm.ComboBox=e.Form.controls("物资来源")

Dim StrFind As String

StrFind = ""

If trim(Cwzdl.Text) <> ""
    StrFind = trim(StrFind) +  "and ssdl  =  '"& Cwzdl.Text &"' "
End If

If trim(Cpyjm.Text) <> ""
    StrFind = trim(StrFind) +  "and pyjm  =  '"& Cpyjm.Text &"' "
End If

If trim(Cst.Text) <> ""
    StrFind = trim(StrFind) +  "and stm  =  '"& Cst.Text &"' "
End If

If trim(Ckssj.text)<>""
    StrFind = trim(StrFind) + "and rksj>= '"& Ckssj.text &"'"
End If

If trim(Cjssj.text)<>""
    StrFind = trim(StrFind) + "and rksj<= '"& Cjssj.text &"'"
End If

If trim(Ccklx.Text) <> ""
    StrFind = trim(StrFind) +  "and cklx  =  '"& Ccklx.Text &"' "
End If

If trim(Cwzly.Text) <> ""
    StrFind = trim(StrFind) +  "and qh_rkdmx.ly =  '"& Cwzly.Text &"' "
End If

If trim(StrFind)<>""
    StrFind=trim(StrFind).SubString(3)
End If

DataTables("qh_rkdmxcx").LoadFilter=StrFind  %qh_rkdmxcx是查询表,由表qh_rkdmx和qh_rkd查询而来。
DataTables("qh_rkdmxcx").Load()
Tables("qh_rkdmxcx").Filter=StrFind
Tables("qh_rkdmxcx").Sort = "rksj,stm"

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


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

 1、我要你贴出查询表的sql语句,也就是qh_rkdmxcx是怎么来的

 

 2、你贴出 strFind 最后得到的值是什么


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


加好友 发短信
等级:童狐 帖子:208 积分:2215 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2014/9/14 20:50:00 [只看该作者]

如果去掉   StrFind = trim(StrFind) +  "and qh_rkdmx.ly =  '"& Cwzly.Text &"' " 运行是正常的。

最后的 StrFind=trim(StrFind).SubString(3)是为了去掉可能地多余字符

Select  {qh_rkdmx}.ID,rkdhxh,wzbm,wzmc,pyjm,ssdl,gg,dw,sl,dj,jsje,xzje,{qh_rkdmx}.rklx,cklx,{qh_rkdmx}.ly,{qh_rkdmx}.fkfs,ftts,{qh_rkdmx}.bz,ckmdd,{qh_rkd}.rkdh,stm,pzh,rksj,zdsj,zdr,{qh_rkdmx}.rkdh From {qh_rkdmx} Inner JOIN {qh_rkd} ON {qh_rkd}.[rkdh] = {qh_rkdmx}.[rkdh] Where qh_rkdmx.rkdh=qh_rkd.rkdh
[此贴子已经被作者于2014-9-14 20:50:44编辑过]

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


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

 1、查询表改成

 

Select  {qh_rkdmx}.ID,rkdhxh,wzbm,wzmc,pyjm,ssdl,gg,dw,sl,dj,jsje,xzje,{qh_rkdmx}.rklx,cklx,{qh_rkdmx}.ly,{qh_rkdmx}.fkfs,ftts,{qh_rkdmx}.bz,ckmdd,{qh_rkd}.rkdh,stm,pzh,rksj,zdsj,zdr,{qh_rkdmx}.rkdh From {qh_rkdmx} Inner JOIN {qh_rkd} ON {qh_rkd}.[rkdh] = {qh_rkdmx}.[rkdh]

 

 2、这段改一下

 

DataTables("qh_rkdmxcx").LoadFilter=StrFind  %qh_rkdmxcx是查询表,由表qh_rkdmx和qh_rkd查询而来。
DataTables("qh_rkdmxcx").Load()
Tables("qh_rkdmxcx").Filter=StrFind
Tables("qh_rkdmxcx").Sort = "rksj,stm"

 

-------------

 

 改成

 

DataTables("qh_rkdmxcx").LoadFilter="{qh_rkdmx}.ly = '张三'"
DataTables("qh_rkdmxcx").Load()
Tables("qh_rkdmxcx").Filter=StrFind
Tables("qh_rkdmxcx").Sort = "rksj,stm"
[此贴子已经被作者于2014-9-14 20:59:05编辑过]

 回到顶部
总数 11 1 2 下一页