用下面一段代码想将Excel表中的数据合并到foxtable中
Dim sts As String()
sts = New String() {"收货库房","发货单位","发货人","收货人","收货单位","发货库房","单据类型"}
Dim r As Row = Tables("出库记录").AddNew()
Dim s As String
r("出库单号") = e.Form.Controls("出库单号").value
For Each s In sts
r(s) = e.Form.Controls(s).Value
Next
r.save()
Messagebox.Show(1)
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Dim book As new xls.book(dlg.FileName)
Dim sheet As xls.sheet = book.sheets(0)
Messagebox.Show(1.1)
Dim mg As New Merger
mg.Format = "excel" '指定格式
mg.SourcePath = dlg.FileName
mg.SourceTableName = sheet.Name
Messagebox.Show(dlg.FileName)
Messagebox.Show(sheet.Name)
mg.DataTableName = "出库明细"
sts = new String(){"箱号","吊牌价","吊牌价格","折扣","数量","货号","颜色","尺码号","产品名称","产品条码"}
Messagebox.Show(1.2)
'
'For Each s In sts
'mg.FieldMaps.add(e.Form.Controls(s).Value,s)
'Next
mg.Merge()
Messagebox.Show(1.5)
For Each dr As DataRow In DataTables("出库明细").DataRows
If dr.IsNull("出库单号") AndAlso dr.IsNull("货号") = False Then
dr("出库单号") = e.Form.Controls("出库单号").Value
End If
Next
End If
Messagebox.Show(2)
DataTables("出库明细").save()
Dim trv As WinForm.TreeView = Forms("货品入库").Controls("TreeView1") '生成在途单的目录树
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "select 单号 From {出库记录} where 收货单位 ='" & User.group & "' And (货品状态 =0 Or 货品状态 Is Null)"
Dim dt As DataTable = cmd.ExecuteReader()
trv.BuildTree(dt,"出库单号")
trv.ExpandAll
MessageBox.Show("导入成功!")
运行到messagebox.show(1.2)到messagebox.show(1.5)之间出现如下错误提示:
Microsoft Jet 数据库引擎找不到对象'在途明细'。请确定对象是否存在,并正确地写出它的名称和路径。
而这之间只有一行有效代码
mg.Merge()
代码所在的窗口所有控件的代码没有'在途明细'几个字,相关的表事件的代码好像也没有 '在途明细'几个字,测试了半天找不到问题所在,只好请教专家了!