已将DataGrid.AllowUpdate设为True(运行时),可是编辑却无任何反映。
Dim Rs As New ADODB.Recordset
Rs.Open SQL,Conn,adOpenKeySet(或adOpenStatic)
Set DataGrid.DataSource=Rs
这时DataGrid无法修改?应如何做才能修改?
Dim Rs As New ADODB.Recordset
Rs.Open SQL,Conn,adOpenKeySet(或adOpenStatic)
Set DataGrid.DataSource=Rs
这时DataGrid无法修改?应如何做才能修改?
创建一个内存记录集,将结构和数据都拷贝过来
再将datagrid的datasource设置到内存记录集
汇总一下今天总结出的需注意事项:
1.Conn.CursorLocation指定为adUseClient(Conn做连接前)或Rs.CursorLocation=adUseClient(在Rs.Open前)。
2.记录集指定成adOpenKeyset。
3.SQL字符串可以用AS来更改列名,也可以选择部分列而非SELECT *,但应该不能是派生列(如XXX + 1 AS YYY,但我没试),并且数据应该是来源于一张表吧(好像不应该是做了连接的表,或是聚合的,但我也没试)。