Foxtable(狐表)用户栏目专家坐堂 → 关于merger的一个问题


  共有3476人关注过本帖平板打印复制链接

主题:关于merger的一个问题

帅哥哟,离线,有人找我吗?
东坡一剑
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
关于merger的一个问题  发帖心情 Post By:2013/10/9 13:24:00 [只看该作者]

用下面一段代码想将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()

代码所在的窗口所有控件的代码没有'在途明细'几个字,相关的表事件的代码好像也没有 '在途明细'几个字,测试了半天找不到问题所在,只好请教专家了!


 回到顶部