以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据填充找不到表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136451)

--  作者:lgj716330
--  发布时间:2019/6/13 15:17:00
--  [求助]数据填充找不到表
Dim lmFile As String = ProjectPath &  "lm.txt" 
Dim bmFile As String = ProjectPath &  "bm.txt" 
Dim  lm As  String = FileSys.ReadAllText(lmFile,Encoding.Default)
Dim  bm As  String = FileSys.ReadAllText(bmFile,Encoding.Default) 
Dim qj As String
qj = e.Form.Controls("ComboBox1").Text 
Dim Cols1() As String = lm.split(",")
Dim Cols2() As String = {"科目编码","部门编码","职员编码","客户编码","供应商编码","会计期间","借方金额"}
For Each dr1 As DataRow In DataTables(bm).Select("[会计期间] = \'" & qj & "\'")
     Dim dr2 As DataRow = DataTables("辅助总账").AddNew()
     For i As Integer = 0 To Cols1.Length -1
         dr2(Cols2(i)) = dr1(Cols1(i))
     Next
 Next

bm表是外部数据表,bm.txt里写的名称是GL_accass,出现以下错误提示

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

但用查询表并没有问题
select ccode,cdept_id,cperson_id,ccus_id,csup_id,iperiod,md fro m {GL_accass}

什么原因呢

--  作者:有点甜
--  发布时间:2019/6/13 15:28:00
--  

你没有把表格加入foxtable,那不能用datatables的。

 

http://www.foxtable.com/webhelp/scr/1812.htm

 

 


--  作者:lgj716330
--  发布时间:2019/6/13 18:07:00
--  
Dim  jb1 As New SQLJoinTableBuilder("查询表1","acctbook")
jb1.ConnectionNam e = "yo" 
jb1.ConnectionNam e = "cw" 
 jb1.AddTable("acctbook","projectid","现金流量档案","项目编码") \'添加统计表
 jb1.AddCols("收支类别","现金流量大类","现金流量小类","现金流量项目","debit","credit")

jb1.Build()

提示对象名无效,acctbook是外部数据表,但没有表格加到foxtable,是不是必须要把表格加进来才行?
[此贴子已经被作者于2019/6/13 18:11:59编辑过]

--  作者:有点甜
--  发布时间:2019/6/13 18:11:00
--  

对于 SQLJoinTableBuilder 表格,不需要引入到foxtable。

 

只要你各个表,在同一个数据源里面,就可以。根据提示,你的表名写错,或者数据库没有表。


--  作者:lgj716330
--  发布时间:2019/6/13 18:14:00
--  
数据库里是有这个表的,表名我写全也没用,dbo.cn_acctbook,是不是两个表在不同的数据源不行
acctbook的数据源是yo,现金流量档案的数据源是cw
[此贴子已经被作者于2019/6/13 18:16:19编辑过]

--  作者:有点甜
--  发布时间:2019/6/13 18:25:00
--  

如果两个数据源在同一个sqlserver服务器上,可以,如代码

 

Dim  jb1 As New SQLJoinTableBuilder("查询表1","cn_acctbook")
jb1.ConnectionName = "yo" 
jb1.AddTable("cn_acctbook","projectid","数据库名.ado.现金流量档案","项目编码") \'添加统计表
jb1.AddCols("收支类别","现金流量大类","现金流量小类","现金流量项目","debit","credit")

jb1.Build()
 
如果还不行,那只能用sql语句处理了
[此贴子已经被作者于2019/6/13 18:25:27编辑过]

--  作者:lgj716330
--  发布时间:2019/6/13 18:39:00
--  
不同的服务器
--  作者:有点甜
--  发布时间:2019/6/13 18:52:00
--  
以下是引用lgj716330在2019/6/13 18:39:00的发言:
不同的服务器

 

那这个没办法。必须填充数据到一个数据源,才能连接。

 


--  作者:lgj716330
--  发布时间:2019/6/14 11:32:00
--  
我现在改成了在同一个服务器上,提示“对象名 \'数据库名.dbo.现金流量档案\' 无效。”
检查了数据库名没写错

--  作者:有点甜
--  发布时间:2019/6/14 12:05:00
--  
以下是引用lgj716330在2019/6/14 11:32:00的发言:
我现在改成了在同一个服务器上,提示“对象名 \'数据库名.dbo.现金流量档案\' 无效。”
检查了数据库名没写错

 

改成sql语句处理,如

 

select * from 数据库名.dbo.现金流量档案 as a inner join 表B as b on a.第一列=b.第一列