关于在一个字段中既要有数字又要有汉字的问题?怎样办,解决给50分,在线等待

yyy431706 2003-08-20 03:14:30
我的数据库有一字段既要有数字又要有汉字的问题,因为我要设置它的状态是“未填”或是“为空”,填写过数字的又要进行统计计算,因为我设置的是文本,这样就用cint出现问题,请高手赐教!!!解决给50分
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy431706 2003-08-21
  • 打赏
  • 举报
回复
用这种方法也不行呀,大家快帮帮我呀,我很急呀
SELECT month(receive.sgsj) as month,
sum(iif(zrrd.fc1='未填' or zrrd.fc1='为空',0,clng(zrrd.fc1)) as fc1
FROM zrrd INNER JOIN receive ON receive.ajbh=zrrd.ajbh
WHERE year(receive.sgsj)='2003' AND receive.cjr='小王'
group by month(receive.sgsj)



Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'sum(iif(zrrd.fc1='未填' or zrrd.fc1='为空',0,clng(zrrd.fc1)) as fc1 FROM zrrd INNER JOIN receive ON receive.ajbh=zrrd.ajbh WHERE year(receive.sgsj)='2003' AND receive.cjr='小王' group by month(receive.sgsj)' 中。

/work/index/fc_year.asp,行 32
yyy431706 2003-08-21
  • 打赏
  • 举报
回复
sql="SELECT month(receive.sgsj) as month,
sum(case when zrrd.fc1='未填' or zrrd.fc1='为空' then 0 else clng(zrrd.fc1) end) as fc1
FROM zrrd
INNER JOIN receive ON receive.ajbh=zrrd.ajbh
WHERE year(receive.sgsj)='"&year&"' AND receive.cjr='"&cjr&"'
group by month(receive.sgsj)"
我的代码是这样的,意思是如果字段为未填或为空,
统计时取0,
否则将其转化为数字统计。
一位大哥说access不支持case when
,请问大家有没有好的解决方法,
yyy431706 2003-08-21
  • 打赏
  • 举报
回复
sql="SELECT month(receive.sgsj) as month,
sum(iif(zrrd.fc1 not in ('未填','为空'),cint(zrrd.fc1),0)) as fc FROM zrrd
INNER JOIN receive ON receive.ajbh=zrrd.ajbh
WHERE year(receive.sgsj)='"&year&"' AND receive.cjr='"&cjr&"'
GROUP BY month(receive.sgsj)"
这样可以解决,在数据库版块得到的,也许有的朋友用得着的
  • 打赏
  • 举报
回复
因为你设置的所有的文字都是一样的
现在假设你设置的不填写的 为 “未填”
数据字段设为文本 先判断是否是“未填”

if rs("ziduan")="未填" then

......

else

cint 就可以了


当然别忘了 end if
yyy431706 2003-08-20
  • 打赏
  • 举报
回复
sql="SELECT month(receive.sgsj) as month,
sum(case when zrrd.fc1='未填' or zrrd.fc1='为空' then 0 else clng(zrrd.fc1) end) as fc1
FROM zrrd
INNER JOIN receive
ON receive.ajbh=zrrd.ajbh
WHERE year(receive.sgsj)='"&year&"' AND receive.cjr='"&cjr&"'
GROUP BY month(receive.sgsj)"
报错如下:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'sum(case when zrrd.fc1='未填' or zrrd.fc1='为空' then 0 else clng(zrrd.fc1) end)' 中。

/work/index/fc_year.asp,行 23
xupiao 2003-08-20
  • 打赏
  • 举报
回复
是不是數字check一下就行
可用ascii碼
pp4u 2003-08-20
  • 打赏
  • 举报
回复
同意楼上
jiejifeng 2003-08-20
  • 打赏
  • 举报
回复
if not isnull(objRS("vol")) or objRS("vol")<>"" then
cint(objRS("vol"))
end if

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧