Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

查询设计视图转vba代码SQL语句出错!

阳阳  发表于:2020-05-18 16:44:53  
复制

请教各位大佬,我是从一个查询Sql视图复制Sql语句到vba编辑中,修改后不能正常运行!如果去掉红色部分语句可以正常运行,为什么?请指教!谢谢

如果去掉:DLookUp("实际材质","材质表","材质='" & [钢种] & "'") AS 材质 这段语句就可以了!不知道怎么修改。

Private Sub Cmd_OutToExcel_Click()

   Dim Rs As DAO.Recordset
   Dim StrSql As String
   Dim qdf As QueryDef
   StrSql = "SELECT 订单.订单日期, 客户.客户简称, 订单明细.类型, 订单明细.类别, 订单明细.厚, 订单明细.宽, 订单明细.长, 订单明细.订单规格, 订单明细.订单数量, 订单明细.重量, 订单明细.加工单价, 订单明细.单件基本价, Round(IIf([是否含税]=True,[金额],[金额]*(1+订单明细!税率)),2) AS 订单含税金额, 订单明细.材料费用, [订单素材单重]*[订单数量] AS 毛料重, Round(IIf([是否含税]=True,[金额],[金额]*(1+订单明细!税率))-[材料费用],2) AS 毛利润, 车间产值表.完工日期, IIf([材质类]=2,'钢料','铁料') AS 材质类别, IIf([类型] Like '* 来料 *','来料加工','光板/素材') AS 生产类型, Format([完工日期],'yyyy/mm') AS 年月,DLookUp("实际材质","材质表","材质='" & [钢种] & "'") AS 材质 " _
        & "FROM (客户 RIGHT JOIN (订单明细 LEFT JOIN 订单 ON 订单明细.订单单号 = 订单.订单单号) ON 客户.客户编号 = 订单.客户名称) LEFT JOIN 车间产值表 ON 订单明细.订单序号 = 车间产值表.订单序号"
       
  
   Set Rs = CurrentDb.OpenRecordset(StrSql)
   
   Rs.MoveLast
   Rs.MoveFirst
   MsgBox Rs.RecordCount
   Set Rs = Nothing
End Sub

 

Top
阳阳 发表于:2020-05-18 17:10:28

修改后,还是出现编译错误,缺少结束语句,请哪位老师指点迷津,谢谢。。。

Private Sub Cmd_OutToExcel_Click()

   Dim Rs As DAO.Recordset
   Dim StrSql As String
   Dim qdf As QueryDef
   StrSql = "SELECT 订单.订单日期, 客户.客户简称, 订单明细.类型, 订单明细.类别, 订单明细.厚, 订单明细.宽, 订单明细.长, 订单明细.订单规格, 订单明细.订单数量, 订单明细.重量, 订单明细.加工单价, 订单明细.单件基本价, Round(IIf([是否含税]=True,[金额],[金额]*(1+订单明细!税率)),2) AS 订单含税金额, 订单明细.材料费用, [订单素材单重]*[订单数量] AS 毛料重, Round(IIf([是否含税]=True,[金额],[金额]*(1+订单明细!税率))-[材料费用],2) AS 毛利润, 车间产值表.完工日期, IIf([材质类]=2,'钢料','铁料') AS 材质类别, IIf([类型] Like '* 来料 *','来料加工','光板/素材') AS 生产类型, Format([完工日期],'yyyy/mm') AS 年月,DLookup("[实际材质]", "材质表", "[材质] ='" & [钢种] & "'") " _
          & "Forms!Shippers!ShipperID)AS 材质 " _
          & "FROM (客户 RIGHT JOIN (订单明细 LEFT JOIN 订单 ON 订单明细.订单单号 = 订单.订单单号) ON 客户.客户编号 = 订单.客户名称) LEFT JOIN 车间产值表 ON 订单明细.订单序号 = 车间产值表.订单序号"




   Set Rs = CurrentDb.OpenRecordset(StrSql)


   Rs.MoveLast
   Rs.MoveFirst
   MsgBox Rs.RecordCount
   Set Rs = Nothing
End Sub


name 发表于:2020-05-20 19:34:43

双引号导致的错误 

DLookup('[实际材质]', '材质表', '[材质] =" & [钢种] & "') "



西出阳关无故人 发表于:2020-05-20 20:36:45
...  DLookup('[实际材质]', '材质表', '[材质] ='" & [钢种] & "') "  ...

总记录:3篇  页次:1/1 9 1 :