DataGrid单元格编辑

想试着做下用DataGrid显示sql数据库表格内容和编辑数据库表格值的程序

Sub OnClick(ByVal Item)                                      
On Error Resume Next
 Dim DSN
 Dim strConn
 Dim conn
 Dim oCom
 Dim oRs
 Dim sSql
 
 Dim DataGrid
 Set DataGrid = ScreenItems("DataGrid1")

' ===================连接数据库==================
 strConn = "Provider=MSDASQL;DSN=test;UID=sa;PWD=xx;" 
 Set conn = CreateObject("ADODB.Connection")   
  conn.ConnectionString = strConn   
 conn.CursorLocation = 3
 conn.Open  
  
 Set oRs = CreateObject("ADODB.Recordset")
 Set oCom = CreateObject("ADODB.Command")
 oCom.CommandType = 1
 Set oCom.ActiveConnection = conn
        sSql = "SELECT  autoid,a,b,c FROM test order by  autoid desc"        
  oCom.CommandText = sSql
 Set oRs = oCom.Execute  

 Set DataGrid.DataSource = oRs 
' AutoGenerateColumns=True 
 DataGrid.Refresh
 DataGrid.AllowAddNew=True
 DataGrid.AllowDelete=True
 DataGrid.AllowUpdate=True
 DataGrid.AllowArrows=True


' oRs.close 
' Set oRs = Nothing
' Set oCom = Nothing 
' conn.close
' Set conn = Nothing 

End Sub

问题1:为什么加上关闭数据连接这段,数据库里的内容就显示不出了,去掉以后就能显示了?那数据库还需要关闭吗?什么时候关闭呢?
' oRs.close 
' Set oRs = Nothing
' Set oCom = Nothing 
' conn.close
' Set conn = Nothing 

问题2:我想编辑修改删除等datagrid表格中某单元格的值,但是选中某单元格后,键盘修改不了值啊?那怎么进行事件触发呢?要设置什么属性吗?


麻烦各位高手指教了~如果有相关实例那就再好不过了~先谢过

最佳答案

问题1:
手头没有测试环境,建议在画面添加全局脚本诊断工具,看看有无故障发生。
问题2:
可以在Datagrid的双击事件中定义相应的脚本
1)获取双击的单元格的行号和列号
2)弹出Inputbox
3)将Inputbox的数据写入相应的单元格

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc191456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月3日 上午1:29
下一篇 2017年8月3日 上午1:29

相关推荐