设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 224|回复: 2
打印 上一主题 下一主题

"."、"!"或"()"使用非法

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2024-1-12 14:13:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
哪位大神能给看看,运行提示符号使用非法。仔细检查了,没有错误的地方啊!
语句有点长!!

select lsbb.员工编号,lsbb.员工姓名,lsbb.员工性质,lsbb.员工类别,lsbb.工作单位,lsbb.职务,lsbb.工资关系单位,lsbb.法人简称,lsbb.本月工资,lsbb.本月奖金,lsbb.本月不计税收入,rounda(lsbb.养老比例*lsbb.养老基数,2) as 养老单位,iif(lsbb.法人简称='服装厂',iif(31164>75511,Rounda(lsbb.上月计税收入*31164*lsbb.医疗比例/31164,2),rounda(lsbb.医疗比例*lsbb.医疗基数,2)),iif(lsbb.法人简称 like '*油田*',rounda(lsbb.医疗比例*lsbb.医疗基数,2),iif(lsbb.法人简称='广源',iif(1332051<6623*230,rounda(6623*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),iif(lsbb.法人简称='油隆',iif(185957<6623*29,rounda(6623*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),iif(lsbb.法人简称='天衣隆',iif(16355<6623*3,rounda(6623*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗基数.2)),iif(lsbb.法人简称='加油站',iif(57073<6623*11,rounda(6623*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),rounda(lsbb.医疗比例*lsbb.医疗基数,2))))))) as 医疗单位,iif(lsbb.高额医疗=66,66,iif(lsbb.高额医疗=50,50,0)) as 高额单位,iif(lsbb.法人简称='服装厂',iif(mid('2023年十二月',6,4)='一月',260,0),0) as 补充医疗,rounda(lsbb.工伤比例*lsbb.养老基数,2) as 工伤单位,iif(lsbb.法人简称='服装厂',8,0) as 补充工伤,rounda(lsbb.失业比例*lsbb.失业基数,2) as 失业单位,rounda(lsbb.公积金比例*lsbb.公积金基数,0) as 公积金单位,iif(lsbb.员工类别='合同化员工',rounda(182691.04*lsbb.企业年金/79397.4,2),rounda(123533.44*lsbb.企业年金/60572.4,2)) as 年金单位,lsbb.其他比例 into lsba from lsbb


1.png (12.71 KB, 下载次数: 11)

1.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
 楼主| 发表于 2024-1-12 14:16:28 | 只看该作者
原句中的代码,上面是变量替换后的结果
strsql1 = "select lsbb.员工编号,lsbb.员工姓名,lsbb.员工性质,lsbb.员工类别,lsbb.工作单位,lsbb.职务,lsbb.工资关系单位,lsbb.法人简称,lsbb.本月工资,lsbb.本月奖金,lsbb.本月不计税收入,rounda(lsbb.养老比例*lsbb.养老基数,2) as 养老单位,"
    strsql2 = "iif(lsbb.法人简称='服装厂',iif(" & SRGZZE(5) & ">" & YLJSHJ(5) & ",Rounda(lsbb.上月计税收入*" & SRGZZE(5) & "*lsbb.医疗比例/" & ZZSRGZZE(5) & ",2),rounda(lsbb.医疗比例*lsbb.医疗基数,2)),iif(lsbb.法人简称 like '*油田*',rounda(lsbb.医疗比例*lsbb.医疗基数,2),"
    strsql3 = "iif(lsbb.法人简称='广源',iif(" & YLJSHJ(3) & "<" & syyljs & "*" & YLRS(3) & ",rounda(" & syyljs & "*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),iif(lsbb.法人简称='油隆',iif(" & YLJSHJ(4) & "<" & syyljs & "*" & YLRS(4) & ",rounda(" & syyljs & "*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),"
    strsql4 = "iif(lsbb.法人简称='天衣隆',iif(" & YLJSHJ(6) & "<" & syyljs & "*" & YLRS(6) & ",rounda(" & syyljs & "*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗基数.2)),iif(lsbb.法人简称='加油站',iif(" & YLJSHJ(7) & "<" & syyljs & "*" & YLRS(7) & ",rounda(" & syyljs & "*lsbb.医疗比例,2),rounda(lsbb.医疗基数*lsbb.医疗比例,2)),rounda(lsbb.医疗比例*lsbb.医疗基数,2))))))) as 医疗单位,"
    strsql5 = "iif(lsbb.高额医疗=66,66,iif(lsbb.高额医疗=50,50,0)) as 高额单位,iif(lsbb.法人简称='服装厂',iif(mid('" + getyf() + "',6,4)='一月',260,0),0) as 补充医疗,rounda(lsbb.工伤比例*lsbb.养老基数,2) as 工伤单位,iif(lsbb.法人简称='服装厂',8,0) as 补充工伤,rounda(lsbb.失业比例*lsbb.失业基数,2) as 失业单位,rounda(lsbb.公积金比例*lsbb.公积金基数,0) as 公积金单位,iif(lsbb.员工类别='合同化员工',rounda(" & hthNJDW & "*lsbb.企业年金/" & hthNJZE & ",2),rounda(" & schNJDW & "*lsbb.企业年金/" & schNJZE & ",2)) as 年金单位,lsbb.其他比例 into lsba from lsbb"
    strsql = strsql1 + strsql2 + strsql3 + strsql4 + strsql5
3#
发表于 2024-1-20 01:11:08 | 只看该作者
首先,不要搞一大堆很长的SQL。最好是上实例。
其次,开发平台的问题,应该找下站长
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 18:15 , Processed in 0.096496 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表