以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  OuterTableBuilder 使用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173424)

--  作者:zsxx999ja
--  发布时间:2021/11/29 11:40:00
--  OuterTableBuilder 使用问题
Dim q As new OuterTableBuilder
q.TableName = "儿保明细表_外部数据源"
q.TableCaption = "儿保明细表_外部数据源"
q.C
q.S electString = "S elect _Identify,姓名,性别 From {箭滩儿保_主表}"
q.Build

图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
 
如果将 q.S electString = "S elect _Identify,姓名,性别 From {箭滩儿保_主表}"
         改为 q.S electString = "S elect * From {箭滩儿保_主表}“
结果就不报错
问题1:不报错时,生成的外部数据表为什么在哪里,是在外部数据源里还是内部数据源里,为什么都找不到?
问题2:q.S electString = "S elect _Identify,姓名,性别 From {箭滩儿保_主表}  获取部分列时出错?如何写




--  作者:有点蓝
--  发布时间:2021/11/29 11:41:00
--  
加上中括号

q.SelectString = "Select [_Identify],姓名,性别 From {箭滩儿保_主表} 
--  作者:zsxx999ja
--  发布时间:2021/11/29 11:58:00
--  
问题1:不报错时,生成的外部数据表为什么在哪里,是在外部数据源里还是内部数据源里,为什么都找不到?
--  作者:liufucan
--  发布时间:2021/11/29 12:21:00
--  
这种方式生成的只是临时表
--  作者:zsxx999ja
--  发布时间:2021/11/29 13:07:00
--  
outtablebuilder, datatablebuilder 生成的表都是临时表,那么如何运用数据表与临时表,或临时表与临时表来生成新的查询表?
--  作者:有点蓝
--  发布时间:2021/11/29 13:33:00
--  
同一个数据库的,直接使用sql生成查询表:http://www.foxtable.com/webhelp/topics/0695.htm

不同数据库的,或者内部表和外部表:http://www.foxtable.com/webhelp/topics/2320.htm

--  作者:zsxx999ja
--  发布时间:2021/11/29 22:37:00
--  
看了上面的帮助,但查询表与临时表怎么也连接不了?
1、这是一DataTableaBuilder生成的临时表:
Dim dtb As New DataTableBuilder("查询")
dtb.AddDef("姓名",Gettype(String),10)
dtb.AddDef("性别",Gettype(String),10)
For Each v As String In DataTables("箭滩儿保查询").GetValues("月龄","","月龄序号")
    dtb.AddDef(v, Gettype(String),10)
Next
dtb.Build()
Dim Arys As List(Of String())
Arys = DataTables("箭滩儿保查询").GetValues("姓名|性别") \'列名用符号|分割
\'注意循环变量是字符型数组,所以类型是String(),而不是String
For Each Ary As String() In Arys
    
    Dim dr1 As DataRow = DataTables("查询").AddNew()
    dr1("姓名") = Ary(0)
    dr1("性别") = Ary(1)
    For Each dr2 As DataRow In DataTables ("箭滩儿保查询").S elect("姓名 = \'" & Ary(0) & "\' And 性别 = \'" & Ary(1) & "\'")
    dr1(dr2("月龄")) = dr2("月龄")
    Next
Next
MainTable = Tables("查询")

2、这是一个 QueryBuilder 生成的查询表
q.TableName = "统计"
q.C
q.S electString = "S elect [_identify],父亲姓名,姓名 From {箭滩儿保_主表}"
q.Build

3。如何将上面的两表以姓名为关联,生成一个具有姓名,性别,父亲姓名的两表字段都有的新表?我用Merge组合不了,原因是
DataTableBuilder生成的临时表不具有merge方法

--  作者:有点蓝
--  发布时间:2021/11/29 23:09:00
--  
一条SQL关联查询

q.S electString = "S elect a.父亲姓名,a.姓名,b.
性别,b.月龄 From {箭滩儿保_主表} as a left join 箭滩儿保查询 as b on a.姓名=b.姓名"
--  作者:zsxx999ja
--  发布时间:2021/11/29 23:31:00
--  

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

因为"箭滩儿保_主表"是个外部表,"箭滩儿保查询"是一上内部表(并且其月龄字段是竖排的,我是要将期转成横排,再与”箭滩儿保_主表“这个外部表连接查询)

图片点击可在新窗口打开查看此主题相关图片如下:竖表.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:横表.jpg
图片点击可在新窗口打开查看



--  作者:zsxx999ja
--  发布时间:2021/11/29 23:36:00
--  
我也试作将这个查询的语句直接放在sql中执行也是错的,无论选内部数据源还是外部数据源都报同样的错

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