搬家第41天-citect2018citectVBA编程将ACCESS数据采集到microsoftdatagrid控件显示

以前在citect 7.x版本试验过将ACCESS数据采集到microsoft 数据表控件显示,但是当时是将查询结果记录集逐条按照字段位置和数值写入控件,效率低,尤其是数据表记录很多的时候,显得很慢。其实可以通过设定控件的datasource属性方法快速的显示数据。

在citect项目中写以下citectVBA代码

Sub SetobjDatagridDatasource()
Dim conn As Object
Dim strcon As string
Dim objrs As Object
Dim ocom As Object
Dim ssql1,ssql2,ssql3 As string
Dim i As Integer
Dim j As Integer
strcon = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=myaccess"
ssql1="select curdate as 日期,curtime as 时间,temp1 as 温度1,temp2 As 温度2,temp3 As 温度3,temp4 As 温度4"
ssql2=",press1 as 压力1,press2 as 压力2,press3 as 压力3,press4 as 压力4"
ssql3=",flow1 as 流量1 ,flow2 as 流量2 from mytable"
Set conn=CreateObject("ADODB.Connection")
conn.connectionstring=strcon
conn.Cursorlocation=3
conn.open
Set objrs=CreateObject("ADODB.recordset")
Set ocom=CreateObject("ADODB.Command")
ocom.commandtype=1
Set ocom.ActiveConnection=conn
ocom.CommandText=ssql1 & ssql2 & ssql3
Set objrs=ocom.Execute
Set main_AN4.datasource=objrs
Set objrs=Nothing
'msgbox objrs.recordcount
'conn.close
'Set conn=Nothing
End Sub

 

代码中连接数据库使用ODBC数据源连接,ODBC数据源可以根据项目路径动态设置,具体方法参见前面的博客。画面上放置一个microsoft datagrid control 6.0sp6控件.重要的是设定datasource属性,令它等于objrs,这是一个recordset。

 如果遇到控件没有注册授权,请参考另外一个博客

http://blog.sina.com.cn/s/blog_724246b90102zb9k.html

上述代码稍作修改,可以变成条件查询显示结果。

 

改天试验一下cicode代码。

这个练习我也放到baidu网盘,项目编号citect2018prj12

 

地址是

链接: https://pan.baidu.com/s/11UGVuw83JOSVZMz5DuTJ9g 提取码: 1uuv

posted @ 2021-03-10 20:28  来自金沙江的小鱼  阅读(235)  评论(0编辑  收藏  举报