以文本方式查看主题 - 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=107788) |
||||||||
-- 作者:jayson -- 发布时间:2017/10/10 10:36:00 -- 上传数据报错,关闭不了报错窗口 如题,报错,无法关闭,除非在任务管理器中强制关闭 我的问题是, 对于上传数据,如何用语句对要上传的数据进行检查, 如果上传的字符类型和表中定义类型不一致,提示用户错误,而且提示完错误后,可以关闭窗口 如果字符类型和表中的一致,然后允许上传? ![]() |
||||||||
-- 作者:有点甜 -- 发布时间:2017/10/10 10:40:00 -- 1、你上传的是什么文件?不同的文件格式要用不同的方式打开判断。
2、做个具体的例子发上来测试。 |
||||||||
-- 作者:jayson -- 发布时间:2017/10/10 11:23:00 -- 你好,见附件 这个程序的目的是: 让上传的5行数据,与4个客户(来自于account表),排列组合成 5*4 行,上传到 table uploadmodule
|
||||||||
-- 作者:jayson -- 发布时间:2017/10/10 11:28:00 -- 我给的是没有问题的数据,您可以把单元格 F2 改成 n试试 |
||||||||
-- 作者:有点甜 -- 发布时间:2017/10/10 11:39:00 --
[此贴子已经被作者于2017/10/10 11:40:07编辑过]
|
||||||||
-- 作者:有点甜 -- 发布时间:2017/10/10 11:43:00 -- Dim dlg As New OpenFileDialog dlg.Filter = "Excel文件|*.xls;*.xlsx" If dlg.ShowDialog =DialogResult.OK Then Dim t As Table = Tables("UploadModule") t.StopRedraw() Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) For Each dr As DataRow In DataTables("account").DataRows For n As Integer = 1 To Sheet.Rows.Count -1 Dim r = t.DataTable.AddNew() For i As Integer = 0 To sheet.Cols.Count -1 Dim cname As String = sheet(0, i).text If t.Cols.Contains(cname) Then If t.Cols(cname).IsBoolean Then r(cname) = iif(sheet(n, i).value="0" OrElse sheet(n, i).value="False", False, True) ElseIf t.Cols(cname).IsNumeric Then r(cname) = val(sheet(n, i).text) Else r(cname) = sheet(n, i).text End If End If Next r("account") = dr("account") Next Next t.ResumeRedraw() End If |
||||||||
-- 作者:jayson -- 发布时间:2017/10/10 12:52:00 -- 谢谢 我有另一种思路,但是不知道该怎么写 就是先导入一个account测试数据格式有无错误,如果没有的话,再倒入其他的account 问题是这个有无提示错误怎么用代码表达? 代码如下
Dim dlg As new OpenFileDialog If dlg.ShowDialog = DialogResult.OK
|
||||||||
-- 作者:有点甜 -- 发布时间:2017/10/10 14:14:00 -- 必须用6楼的方法处理。 |