現在、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
予防
- テストするときは、Accessデータベースのフィールドを中国語(できれば英語)に設定しないように注意してください。
- 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
- データベースを作成するときは、データベースファイルを中国のディレクトリに配置せず、ルートディレクトリまたはルートディレクトリの下の英語のフォルダに配置してください。パスが長すぎないようにしてください。
- sqlステートメントによって照会されたデータは正しいことが保証されています。
- winccスクリプトで定義された変数は、実際に使用されているものと同じままである必要があります。