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

相关推荐

  • wincc v6.2授权问题

    wincc v6.2授权和wincc v6.0授权一样么? 另外,现在工控机大多不带软驱,如何授权? 最佳答案 不一样. 你可以找个带软驱的…

    SIMATIC WinCC 2019年6月11日
  • wincc自带数据库与SQL数据库问题

    装过sql2008R2,并创建了一个数据库a,后来重装系统安装了wincc,用wincc自带的2008R2,无法打开之前创建的数据库a,说是版本问题。所以打算另外再装一个SQL20…

    SIMATIC WinCC 2017年6月1日
  • 原来电脑上装有wincc还能装wincc TIA 吗

    原来电脑上装有wincc 7.0还能装wincc TIA V14吗 最佳答案 不可以安装TIA WINCC Professiona…

    SIMATIC WinCC 2021年7月5日
  • 求教WINCC的全局脚本

    各位高人,我用了一个已有全局C脚本的项目,学习做VBS的全局脚本,发现C脚本的动作有服务器的名称,但是VBS的脚本新建动作后没有服务器,也不会运行。另外C脚本中有标准函数,但VBS…

    2021年7月5日
  • Wincc变量周期

    如何批量更改 Wincc变量周期  由于开始复制粘贴了很多对象,变量周期都是1S的,怎么批量改成有变化时 钻石用户推荐最佳答案 1.变量周期已经为1s…

    2021年7月5日
  • WINCC V7.4 安装到WIN10系统,运行时报S7DOS Online 已停止工作

    WINCC V7.4 安装到WIN10系统,运行时报S7DOS Online 已停止工作。具体内容看图片 问题补充:电脑安装软件版本如下图,…

    2021年7月5日
  • TIA wincc modbus 创建的变量

    TIA wincc modbus 创建的变量,在step7   plc程序中  是否也可以直接使用此…

    SIMATIC WinCC 2021年7月5日
  • 为啥不行

    画面窗口想让变量等于0的时候显示liaocang这画面 图片说明:    最佳答案 等于是小于等于前面的数值范围2就是小于等于2的数都是这个画面 图片说明: &…

    2021年7月5日
  • PLCSIM几个仿真问题

    我在使用PLCSIM对PLC程序和WinCC界面进行仿真的时候遇到了几个问题,请大家帮帮忙:(1)能对模拟量进行仿真吗?尤其是里面还有一个FB41模块?如何仿真?(2)对数字量进行…

    SIMATIC WinCC 2019年6月11日
  • WinCC对象的颜色如何进行定义?

    WinCC中的对象颜色想用C语言来编写,但是不知道颜色的代码是怎么定义的?或是在什么地方可以查询啊?比如说绿色是多少呢?谢谢大家帮忙,我是初学者请大家多多关照。 问题补充:谢谢TI…

    SIMATIC WinCC 2019年6月11日