想要在VB中使用ADO控件对某表中“收入”这个字段求和,再赋给一个变量,再输出如下语句却总是提示
数据库是access
“错误94,无效使用null”
语句如下
dim money1
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\hotel.mdb"
Adodc1.RecordSource = "SELECT Sum(收入) AS 月收入 From 收入查询 Where 退房日期 Like '" & 2003 - 9 & "*" & "'"
Adodc1.Refresh
Text5.DataField = "月收入"
Adodc1.Refresh
money1= Adodc1.Recordset.Fields(0).Value
MsgBox dat_1望大侠指点一二,先谢谢了
解决方案 »
- 进程在内存中起始和结束地址
- 急求用esc命令控制串口打印机
- 关于窗口显示的问题,大家帮帮忙啊!!!!!
- 算法难题求解
- 还是image控件的问题!!
- sql语句
- 有什么办法可以让picturebox在运行动态修改的样式,和设计时的一样
- (100分+万分感谢)请问LoadPicture函数有没有替代方法。我在PB当中要用到LoadPicture,但是pb没有,有没有变通的方法
- sql 同步时的问题(拒绝访问)up者有分
- 如何使自己编写的MP3播放器能接管机子内MP3的播放权限?!(点击MP3后由我的软件播放)
- 对控制数组有类似Ubound这样的函数可以用吗?
- 请问,,Decimal是什么数据类型呀,,,
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\hotel.mdb"
Adodc1.RecordSource = "SELECT Sum(收入) AS 月收入 From 收入查询 Where 退房日期 between #2003-9-01# and #2003-9-30"
Adodc1.Refresh
Text5.DataField = "月收入"
Adodc1.Refresh
money1= Adodc1.Recordset.Fields(0).Value
MsgBox dat_1
access的日期前后需要加#
Adodc1.RecordSource = "SELECT Sum(收入) AS 月收入 From 收入查询 Where 退房日期 between #2003-9-01# and #2003-9-30"
应为
Adodc1.RecordSource = "SELECT Sum(收入) AS 月收入 From 收入查询 Where 退房日期 between #2003-9-01# and #2003-9-30#"
解决的方法是,去掉未null值的选定,例如用 and aa is not null 来限定!或是自定义函数,遇到null自动换为一个值替换,如""等!
Adodc1.RecordSource = "SELECT Sum(收入) AS 月收入 From 收入查询 Where 退房日期 Like '" & 2003 - 9 & "*" & "'"