以文本方式查看主题

-  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
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:第二次.png
图片点击可在新窗口打开查看

2次弹出的收货单号都是对的。当第二次弹出的时候,点击确定就提示至少一个参数未指定。
扫描配货明细表也是加载的这个收货单号的数据。
有SN列和收货单号列。

图片点击可在新窗口打开查看此主题相关图片如下:sn和收货单号.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2016/8/13 10:38:20编辑过]

--  作者:Hyphen
--  发布时间:2016/8/13 10:47:00
--  
上个例子看看吧