




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、RSView32利用VBA實現(xiàn)報警歷史查詢當我們需要查看前一天或前一個月的報警記錄的時候,RSV ew32并沒有提供很好的辦法。經(jīng)過研究發(fā)現(xiàn),所有報警信息都是保存在DBF格式的數(shù)據(jù)庫中的。但是用E×CEL等工具打開后發(fā)現(xiàn),該數(shù)據(jù)庫里面并沒有報警描述。于是我們必須要從變量(也稱標記,為方便敘述,以下都稱做變量)數(shù)據(jù)庫中將報警變量以及對應的描述提取出來,做成一個數(shù)據(jù)庫或數(shù)據(jù)表,再與DBF數(shù)據(jù)庫中的內(nèi)容合并后顯示出來。具體步驟如下: 在工程窗體上添加兩個命令按鈕Commandl和Command2以及兩個列表框List1和List2。Commandl用來提取報警變量以及對應的描述,并保存到數(shù)
2、據(jù)庫中。Command2則用來打開DBF報警信息數(shù)據(jù)庫,與報警描述合并后顯示出來。列表框List1用來顯示所有存在的報警文件。列表框List2用來顯示最終結果。要實現(xiàn)這些功能,必須引用RSView32 Object Model,即RSView32對象模型。還要引用Microsoft ActiveX Objects28 Urbrary,用來操作數(shù)據(jù)庫。這個引用在版本上并不要求完全一致,在不同的系統(tǒng)中略有差別,總之選擇最高版本就可以了。 下面為示例代碼以及詳細注釋: 首先必須引用RSView32 Object Model 引用Microsoft ActiveX Objects 2 8 Lirbra
3、ry Dim gRsvApp As RSView32 Application Dim gProject As RSView32 Project Dim gTagDb As RSView32TagDb Dim gTags As Tags Private Sub Command1一 Click() 提取報警變量以及對應的報警描述 Dim MTag As Tag Dim Link As New ADODB Connection Dim Rs As New ADODB Recordset LinkCursorLocation:adUseClient 打開已經(jīng)建立好的ACCESS數(shù)據(jù)庫AImTag md
4、b, 包含Tag、Description兩個字段 LinkCOnnecti0nSf ring = ”Provider=Microsoft JetOLEDB 4 0;Data Source=AImTagmdb;Persist Security Info=False” Link Open Set gTags= gTagDbQueryForTags( ) 查詢RSView32所有變量 For Each MTag In gTags 檢查每個變量 If MTagAlarmed = True Then 如果該變量為報警變量,則將變量以及描述添加到ACCESS數(shù)據(jù)庫AImTagmdb Rs Open ”Se
5、lect From AImTag ,LinkadOpenDynamic,adLockBatchOptimistic RsAddNew RsFields('q-ag )= MTagName RsFields(”Description”)= MTagDescription Rs UpdateBatch adAfectAIIChapters RsClose DoEvents End If Next MsgBox ”數(shù)據(jù)提取完成,已經(jīng)保存到數(shù)據(jù)庫! vbOKOnly + vblnformation 提示” End Sub Private Sub Command2_ Click() 打開報警文件
6、并合并字段 Dim Link As New ADODBConnection Dim Rs As New ADODB Recordset Dim DadaBaseName As String If List1ListCount= 一1 Or List1Text= Then Exit Sub Else DadaBaseName = List1Text End If List2 Clear C:YXCDyxcdALMLOG 為報警文件的絕對路徑 Link ConnectionScring=”Driver=Microsoft Visual FoxPro Driver; SourceType :DBF:
7、SOurceDB =C:YXCDyxcdALMLOG;Exclusive =No;Collate=Machine;” LinkOpen RsCursorLocation= adUseClient 提取有用的DBF數(shù)據(jù)庫中的datetimetagname字段 RsOpen ”Select datetimetagname From '” DadaBaseName ”'”Link,adOpenDynamic,adLockPessimistic If Rs RecordCount= 0 Then Exit Sub Do Until Rs EOF '輸出結果,RenDsc(Rs
8、Fields( tagname )返回了tagname對應的描述 List2 AddItem Rs Fields( “date “)" ” RsFields( “time” )" ” RsFields('tagname”)" ” RenDsc(Rs Fields(“tagname”) RsMoveNext DoEvents Loop End Sub Private Sub Form Load() 程序啟動初始化 Set gRsvApp = New RSView32 Application On Error GoTo trip Set gProject=gR
9、svApp ActiveProject trip: If Err Number: 4156 Then 這個錯誤號代表當前沒有RSView32活動工程 MsgBox”通訊錯誤,很可能是RSView32沒有啟動!” End Else Set gTagDb = gProject TagDb 設置gTagDb 為RSView32的數(shù)據(jù)庫 ReadFileName 獲取DBF數(shù)據(jù)庫文件名 End If End Sub Private Sub ReadFileName() 自定義過程,獲取DBF數(shù)據(jù)庫文件名 Dim FilesName Dim i As Integer FilesName = Dir(”C
10、:YXCDyxcdALMLOG") 'ALMLOG 即為報警文件所在目錄 Do While FilesName <>" ” If Right(FilesName,3)= ”DBF Then List1 AddItem FilesName End If FilesName =Dir Loop On Error Resume Next List1Listlndex = 0 End Sub Private Function RenDsc(ATag As String)As String 自定義過程,提取變量對應的描述 Dim Link2 As New ADODB Connection Dim Rs2 As New ADODB Recordset Link2 CursOrLOcatiOn = adUseClient Link2COnnectjOnSt ng = ”Provider=Microsoft JetOLEDB40;Data Source=AImTagmdb;Persist Securi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行業(yè)分析承包合同
- 《無線電能兼容RF》課件
- 生產(chǎn)調(diào)度保證金協(xié)議
- 《費列羅巧克力的廣告》課件
- 客運站服務協(xié)議
- 鐵路市場營銷產(chǎn)品策略教學案例課件
- 物流公司司機合同管理規(guī)定
- 中專主題班會課件
- 世紀英才文化課件下載
- 世界民族音樂文化課件
- 2025年中國人保財險江蘇省分公司招聘筆試參考題庫含答案解析
- 護理評估技能實訓 課件 模塊六 任務三 導管滑脫風險評估
- 2025年中鐵開投、中鐵云投招聘筆試參考題庫含答案解析
- 《如何帶教新人》課件
- 2024四川省火鍋行業(yè)發(fā)展白皮書
- 2025水利云播五大員考試題庫(含答案)
- 養(yǎng)老院安全風險分級管控和隱患排查雙重預防
- 感染性休克指南解讀
- 《老年人合理用藥》課件
- 肝門膽管癌手術配合步驟
- 大數(shù)據(jù)與會計函授專科畢業(yè)實習報告
評論
0/150
提交評論