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


  共有3354人关注过本帖树形打印复制链接

主题:关于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()

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


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/9 14:02:00 [只看该作者]

东西发上来瞅瞅.

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


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

 

在打开的窗口中单击“手工导入到货单”打开窗口“导入到货单”

将“记录信息”页面的内容随便填上,单击”普通表导入“ 

 单击“导入”,即可看到这个现象

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.zip


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/9 20:46:00 [只看该作者]

mg.SourceTableName = sheet.Name

上面一句改一下,剩下的错误,你自己看着办吧。

mg.SourceTableName = sheet.Name & “$"

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


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

直接就解决了,感谢!非常感谢!


 回到顶部