以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 导出至少一个参数没有被指定值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88870) |
-- 作者:huhu -- 发布时间:2016/8/10 18:43:00 -- 导出至少一个参数没有被指定值 报错信息 .NET Framework 版本:2.0.50727.7905 Foxtable 版本:2016.6.26.1 错误所在事件: 详细错误信息: 至少一个参数没有被指定值。 导出按钮代码: Dim r As Row = Tables("工单明细").Current DataTables("扫描配货明细").LoadFilter = "收货单号 = \'" & r("收货单号") & "\' and (状态 = \'生产结束扫描完成\' or 状态 = \'生成收货单\')" DataTables("扫描配货明细").Load Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim ex As New Exporter ex.SourceTableName = "扫描配货明细" \'指定导出表 ex.FilePath = dlg.FileName \'指定目标文件 ex.Format = "Excel" \'导出格式为Excel ex.Fields = "SN,生产订单号码工单行号,状态,入库方式" \'指定导出字段 ex.Filter = "[收货单号] = \'" & r("收货单号") & "\' and ([状态] = \'生产结束扫描完成\' or [状态] = \'生成收货单\')" \'指定导出条件 ex.Export() \'开始导出 MessageBox.show("保存路径:" & dlg.filename,"导出成功",MessageBoxButtons.OK,MessageBoxIcon.Information) End If [此贴子已经被作者于2016/8/10 18:43:50编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/8/10 19:46:00 -- 提示很明显,你的列名写错了,或者是列名是表达式列。 |
-- 作者:huhu -- 发布时间:2016/8/12 9:45:00 -- 检查了。列名都是对的,也没有表达式。 |
-- 作者:大红袍 -- 发布时间:2016/8/12 9:53:00 -- 去看你sqlserver数据库,肯定是列名写错了。
去掉代码
ex.Filter = "[收货单号] = \'" & r("收货单号") & "\' and ([状态] = \'生产结束扫描完成\' or [状态] = \'生成收货单\')" \'指定导出条件
加入代码
msgbbox("收货单号 = \'" & r("收货单号") & "\'") |
-- 作者:huhu -- 发布时间:2016/8/13 9:50:00 -- Dim r As Row = Tables("工单明细").Current DataTables("扫描配货明细").LoadFilter = "收货单号 = \'" & r("收货单号") & "\' " DataTables("扫描配货明细").Load msgbox("收货单号 = \'" & r("收货单号") & "\'") 怎么不是当前行的收货单号呢? 此主题相关图片如下:qq截图20160813094619.png |
-- 作者:Hyphen -- 发布时间:2016/8/13 10:01:00 -- 窗口表是副本吧http://www.foxtable.com/webhelp/scr/1906.htm |
-- 作者:huhu -- 发布时间:2016/8/13 10:14:00 -- 确实是副本表。显示收货单号是对的,扫描配货明细加载的也是的对的。 代码改了还是报至少缺一个参数
Dim r As Row = Tables("库存管理界面_table7").Current DataTables("扫描配货明细").LoadFilter = "收货单号 = \'" & r("收货单号") & "\' " DataTables("扫描配货明细").Load msgbox("收货单号 = \'" & r("收货单号") & "\'") Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim ex As New Exporter ex.SourceTableName = "扫描配货明细" \'指定导出表 ex.FilePath = dlg.FileName \'指定目标文件 ex.Format = "Excel" \'导出格式为Excel ex.Fields = "SN" \'指定导出字段 ex.Filter = "[收货单号] = \'" & r("收货单号") & "\'" \'指定导出条件 msgbox("收货单号 = \'" & r("收货单号") & "\'") ex.Export() \'开始导出 MessageBox.show("保存路径:" & dlg.filename,"导出成功",MessageBoxButtons.OK,MessageBoxIcon.Information) End If |
-- 作者:Hyphen -- 发布时间:2016/8/13 10:24:00 -- 提示全部都弹出来了吗,分别弹出什么值 "扫描配货明细"有没有"SN" 和[收货单号] 这2列
|
-- 作者:huhu -- 发布时间:2016/8/13 10:37:00 -- 此主题相关图片如下:第一次.png 2次弹出的收货单号都是对的。当第二次弹出的时候,点击确定就提示至少一个参数未指定。 扫描配货明细表也是加载的这个收货单号的数据。 有SN列和收货单号列。
[此贴子已经被作者于2016/8/13 10:38:20编辑过]
|
-- 作者:Hyphen -- 发布时间:2016/8/13 10:47:00 -- 上个例子看看吧 |