Foxtable(狐表)用户栏目专家坐堂 → [求助]fill 生成的SQLtable为何显示为锁定,isQuery已设置为false


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

主题:[求助]fill 生成的SQLtable为何显示为锁定,isQuery已设置为false

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
[求助]fill 生成的SQLtable为何显示为锁定,isQuery已设置为false  发帖心情 Post By:2014/3/17 9:44:00 [显示全部帖子]

如题,窗口中的SQLtable表,属性如下:

图片点击可在新窗口打开查看此主题相关图片如下:属性.jpg
图片点击可在新窗口打开查看
可一加载,表的左上角就显示锁定标记

图片点击可在新窗口打开查看此主题相关图片如下:锁定.jpg
图片点击可在新窗口打开查看
fill 语句如下:

图片点击可在新窗口打开查看此主题相关图片如下:select.jpg
图片点击可在新窗口打开查看
应当能编辑的,但不知为何编辑不了。

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2014/3/17 10:10:00 [显示全部帖子]

谢谢狐爸!还有一个问题:
通过刚才这个fill语句生成的sqltable,可否通过select语句对其进行操作?
Dim cmdText As String="select 父料编号,子料编号,物料名称 from {BOM表} INNER JOIN {物料编号表} ON {BOM表}.子料编号 = {物料编号表}.物料编号 where " & 筛选条件 & " union all " & _
"Select 父料编号,子料编号,物料名称 from {" & tables(窗口名_table1).DataTable.name & "}"
在运行过程中提示没有此SQLtable

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2014/3/17 10:25:00 [显示全部帖子]

BIN 能否帮忙写下这个select 语句:
SQLtable表生成信息如下:
with tables(“窗口_table1”)
    .fill("select [_Identify],物料编号 as 子料编号,物料名称,库存单位 as 单位 from {物料编号表} where 物料编号 in (" & 一级子料 & ")",pubssys2,False)
    If .DataTable.datacols.contains("用量")=False Then
        .DataTable.DataCols.add("父料编号",Gettype(String),Vars("父料"))
        .DataTable.DataCols.add("用量",Gettype(Double))
        .DataTable.DataCols.add("损耗率",Gettype(Double))
    End If
end with
现在想通过cmd.commandtext语句把BOM表与SQLtable表中的数据合并一下,其中提取的列有“父料编号“,”子料编号“,”物料名称 ”
Dim cmdText As String="select 父料编号,子料编号,物料名称 from {BOM表} INNER JOIN {物料编号表} ON {BOM表}.子料编号 = {物料编号表}.物料编号 where " & 筛选条件 & " union all " & _
"Select 父料编号,子料编号,物料名称 from {" & tables(窗口名_table1).DataTable.name & "}"


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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2014/3/17 10:34:00 [显示全部帖子]

我试了下:
Dim cmdText As String="select 父料编号,子料编号,物料名称 from {BOM表} INNER JOIN {物料编号表} ON {BOM表}.子料编号 = {物料编号表}.物料编号 where " & 筛选条件 & " union all " & _
"Select 子料编号,物料名称 from (Select [_Identify],物料编号 As 子料编号,物料名称,库存单位 As 单位 from {物料编号表} where 物料编号 In (" & 一级子料 & ")",pubssys2,False)"
但有两个问题:
1.上面这个语句报错
2.“父料编号”列是后加的,直接用fill语句提取的信息里不含“父料编号”列,不知如何把此列也提取出来?


[此贴子已经被作者于2014-3-17 10:34:52编辑过]

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
回复:(狐狸爸爸)纠正一下?1、Select语句只...  发帖心情 Post By:2014/3/17 11:03:00 [显示全部帖子]

所生成的SQLtable中的“子料编号”,“物料名称” 两列是通过fill语句从{物料编号表}中获取得,但是“父料编号”列是通过.datacols.add()添加的。
BOM表中的数据与SQLtable 中的数据合并到一起,合并后有三列:“父料编号”、“子料编号”,“物料名称” 。
遇到的困难就是:SQLtable表中通过.datacols.add()添加的“父料编号”列如何处理?
select 父料编号,子料编号,物料名称 from {BOM表} INNER JOIN {物料编号表} ON {BOM表}.子料编号 = {物料编号表}.物料编号 where " & 筛选条件 & " union all Select 父料编号,子料编号,物料名称 from (Select [_Identify],物料编号 As 子料编号,物料名称 from {物料编号表} where 物料编号 In (" & 一级子料 & ")"
我也知道union all 前后取值列要一致,但黄色标记的语句中是无法得到“父料编号”列。
不知道问题表没表述清楚

[此贴子已经被作者于2014-3-17 11:05:16编辑过]

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2014/3/17 13:59:00 [显示全部帖子]

知道了,谢谢狐爸和BIN的耐心解答。我换个方式来处理   


 回到顶部