设定DataGrid空件时 奇怪的问题 实时错误'7004' 行集合不能作为标签 ???????

adaoke_captain 2005-09-06 10:20:21
Set rs = New ADODB.Recordset

rs2.Open "select itemID from item where itemName = '" & Combo1.Text & "'", con, adOpenStatic, adLockPessimistic

rs.Open "SELECT date as 日期, " & _
"[order].[amount] AS 送出数量, " & _
"[callback].[amount] AS 收回数量, " & _
"[callback].[shatter] AS 损坏数量, " & _
"[order].[amount]-[callback].[amount]-[callback].[shatter] as 在途数量 " & _
"FROM [order] LEFT JOIN callback ON ([order].[date]=[callback].[reclaim_date]) " & _
"WHERE [order].[breedID]='" & rs2.Fields(0) & "' And " & _
"[order].[date] Between #" & DTPicker1.Value & "# And #" & DTPicker2.Value & "#", con, adOpenDynamic, adLockOptimistic
'SELECT date AS 日期,
'[order].[amount] AS 送出数量,
'[callback].[amount] AS 收回数量,
'[callback].[shatter] AS 损坏,
'([order].[amount]-[callback].[amount]) AS 在途
'FROM [order] LEFT JOIN callback ON [order].[date]=[callback].[reclaim_date]
'WHERE [order].[breedID]='WJT' And
'[order].[date] Between #7/1/2005# And #7/31/2005#;

Set DataGrid1.DataSource = rs

Dim aa As Long
aa = 0
Do While Not rs.EOF
a = a + rs.Fields(1) - rs.Fields(2) - rs.Fields(3)
rs.Fields(4) = a
rs.MoveNext
Loop

rs.Close
rs2.Close
...全文
208 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
西雀 2006-05-31
  • 打赏
  • 举报
回复
cursorLocation=aduseclient
hr88rong 2006-05-30
  • 打赏
  • 举报
回复
你把CursorLocation属性设为adUseClient试试!
lyshw 2005-09-12
  • 打赏
  • 举报
回复
Dim cn As New ADODB.Connection

Private Sub Form_Load()
Dim sql As String
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
cn.Open

sql = "select * from t1"

Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sql, cn

Set DataGrid1.DataSource = rs

主要是 rs.CursorLocation = adUseClient 的作用
ChumpKlutz 2005-09-08
  • 打赏
  • 举报
回复
rs.cursorLocation=aduseclient
adaoke_captain 2005-09-08
  • 打赏
  • 举报
回复
daisy8675(莫依)
你是指最后一个参数吧,我试试
daisy8675 2005-09-07
  • 打赏
  • 举报
回复
明白了,开始没看清楚你的程序

实际上,你的错误在于你的rs.open sql语句后没有参数,实际上你需要的参数是connection是什么,以什么方式打开
adaoke_captain 2005-09-07
  • 打赏
  • 举报
回复
我又试了试改成 rs.Open sql,con,adOpenStatic,adLockOptimistic
执行 Set DataGrid1.DataSource = rs
就不出错了

麻烦哪位解释一下 行集 是什么意思???
adaoke_captain 2005-09-07
  • 打赏
  • 举报
回复
行集 是什么意思???
缪军 2005-09-06
  • 打赏
  • 举报
回复
这个查询语句多半有问题
rs并没有返回表结构,而是行集
这是的recordcount=-1,也不能用于绑定

请检查select语句

adaoke_captain 2005-09-06
  • 打赏
  • 举报
回复
在VB里rs.RecordCount 等于-1
????????????
adaoke_captain 2005-09-06
  • 打赏
  • 举报
回复
1.我把sql语句放到access 里就可以查出记录
2.rs 是个多表查询
3.只要一执行到它就出错
daisy8675 2005-09-06
  • 打赏
  • 举报
回复
第1,确定你的rs可以查询出数据
第2,确定你的rs中间有主键
第3,确定你是第一次执行Set DataGrid1.DataSource = rs出错还是往下运行出错
adaoke_captain 2005-09-06
  • 打赏
  • 举报
回复
当执行到
Set DataGrid1.DataSource = rs
时出错

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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