我已把datagrid1AllowArrows,AllowDelete,AllowUpdate的属性设为true
Private Sub Form_Load()'建立连接
Set cnn1 = New ADODB.Connection
Set com1 = New ADODB.Command
Set rec1 = New ADODB.Recordset
cnn1.ConnectionString = "driver={sql server};server=gtd;uid=sa;pwd=;database=CLASS"
cnn1.Open
Set com1.ActiveConnection = cnn1
End Sub
'按下按钮时列出数据
Private Sub cmdList_Click()
com1.CommandText = "select * from zm"
rec1.Open com1, , adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rec1
End Sub
为什么直接点表格里的数据无法修改?就象是readonly一样
Private Sub Form_Load()'建立连接
Set cnn1 = New ADODB.Connection
Set com1 = New ADODB.Command
Set rec1 = New ADODB.Recordset
cnn1.ConnectionString = "driver={sql server};server=gtd;uid=sa;pwd=;database=CLASS"
cnn1.Open
Set com1.ActiveConnection = cnn1
End Sub
'按下按钮时列出数据
Private Sub cmdList_Click()
com1.CommandText = "select * from zm"
rec1.Open com1, , adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rec1
End Sub
为什么直接点表格里的数据无法修改?就象是readonly一样
rec1.Open "zm", cnn1, adOpenDynamic, adLockOptimistic
把那些允许都打上钩再试试.
例如,如果你的ADO数据源的sql语句为:
select * from table1;
那么应该可以正常操作的,但如果你的表超过两个,例如:
select table1.name,table1.sex,table2.id,table3.address from table1,table2,table3 where table1.name=table2.name and table2.id=table3.id;
那就很可能会出现你说的情况。一般来说不允许修改多表联结的记录集