ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3046|回复: 9

[求助] 标准表达式中数据类型不匹配

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-8-12 08:43 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
设 送货单号 为文本型时就会出现图1的错误。
但更改 送货单号 为数值型时不会出现错误。

定义 me!订单id 为 string类型也无法解决此问题。
不知道该如何定义了,希望能得到坛友们的帮助,谢谢
1.jpg
2.jpg

TA的精华主题

TA的得分主题

发表于 2009-8-12 09:02 | 显示全部楼层
"select ..... from 送货明细表 where 送货单号= '" & me.送货单号 & "'"

TA的精华主题

TA的得分主题

发表于 2009-9-16 14:19 | 显示全部楼层

标准表达式中数据类型不匹配

我也遇到同样的问题,但是还没解决,大家帮帮忙吧。
sql = "SELECT SUM(4),SUM(5),SUM(6),SUM(7),SUM(8),SUM(9),SUM(10),SUM(11),SUM(12),SUM(1),SUM(2),SUM(3) FROM [Sheet1$] WHERE 成本中心 = 4500 "
sql = sql + " AND  资产 = '" & rsX.Fields.Item(0) & "'"

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-16 14:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-9-16 14:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
具体的说是这样的,
sql = "SELECT SUM(4),SUM(5),SUM(6),SUM(7),SUM(8),SUM(9),SUM(10),SUM(11),SUM(12),SUM(1),SUM(2),SUM(3) FROM [Sheet1$] WHERE 成本中心 = 4500 and 固变区分='AB' and CODE = 'C705AB' "
这样会报错,而把SQL改成
sql = "SELECT SUM(4),SUM(5),SUM(6),SUM(7),SUM(8),SUM(9),SUM(10),SUM(11),SUM(12),SUM(1),SUM(2),SUM(3) FROM [Sheet1$] WHERE 成本中心 = 4500 and 固变区分='AB' and CODE = '733045' "
就不会报错。

TA的精华主题

TA的得分主题

发表于 2009-9-16 14:27 | 显示全部楼层
zhufree,改成单引号报错信息就成,至少一个参数没有被指定值。
代码具体如下:
For m = 0 To UBound(dept)
                        sql = "SELECT SUM(4),SUM(5),SUM(6),SUM(7),SUM(8),SUM(9),SUM(10),SUM(11),SUM(12),SUM(1),SUM(2),SUM(3) FROM [Sheet1$] WHERE 成本中心 = "
                        sqlX = "SELECT 科目 FROM [X项目$] WHERE 固变区分 = '" '
                        
                        sql = sql + sourcecostcenter + " AND 固变区分 = '" + dept(m) + "'"
                        sqlX = sqlX + dept(m) + "'"
                        Debug.Print sqlX
                        rsX.Open sqlX, cnn, adOpenKeyset, adLockBatchOptimistic
                        
                        If rsX.RecordCount <> 0 Then
                            sql = sql + " AND  资产 <> '" & rsX.Fields.Item(0) & "'"
                            'sql = sql + " AND  资产 <> '" + CStr(rsX.Fields.Item(0)) + "'"
                            'sql = sql + "AND iif(isnull(科目),'',CStr(科目)) <> '" + CStr(rsX.Fields.Item(0)) + "'"
                            'Debug.Print sql
                        End If
                        
                        rsX.Close
                        Set rsX = Nothing
                        
                        rs.Open sql, cnn, adOpenKeyset, adLockBatchOptimistic
                        
                        a4 = a4 + IIf(IsNull(rs.Fields.Item(0)), 0, rs.Fields.Item(0))
                        a5 = a5 + IIf(IsNull(rs.Fields.Item(1)), 0, rs.Fields.Item(1))
                        a6 = a6 + IIf(IsNull(rs.Fields.Item(2)), 0, rs.Fields.Item(2))
                        a7 = a7 + IIf(IsNull(rs.Fields.Item(3)), 0, rs.Fields.Item(3))
                        a8 = a8 + IIf(IsNull(rs.Fields.Item(4)), 0, rs.Fields.Item(4))
                        a9 = a9 + IIf(IsNull(rs.Fields.Item(5)), 0, rs.Fields.Item(5))
                        a10 = a10 + IIf(IsNull(rs.Fields.Item(6)), 0, rs.Fields.Item(6))
                        a11 = a11 + IIf(IsNull(rs.Fields.Item(7)), 0, rs.Fields.Item(7))
                        a12 = a12 + IIf(IsNull(rs.Fields.Item(8)), 0, rs.Fields.Item(8))
                        a1 = a1 + IIf(IsNull(rs.Fields.Item(9)), 0, rs.Fields.Item(9))
                        a2 = a2 + IIf(IsNull(rs.Fields.Item(10)), 0, rs.Fields.Item(10))
                        a3 = a3 + IIf(IsNull(rs.Fields.Item(11)), 0, rs.Fields.Item(11))
                        
                        rs.Close
                        Set rs = Nothing
                    Next

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-16 14:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-9-16 14:35 | 显示全部楼层
对,就只有这一段有差别。一个是纯数字,一个是有字符有数字。
很奇怪,怎么执行都不行。

TA的精华主题

TA的得分主题

发表于 2009-9-16 14:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-9-16 15:01 | 显示全部楼层
8FLASH为原始数据

Desktop.rar

124.23 KB, 下载次数: 14

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 11:03 , Processed in 0.026873 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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