以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SELECT 子句中包含一个保留字、拼写错误或丢失的参... (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129119) |
-- 作者:HJG_HB950207 -- 发布时间:2018/12/21 19:52:00 -- SELECT 子句中包含一个保留字、拼写错误或丢失的参... 从电子表格中导表,程序一直很正常,但今天突然出现提示“SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。” ,且以前的使用正常的也出现此问题,不知啥原因,谢谢老师诊断,代码如下(从电子表格中导表): If e.Form.Controls("TextBox2").Text= "1234" Then Dim flg As New SaveExcelFlags flg.RowNumber = True flg.CellStyle = True Tables("入站距离").SaveExcel("D:\\data\\入站距离备份.Xls","",flg) Forms("窗口1").OPEN Dim dlg As New OpenFileDialog dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" If dlg.ShowDialog = DialogResult.Ok Then Dim book As new XLS.Book(dlg.FileName) Dim flag As Boolean = False For Each sheet As XLS.Sheet In book.Sheets If sheet.name = "sheet1" Then flag = True End If Next If flag Then Dim ip As New Importer ip.SourcePath = dlg.FileName ip.SourceTableName = "sheet1$" ip.NewTableName ="距离" ip.Format = "Excel" ip.Import() Else Forms("窗口1").close msgbox("不存在sheet1") Return MainTable = Tables("表A1") End If End If If DataTables.Contains("入站距离") Then For Each dc As DataCol In DataTables("入站距离").datacols If DataTables("距离").datacols.Contains(dc.name) = False Then Forms("窗口1").close msgbox("所录入表非所需资料") If DataTables.Contains("距离") Then MainTable = Tables("距离") CurrentTable.DataTable.DataRows.Clear() Dim Builder As New ADOXBuilder Builder.Open() With Builder .DeleteTable("距离") End With Builder.Close() DataTables.Unload("距离") End If MainTable = Tables("表A1") Return End If Next MainTable = Tables("入站距离") CurrentTable.DataTable.DataRows.Clear() \'DataTables("表A1").DeleteFor("") Dim f As New Filler f.SourceTable = DataTables("距离") \'指定数据来源 f.SourceCols = "入口站号,入口站名,距离" f.DataTable = DataTables("入站距离") \'指定数据接收表 f.DataCols = "入口站号,入口站名,距离" \'指定数据接收列 f.Fill() \'填充数据 Forms("窗口1").Close() If DataTables.Contains("距离") Then MainTable = Tables("距离") CurrentTable.DataTable.DataRows.Clear() Dim Builder As New ADOXBuilder Builder.Open() With Builder .DeleteTable("距离") End With Builder.Close() DataTables.Unload("距离") End If DataTables("入站距离").Save() MainTable = Tables("表A1") msgbox("距离录入已OK! ") Return Else Forms("窗口1").Close() msgbox("导入表名不正确或电子表格格式有问题") If DataTables.Contains("距离") Then MainTable = Tables("距离") CurrentTable.DataTable.DataRows.Clear() Dim Builder As New ADOXBuilder Builder.Open() With Builder .DeleteTable("距离") End With Builder.Close() DataTables.Unload("距离") End If Return End If Else Forms("窗口1").Close() msgbox("密码错误") End If
|
-- 作者:有点蓝 -- 发布时间:2018/12/21 20:35:00 -- 代码看不出什么问题。调试看是哪一句代码出错:http://www.foxtable.com/webhelp/scr/1485.htm 大概看了一些逻辑,直接获取execl单元格数据导入不行么(比如:http://www.foxtable.com/webhelp/scr/2334.htm),搞得还要导入-填充-删除一系列的操作?
|