|
Private Sub Label110_Click()
Riqi = InputBox(vbCrLf & vbCrLf & "请输入日期:", "输入日期", "日期")
Xingming = InputBox(vbCrLf & vbCrLf & "请输入司机姓名:", "输入姓名", "姓名")
Xingming = """" & Xingming & """"
'步骤1:建立数据连接cnn
'由于数据库已经打开,所以直接应用CurrentProject.Connection就可以建立连接
Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection
'步骤2:用SQL语句创建记录集rs
Set rs = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
'设定游标类型与锁定类型
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
'制定特定的查询条件,可以是任何有效的SQL查询,甚至包括多表、多条件等复杂的查询,查询条件也常常从窗体取得
SQL = "select 主表.日期, 主表.单号, 主表.客户, 主表.油品, 主表.油库, 主表.计划量, 主表.车次 AS dd, 主表.车号, 车次.显示 AS 车次, 主表.司机一, 主表.要求, 主表.班次 from 主表 INNER JOIN 车次 ON 主表.车次 = 车次.车次 where (((主表.日期)=#" & Riqi & "#) And ((主表.司机一)=" & Xingming & ")) ORDER BY 主表.车次"
SQL2 = "select 主表.日期, 主表.车次 AS dd, 主表.司机一, 路线数据表.路线描述, 主表.单号, 路线数据表.提油油库, 路线数据表.[目的地(站、厂)], 车次.车次, 车次.显示 from (路线数据表 INNER JOIN 主表 ON (路线数据表.[目的地(站、厂)]=主表.客户) AND (路线数据表.提油油库=主表.油库)) INNER JOIN 车次 ON 主表.车次=车次.车次 where (((主表.日期)=#" & Riqi & "#) And ((主表.司机一)=" & Xingming & ")) ORDER BY 主表.车次"
'创建记录集rs
rs.Open SQL, cnn
rs2.Open SQL2, cnn
上面的能正常运行,但是SQL2换成下面的就不行了,说“至少一个参数没有被指定”
SQL2 = "SELECT * FROM (SELECT * FROM 站库距离表 INNER JOIN (路线数据表 INNER JOIN (SELECT 主表.日期, 主表.单号, 主表.客户, 主表.油品, 主表.油库, 主表.计划量, 主表.车次 AS dd, 主表.车号, 车次.显示 AS 车次, 主表.司机一, 主表.要求, 主表.班次 FROM 主表 INNER JOIN 车次 ON 主表.车次 = 车次.车次 WHERE (((主表.日期)=#" & Riqi & "#) And ((主表.司机一)=" & Xingming & ")) ORDER BY 主表.车次) as 任务单 ON (路线数据表.[目的地(站、厂)]=任务单.客户) AND (路线数据表.提油油库=任务单.油库)) ON (站库距离表.油库名称=任务单.油库) AND (站库距离表.油站名称=任务单.客户))as 查询2 WHERE 单号 in ( SELECT max(单号) FROM 查询2 AS a WHERE 查询2.dd=a.dd and 站库距离 in (select max(站库距离) from 查询2 where dd=a.dd)) ORDER BY dd"
谁能指正一下,谢谢
[ 本帖最后由 ansuntt 于 2008-11-13 12:48 编辑 ] |
|