以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问错误:不存在名称为"sqlcmd"的datatable?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121209)

--  作者:tennis
--  发布时间:2018/7/1 17:52:00
--  请问错误:不存在名称为"sqlcmd"的datatable?

图片点击可在新窗口打开查看此主题相关图片如下:err.jpg
图片点击可在新窗口打开查看
明明有此表
图片点击可在新窗口打开查看此主题相关图片如下:err2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/7/1 18:36:47编辑过]

--  作者:有点甜
--  发布时间:2018/7/1 20:35:00
--  

1、表添加到foxtable里面了没有?

 

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

 

2、引用尽量的时候,你设置的表名是什么?

 

3、你打开项目的时候,有没有把表格加载显示出来?


--  作者:tennis
--  发布时间:2018/7/2 11:50:00
--  
3Q!!
[此贴子已经被作者于2018/7/6 22:32:19编辑过]

--  作者:有点甜
--  发布时间:2018/7/2 11:53:00
--  

1、贴出的代码,请自动分段,不要写在一起;

 

2、执行代码出现什么错误?请截图说明。

 

3、如果外部数据表之前没有添加过进来,是不能直接load进来的。


--  作者:tennis
--  发布时间:2018/7/2 13:02:00
--  
Dim sqltable As DataTable = DataTables("sqltable")
Dim dlg As New OpenFileDialog
dlg.Filter = "Accese文件|*.mdb"
dlg.MultiSelect = True

If dlg.ShowDialog = DialogResult.Ok Then
    For Each File As String In dlg.FileNames
        \'遍历所选的Access文件名
        If Connections.Contains("newsql") Then     \'判断是否存在某一数据源
            Connections.Delete("newsql")   \'如果有就删除
        End If
        Connections.Add("newsql","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file & ";Persist Security Info=False")   \'把选择的Access文件新建一个数据源      \'
        Dim  conn As Connection = Connections("newsql")    \'定义数据源
        Dim lst As List(Of String)
        lst = conn.GetTableNames  \'所有表
        For Each nm As String In lst
            \'MessageBox.Show(file & "   " & nm)
            DataTables.Load(nm)
            Dim tb As DataTable = DataTables(nm)
            Dim mColCount As Integer = tb.dataCols.count()
            Dim dr As DataRow = sqltable.addnew()
            dr("Fullmdbname") = file
            dr("mdbname") = FileSys.GetName(file)
            dr("cnname") = conn.name
            dr("tablename") = nm
            dr("ColCount") = mColCount
            DataTables.Unload(nm)
        Next
    Next
End If

[此贴子已经被作者于2018/7/2 14:41:39编辑过]

--  作者:tennis
--  发布时间:2018/7/2 13:06:00
--  
从代码编辑器贴出OK,但发表后就全部集在一起不知为什么.
--  作者:tennis
--  发布时间:2018/7/2 13:09:00
--  
遍歷ACCESS存入其表中出現錯誤
--  作者:有点甜
--  发布时间:2018/7/2 14:19:00
--  
以下是引用tennis在2018/7/2 13:06:00的发言:
从代码编辑器贴出OK,但发表后就全部集在一起不知为什么.

 

换一个浏览器访问论坛。


--  作者:有点甜
--  发布时间:2018/7/2 14:20:00
--  
以下是引用tennis在2018/7/2 13:09:00的发言:
遍歷ACCESS存入其表中出現錯誤

 

如果外部数据表之前没有添加过进来,是不能直接load进来的。

 

可以换一种方式加入外部表 http://www.foxtable.com/webhelp/scr/1279.htm

 


--  作者:tennis
--  发布时间:2018/7/2 14:43:00
--  
果然是IE有问题:
Dim sqltable As DataTable = DataTables("sqltable")
Dim dlg As New OpenFileDialog
dlg.Filter = "Accese文件|*.mdb"
dlg.MultiSelect = True

If dlg.ShowDialog = DialogResult.Ok Then
    For Each File As String In dlg.FileNames
        \'遍历所选的Access文件名
        If Connections.Contains("newsql") Then     \'判断是否存在某一数据源
            Connections.Delete("newsql")   \'如果有就删除
        End If
        Connections.Add("newsql","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file & ";Persist Security Info=False")   \'把选择的Access文件新建一个数据源      \'
        Dim  conn As Connection = Connections("newsql")    \'定义数据源
        Dim lst As List(Of String)
        lst = conn.GetTableNames  \'所有表
        For Each nm As String In lst
            \'MessageBox.Show(file & "   " & nm)
            DataTables.Load(nm)
            Dim tb As DataTable = DataTables(nm)
            Dim mColCount As Integer = tb.dataCols.count()
            Dim dr As DataRow = sqltable.addnew()
            dr("Fullmdbname") = file
            dr("mdbname") = FileSys.GetName(file)
            dr("cnname") = conn.name
            dr("tablename") = nm
            dr("ColCount") = mColCount
            DataTables.Unload(nm)
        Next
    Next
End If

代码怎么改?谢谢!