winccとAccessデータベース間のデータの相互作用(データ)

現在、winccのデータストレージは主にデータベースに格納されており、現在の主流のデータベースは主にSQL ServerとAccessデータベースです。この記事では、主にwinccデータベースとAccessデータベース間でデータを読み取る方法について説明します。

エントリ 説明
動作環境 wincc7.5 SP1
データベースにアクセスする 2010年版

実行画面

ここに画像の説明を挿入

作業手順

ここに画像の説明を挿入

Accessデータベーステーブルを作成する

1. Accessデータベースファイルを
作成します。ファイル名:Wincc_Access_Data.accdb 2.データベーステーブルを作成します。テーブル名:Machineinfo 、テーブルのフィールドはID、Pressure、Temperature、Flowです。図に示すように:
ここに画像の説明を挿入
3。作成したAccessデータベースファイルをディスクのルートディレクトリに置きます。

設定画面

1. Winccが画像を作成し、画像名はDataRead.Pdlです
。2。画像はコントロールオブジェクトを追加します。

オブジェクト 名前
ボタン デフォルト
Microsoft Hierarchical FlexGrid Control、Version6.0(OLEDB)属性件 グリッド

3.スクリプトを作成します。ボタンが表示されたら、マウスをクリックしてVBスクリプトを追加します。

Sub OnClick(Byval Item)    
Dim conn,ors
Dim Grid
Set conn = CreateObject("ADODB.Connection")'创建对象
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=C:\Wincc_Access_Data.accdb"'创建链接字符串,Data Source后面为数据库文件的路径和名称
conn.open '打开对象
Set ors = CreateObject("ADODB.RecordSet") '创建记录对象
ors.open "select ID,Pressure,Temperature,Flow from Machineinfo",conn,3,3 '创建sql语句,其中ID等为字段名,machineinfo为数据库表名
Set Grid = ScreenItems("Grid")
Set Grid.DataSource = ors  '将读取到的数据写入到MSHFGrid控件表格中
Grid.Refresh               '刷新表格
'关闭数据链接
Set ors = Nothing
conn.close
Set conn = Nothing

End Sub

予防

  1. テストするときは、Accessデータベースのフィールドを中国語(できれば英語)に設定しないように注意してください。
  2. Accessデータベースファイルを作成する場合、mdbとaccdbの2つのファイルサフィックスがあります。実際、これら2つはAccessデータベースのファイル形式ですが、Accessデータベースの異なるバージョンを表します。mdbはバージョン07より前です(バージョン07は含まれません)。 )。accdbはバージョン07以降です。したがって、プロバイダーのリンク文字列もファイルサフィックスごとに異なります。
'mdb:
Provider=Microsoft.Jet.OleDb.4.0
'accdb:
Provider=Microsoft.ACE.OLEDB.12.0
  1. データベースを作成するときは、データベースファイルを中国のディレクトリに配置せず、ルートディレクトリまたはルートディレクトリの下の英語のフォルダに配置してください。パスが長すぎないようにしてください。
  2. sqlステートメントによって照会されたデータは正しいことが保証されています。
  3. winccスクリプトで定義された変数は、実際に使用されているものと同じままである必要があります。

リソースの取得

おすすめ

転載: blog.csdn.net/yue008/article/details/114048883