以下是引用Bin在2013-5-4 9:42:00的发言:
你弹出一下你拼接的字符串有没正确. where 字段名 in () 这样才对
Dim value As String = str.trim(",")
Tables("数据导出_导出清单").Fill("Select {项目总表}.项目编号,{项目总表}.品名,{项目总表}.型号,零件号,零件名称,规格,材质,产品件数,单位数量,备注,生产工艺,规定发货日,仓库_库位代码,生产部_物料采购申购数量,生产部_物料采购申请日,采购部_计划到厂日,采购部_实际到厂日,采购部_采购备注,仓库_原材料领料完成日,车工_机加粗车完成日,生产部_零件外发申请日,采购部_外协计划完成日,采购部_外协实际完成日,钳工_焊接or热处理完成日,车工_机加精车完成日,质量部_装配物料检验完成日,仓库_装配物料入库完成日,{项目总表}.装配整机完成日,整机检验完成日,延迟原因,单位数量 * {项目总表}.产品件数 As [生产数量] From {零件表} Inner JOIN {项目总表} ON {项目总表}.[项目编号] = {零件表}.[项目编号] And {项目总表}.[型号] = {零件表}.[型号] WHERE {项目总表}.项目编号 IN (value)","atwdb",True)
messagebox.show(value) 的值是正确的
如果我把 in里面的直接替换成编号名称 是能正常显示的