以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何将窗体中尚未保存的记录导出到EXCEL (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61022) |
-- 作者:sloyy -- 发布时间:2014/12/5 13:47:00 -- 如何将窗体中尚未保存的记录导出到EXCEL 我写了如下代码: Dim ex As New Exporter ex.SourceTableName ="游客收支表" \'指定导出表 Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.FileName="团队游客名单" dlg.OverwritePrompt=True dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 ex.FilePath = dlg.FileName \'指定目标文件 ex.Format = "Excel" \'导出格式为Excel ex.NewTableName="游客名单" ex.Fields = "姓名,性别,手机号码,单位" \'指定导出字段 ex.Filter ="[团号] = \'12345678\'" \'指定导出条件 ex.Export() \'开始导出 End If 结果发现:未保存的记录,导出是空白记录,应该如何修改这段代码? 我现在采取的办法是先保存再导出; 有没有不保存就能导出的办法?
|
-- 作者:Bin -- 发布时间:2014/12/5 14:01:00 -- 根据代码理应没保存都能导出到. 因为取的不是数据库的里的数据,还是说你的保存指的意思不一样. 上个例子看看
|
-- 作者:有点甜 -- 发布时间:2014/12/5 14:33:00 -- 导出的记录是空的。
可能性:你的表名不是窗口表的名字;或者你设置的条件 团号 = \'12345678\' 没有符合条件的记录 |
-- 作者:sloyy -- 发布时间:2014/12/5 15:49:00 -- 我检查了一下,窗体中的表是个关联表 那么这个表名该怎么写? ex.SourceTableName ="游客收支表" \'指定导出表 我写了 预结算单.游客收支表 通不过
|
-- 作者:有点甜 -- 发布时间:2014/12/5 15:54:00 -- 这个表,写 游客收支表
然后,在filter那里,要设置一下 ex.Filter = "关联列 = \'" & Tables("主表").Filter("关联列") & "\'" |
-- 作者:sloyy -- 发布时间:2014/12/9 10:49:00 -- 我的主表是: 预结算单 所以代码如下: Dim ex As New Exporter ex.SourceTableName ="游客收支表" \'指定导出表 Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.FileName="团队游客名单" dlg.OverwritePrompt=True dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 ex.FilePath = dlg.FileName \'指定目标文件 ex.Format = "Excel" \'导出格式为Excel ex.NewTableName="游客名单" ex.Fields = "姓名,性别,手机号码,单位" \'指定导出字段 ex.Filter ="[团号] = " & Tables("预结算单").Filter("团号") & "\'" \'指定导出条件 ex.Export() \'开始导出 End If 结果 出现错误提示: 从字符串“团号”到类型“Integer”的转换无效。
[此贴子已经被作者于2014-12-9 10:49:38编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/12/9 11:20:00 -- ex.Filter ="[团号] = \'" & Tables("预结算单").Current("团号") & "\'" \'指定导出条件 |