不能为DataGrid1控件的单元个付值?????

adaoke_captain 2005-09-28 03:44:05
Set con = New ADODB.Connection
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;data source =" & App.Path & "..\db\afu.mdb"
con.Open
Set rs = New ADODB.Recordset

rs.Open "SELECT format (order.date,'yyyy-mm-dd') 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.date < #" & DTPicker1.Value & "# AND " & _
"order.customerName='詹樱楼' And " & _
"order.breedName='五件套'", con, adOpenStatic, adLockOptimistic, vbServer
Set DataGrid1.DataSource = rs
a = 0
b = 0
c = 0
d = 0
e = 0

For a = 1 To rs.RecordCount
If IsNull(rs!在途数量) Then
b = 0
Else
b = rs!在途数量
End If
If IsNull(rs!收回数量) Then
c = 0
Else
c = rs!rs!收回数量
End If
If IsNull(rs!损坏数量) Then
d = 0
Else
d = rs!损坏数量
End If

DataGrid1.Row = a
DataGrid1.Col = 4
‘ DataGrid1.Columns(4).Text = "ccccccc"
DataGrid1.Text = b - c - d + e
e = b - c - d + e
rs.MoveNext
Next
现在执行到DataGrid1.Text = b - c - d + e是报错“数据访问错误”
但是执行到DataGrid1.Columns(4).Text = "ccccccc"又报错“类型不匹配”
各位老师帮帮我吧!!!!!
...全文
144 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
adaoke_captain 2005-09-29
  • 打赏
  • 举报
回复
我说嘛!我用MSHFlexgrid试试。
of123 2005-09-29
  • 打赏
  • 举报
回复
要用 MSHFlexgrid。

msflexgrid 是对应于 DAO 的,且不能绑定记录集。
sqfeiyu 2005-09-29
  • 打赏
  • 举报
回复
msflexgrid 好象不能绑定到 记录集对象上??? 有這樣的事?
Set rs = New ADODB.Recordset 在rs沒有打開前﹐rs是nothing所以
Set MSFlexGrid1.DataSource = rs 时报错 "对象变量或with块变量未设置"
所以在Set MSFlexGrid1.DataSource = rs 前,rs一定要打開.
adaoke_captain 2005-09-28
  • 打赏
  • 举报
回复
当我用 Set MSFlexGrid1.DataSource = rs
试图把 MSFlexGrid1 绑定到记录集上时报错:
"对象变量或with块变量未设置"
adaoke_captain 2005-09-28
  • 打赏
  • 举报
回复

Set rs = New ADODB.Recordset

我试了试 msflexgrid 好象不能绑定到 记录集对象上.
也不能绑定到Adodc 控件上.

这怎么玩儿啊?????????

zhzhq800204(lazio) 能告诉我吗
adaoke_captain 2005-09-28
  • 打赏
  • 举报
回复
zhzhq800204(lazio)
我不知道你说的allowupdate属性,是指什么?
但是我在DataGrid1属性页里把
允许添加,允许更新,允许删除,都勾上了.不知道行不行.
ilove8 2005-09-28
  • 打赏
  • 举报
回复
msflexgrid,比较好点
zhzhq800204 2005-09-28
  • 打赏
  • 举报
回复
是allowupdate属性
zhzhq800204 2005-09-28
  • 打赏
  • 举报
回复
你的datagrid属性重的update属性是否位false
faysky2 2005-09-28
  • 打赏
  • 举报
回复
如果想改某行某列的值,建议使用msflexgrid控件,它比较灵活
sqfeiyu 2005-09-28
  • 打赏
  • 举报
回复
DataGrid是數據綁定控件,你的Select語句中"在途数量"是一個運算式﹐導致Recordset不能Update,所以就不能更改DataGrid的內容. 最好用MSHFlexGrid代替DataGrid, DataGrid只適合修改單表數據或顯示數據.
adaoke_captain 2005-09-28
  • 打赏
  • 举报
回复
DataGrid1.Columns(4).Text = "ccccccc"
DataGrid1.Text = "ccccccc"
报错是一样的。

7,763

社区成员

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

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