我的一个小程序,遇到问题:
首先将数据库中的值读入变量
dim year as single ('Year是表Total_emission中的一个关于年份的字段)
Dim qdef As QueryDef
Dim rs As Recordsetyear=combo1.text ('获取用户选择的年份)
Set qdef = db.CreateQueryDef("", "SELECT Total_emission.Mobiletype, Total_emission.[CO] From Total_emission Where (((Total_emission.year) = year) And ((Total_emission.area) = 1))")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)
rs.MoveLast
在上面这段程序中,Where子句中的(Total_emission.year) = year这个条件根本不起作用,请问错误在那里?多谢大虾指教!
首先将数据库中的值读入变量
dim year as single ('Year是表Total_emission中的一个关于年份的字段)
Dim qdef As QueryDef
Dim rs As Recordsetyear=combo1.text ('获取用户选择的年份)
Set qdef = db.CreateQueryDef("", "SELECT Total_emission.Mobiletype, Total_emission.[CO] From Total_emission Where (((Total_emission.year) = year) And ((Total_emission.area) = 1))")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)
rs.MoveLast
在上面这段程序中,Where子句中的(Total_emission.year) = year这个条件根本不起作用,请问错误在那里?多谢大虾指教!
猜想是不是Total_emission.year的类型和变量year的类型不同造成的
Dim qdef As QueryDef
Dim rs As Recordsetyear=val(combo1.text) ('获取用户选择的年份)
Set qdef = db.CreateQueryDef("", "SELECT Total_emission.Mobiletype, Total_emission.[CO] From Total_emission Where (((Total_emission.year) =" & year & ") And ((Total_emission.area) = 1))")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)
rs.MoveLast
改作:
year(Total_emission.year) = totalYear
dim total_Year as single ('total_Year是表Total_emission中的一个关于年份的字段)
Dim qdef As QueryDef
Dim rs As Recordsettotal_Year=val(combo1.text) ('获取用户选择的年份)
Set qdef = db.CreateQueryDef("", "SELECT Total_emission.Mobiletype, Total_emission.[CO] From Total_emission Where ((year(Total_emission.year) =" & total_Year & ") And ((Total_emission.area) = 1))")
Set rs = qdef.OpenRecordset(dbOpenSnapshot)
rs.MoveLast