999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB的氣田報表核查核算及數(shù)據(jù)整理

2021-03-07 12:36:37王博學(xué)王少奇張建忠張小鳳
電腦知識與技術(shù) 2021年36期

王博學(xué) 王少奇 張建忠 張小鳳

摘要:該文介紹了基于Visual Basic語言程序開發(fā),該程序從氣田工區(qū)數(shù)據(jù)核算、氣井單井?dāng)?shù)據(jù)核查、不同時期報表數(shù)據(jù)核算對比入手,實現(xiàn)問題輸出、相關(guān)數(shù)據(jù)整理。該程序高效核查核算數(shù)據(jù),有效減少異常數(shù)據(jù)、錯誤數(shù)據(jù)傳播帶來的危害,為后續(xù)氣田開發(fā)分析提供更高質(zhì)量的數(shù)據(jù)。

關(guān)鍵詞:Visual Basic編程;數(shù)據(jù)核算核查;氣田報表

中圖分類號:TP311? ? ? 文獻標(biāo)識碼:A

文章編號:1009-3044(2021)36-0100-03

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

1 背景

油氣田開發(fā)生產(chǎn)過程中產(chǎn)生很多報表,各類報表數(shù)據(jù)需要檢查審核,由于數(shù)據(jù)量大,人工檢查審核耗時、煩瑣,甚至需要多人的合作才能完成。鑒于此,借助于計算機的強大數(shù)據(jù)處理功能,來處理重復(fù)煩瑣耗時的數(shù)據(jù)檢查審核、整理工作,具有相當(dāng)大的優(yōu)勢。為此基于Visual Basic(VB)語言編制、生成了針對本單位氣田采氣日報檢查、整理的應(yīng)用程序,實現(xiàn)數(shù)據(jù)對比、報告生成、數(shù)據(jù)簡單匯總整理的功能。采氣日報表樣表如圖1。

Visual Basic語言在程序編寫方面具有較為廣泛的應(yīng)用,其具有可視化集成開發(fā)環(huán)境、以事件驅(qū)動、用戶界面圖形化等特點,在設(shè)計實現(xiàn)中小型系統(tǒng)方面有著特有的優(yōu)勢[1-3]。RojasSola José Ignacio等人[4]將Visual Basic結(jié)合CATIA軟件實現(xiàn)產(chǎn)品設(shè)計制造,Arun Datta[5]將Visual Basic應(yīng)用在工藝工程設(shè)計中,陳麗秀[6]將其應(yīng)用在實驗數(shù)據(jù)處理中,Yong Wang等人[7]將VISUALBASIC與FORTRAN混合語言編程在水文氣象模型可視化技術(shù)中應(yīng)用。基于 Visual Basic(VB)發(fā)展而來的VBA,內(nèi)嵌于Office 辦公軟件,為辦公帶來了許多便利[8-9]。

2 程序功能需求

通過VB語言編寫程序,主要實現(xiàn)以下五個功能:

1) 工區(qū)產(chǎn)氣數(shù)據(jù)、產(chǎn)水?dāng)?shù)據(jù)、壓力數(shù)據(jù)等的核算及問題輸出;

2) 氣井單井產(chǎn)氣數(shù)據(jù)、產(chǎn)水?dāng)?shù)據(jù)、壓力數(shù)據(jù)、溫度數(shù)據(jù)等的核查及問題輸出,如,核查誤填數(shù)值、異常數(shù)值;

3) 氣井狀態(tài)核查及問題輸出;

4) 前日、當(dāng)日日報表中數(shù)據(jù)對比、核算及問題輸出;

5) 對復(fù)雜數(shù)據(jù)結(jié)構(gòu)進行重構(gòu),實現(xiàn)數(shù)據(jù)整理。如,將圖1中的數(shù)據(jù)提取整理成圖2所示格式的數(shù)據(jù)。根據(jù)圖2中的數(shù)據(jù)便很容易在Excel中繪制單井生產(chǎn)動態(tài)曲線,如圖3。

需要說明的是,核查是指核對兩個數(shù)據(jù)是否一致,核對數(shù)據(jù)與正確數(shù)據(jù)的一致性。主要對溫度、壓力、產(chǎn)氣、產(chǎn)水、注醇數(shù)據(jù)進行核查,實現(xiàn)對異常數(shù)據(jù)、非正常數(shù)值字符進行篩選,并按要求輸出。

核算是指重新計算并判斷計算結(jié)果與報表給出的數(shù)值是否一致。主要對井區(qū)平均溫度、平均壓力數(shù)據(jù)及井區(qū)累產(chǎn)氣、累產(chǎn)水、累注醇數(shù)據(jù)進行重新計算。計算結(jié)果與報表中給出的數(shù)值進行對比,若兩個數(shù)值不一致則數(shù)據(jù)“異常”或“不一致”,并按要求輸出。

3 功能實現(xiàn)

3.1 設(shè)計思路

報表核查核算及數(shù)據(jù)整理主要包括:數(shù)據(jù)調(diào)入、數(shù)據(jù)核查核算、結(jié)果輸出、數(shù)據(jù)整理。首先實現(xiàn)數(shù)據(jù)調(diào)入,然后通過計算機分別對單井、井區(qū)相關(guān)數(shù)據(jù)進行核查核算并輸出結(jié)果形成報告。最后,對相關(guān)數(shù)據(jù)進行提取整理。設(shè)計思路圖見圖4。

3.2 程序介紹

本文介紹部分關(guān)鍵程序。點選調(diào)入數(shù)據(jù)文件程序、數(shù)據(jù)核算核查程序、檢查結(jié)果輸出程序、數(shù)據(jù)整理程序等四部分程序介紹如下:

1)點選調(diào)入數(shù)據(jù)文件程序

...

CommonDialog1.Filter = "所有文件(*.*)|*.*"

CommonDialog1.ShowOpen

strPath = CommonDialog1.FileName

...

通過通用對話框點選需要檢查的日報表,并加載到檢查程序,然后開展后續(xù)操作。

2)數(shù)據(jù)核算對比、核查(以產(chǎn)氣數(shù)據(jù)為例)程序

①氣井單井?dāng)?shù)據(jù)核查

...

If Cells(i, 6).Value = "" Then Else If Cells(i, 6).Value > 30 Then Print #1, Cells(i, 2).Value; Tab(40); "套壓大于30MPa";

If Cells(i, 10).Value = "" Then Else If Cells(i, 10).Value > 150000 Then Print #1, Cells(i, 2).Value; Tab(40); "日產(chǎn)氣大于15萬立方米";

...

其中,變量i為for語句中進行循環(huán)計數(shù)的循環(huán)變量, Cells(i, 6)、 Cells(i, 10)分別為報表中給出的單井套壓、日產(chǎn)氣數(shù)據(jù),Cells(i, 2)為單井井號所在單元格。若套壓大于30MPa,輸出井號和壓力數(shù)值到輸出文件中;若日產(chǎn)氣大于15萬立方米,輸出井號和壓力數(shù)值到輸出文件中。

②工區(qū)產(chǎn)氣數(shù)據(jù)核算對比

...

If Abs(Cells(ii + 2, 5).Value - Qgr) < 0.01 Then Else Print #1, "日產(chǎn)氣不匹配"

If Abs(Cells(ii + 2, 6).Value - Qgy) < 0.01 Then Else Print #1, "月產(chǎn)氣不匹配"

If Abs(Cells(ii + 2, 7).Value - Qgn) < 0.01 Then Else Print #1, "年產(chǎn)氣不匹配"

...

其中,變量ii為for語句中進行循環(huán)計數(shù)的循環(huán)變量,變量Qgr、Qgy、Qgn分別為程序核算的工區(qū)日產(chǎn)氣、月產(chǎn)氣、年產(chǎn)氣,Cells(ii + 2, 5)、Cells(ii + 2, 6)、(Cells(ii + 2, 7)分別為報表中給出的日產(chǎn)氣、月產(chǎn)氣、年產(chǎn)氣所在單元格。核算的數(shù)據(jù)與報表給出數(shù)據(jù)進行對比,如果兩個數(shù)據(jù)超出誤差范圍,便在輸出報告中寫入"月產(chǎn)氣不匹配"。

③工區(qū)前日、當(dāng)日數(shù)據(jù)對比

...

Write #1, "工區(qū)月累產(chǎn)氣核查對比:當(dāng)日累產(chǎn)氣-前日累產(chǎn)氣-當(dāng)日產(chǎn)氣:" & Worksheets(M).Cells(ii + 2, 6).Value - Worksheets(M - 1).Cells(ii + 2, 6).Value - Worksheets(M).Cells(ii + 2, 5).Value

...

其中,Cells(ii + 2, 6)、Cells(ii + 2, 5)分別為報表中給出的工區(qū)月累產(chǎn)氣數(shù)據(jù)、工區(qū)日產(chǎn)氣數(shù)據(jù),M為按照日期排列的表單總數(shù)。當(dāng)日累產(chǎn)氣數(shù)據(jù)與前日累產(chǎn)氣數(shù)據(jù)對比,如果當(dāng)日累產(chǎn)氣數(shù)據(jù)與前日累產(chǎn)氣數(shù)據(jù)之差等于今日產(chǎn)氣數(shù)據(jù),則說明數(shù)據(jù)計算正確。

3)輸出報告程序

數(shù)據(jù)對比后,需要將對比結(jié)果按順序輸出形成報告。首先,通過程序Open "C:\RESULT.txt" For Append As #1在電腦C盤下的虛擬存儲文件夾建立txt文件。然后,通過Print函數(shù)或者Write函數(shù)將數(shù)據(jù)核算對比、核查程序運行結(jié)果寫入“RESULT.txt”文件,形成報告。

例如:

If Abs(Cells(ii + 2, 6).Value - Qgy) < 0.01 Then Else Print #1, "月產(chǎn)氣不匹配"

該語句將程序核算的月產(chǎn)氣量與報表給出的月產(chǎn)氣量進行對比,如果兩個數(shù)據(jù)超出誤差范圍,便在輸出報告中寫入"月產(chǎn)氣不匹配"。

If Cells(i, 13).Value = "" Then Else If Cells(i, 13).Value > 50 Then Print #1, Cells(i, 2).Value; Tab(40); "日產(chǎn)水大于50立方米"

該語句將核查單井的日產(chǎn)水量,如果日產(chǎn)水量數(shù)據(jù)超出50立方米,便在輸出報告中寫入井號及"日產(chǎn)水大于50立方米"。

4)數(shù)據(jù)整理

通過將需要的數(shù)據(jù)從日報表中提取到新建表單,并按照一定格式、計量單位進行排列、換算,實現(xiàn)數(shù)據(jù)整理,此過程應(yīng)用賦值運算符“=”。

3.3 可視界面制作

可視化操作界面有利于操作、人機互動。利用VB語言面向?qū)ο蟆⒖梢暬奶攸c制作如下界面:

1)文件點選界面。通過文件選擇框點選文件,避免直接向程序段寫入文件名稱、路徑,如圖5。

界面制作過程中用到commondialog控件、command控件,其中,command控件,賦值為“點擊,選擇文件,并開始檢查”。控件是VisualBasic中預(yù)定義的對象,是由系統(tǒng)設(shè)計好提供給用戶使用的對象[10],方便編程使用。

2)信息輸出界面。通過MsgBox 提示輸出文件存儲路徑 “C:/用戶/.../AppData/Local/VirtualStore/RESULT”,方便查找輸出文件,如圖6。通過MsgBox在程序末尾彈出“檢查結(jié)束”,如圖7,提示檢查程序運行結(jié)束。

3.4 運行結(jié)果輸出

運行程序后生成的輸出結(jié)果示例如圖8:

運行結(jié)果給出了異常數(shù)值、錯誤數(shù)值及部分?jǐn)?shù)據(jù)的對比結(jié)果,為后續(xù)數(shù)據(jù)分析提供了更高質(zhì)量、更為可靠的數(shù)據(jù)。

4 結(jié)束語

本文介紹了基于VB編寫的程序在氣田生產(chǎn)數(shù)據(jù)檢查及數(shù)據(jù)整理的應(yīng)用。所編寫的程序能夠?qū)蟊頂?shù)據(jù)進行核查、核算,有效提高報表審核效率,簡單明了地處理相關(guān)復(fù)雜煩瑣的工作。在實際應(yīng)用工作中可以根據(jù)需要擴充程序,使程序功能更加豐富,報表檢查更加細(xì)致、高效。

參考文獻:

[1] 高春艷,李賀.Visual Basic 項目開發(fā)全程實錄[M].北京:清華大學(xué)出版社,2013.

[2] 海濱,關(guān)媛.Visual Basic 程序設(shè)計教程[M].南京:南京大學(xué)出版社,2014.

[3] 馬赫,馮思度,張紅偉.學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2019,15(6):61-62.

[4] Rojas-Sola J I,del Río-Cidoncha G,Ortíz-Marín R,et al.Design and development of sheet-metal elbows using programming with visual basic for applications in CATIA[J].Symmetry,2020,13(1):33.

[5] Datta A.Process engineering and design using visual basic[M].Boca Raton:CRC Press,2013.

[6] 陳立秀.基于Visual Basic的試驗數(shù)據(jù)處理[J].山東工業(yè)技術(shù),2017(13):17.

[7] Wang Y,Ding Y Y,Shi L.Application of visual basic and FORTRAN mixed-language programming to visualization technology for hydro-meteorological model[J].Applied Mechanics and Materials,2012,263/264/265/266:1352-1355.

[8] 李小遐.Excel VBA在辦公自動化中的應(yīng)用[J].電子測試,2014(22):105-106,95.

[9] 王淏,亢娟娜.Excel VBA在測評成績計算中的應(yīng)用[J].辦公自動化,2021,26(2):63-64,26.

[10] 劉炳文.Visual Basic 程序設(shè)計教程[M].4版.北京:清華大學(xué)出版社,2009:13.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 精品视频一区二区观看| 91精品国产无线乱码在线| 亚欧成人无码AV在线播放| 狠狠色综合网| 久综合日韩| 日韩国产综合精选| 黄片一区二区三区| 亚洲精品无码日韩国产不卡| 国产成人乱无码视频| 十八禁美女裸体网站| 99久久精品国产自免费| 毛片视频网址| 亚洲第一天堂无码专区| 高清亚洲欧美在线看| 国产无码网站在线观看| 免费在线成人网| 高清久久精品亚洲日韩Av| 亚洲成网777777国产精品| 亚洲欧洲综合| 亚洲性一区| 国产成人综合网在线观看| 国产毛片一区| 亚洲第一成年免费网站| 国产不卡在线看| 亚洲一区二区三区麻豆| 欧美性猛交一区二区三区| 91探花在线观看国产最新| 九色视频一区| 色香蕉网站| 欧美性色综合网| 欧美成人h精品网站| 波多野结衣中文字幕一区二区| 国产老女人精品免费视频| 一级毛片在线播放免费观看 | 欧美人人干| 无码日韩人妻精品久久蜜桃| 日韩免费毛片| 中国一级毛片免费观看| 国产欧美日韩va| 成人欧美日韩| 免费a级毛片18以上观看精品| 亚洲区欧美区| 亚洲视频一区在线| 在线日韩日本国产亚洲| 亚洲无码高清一区| 玖玖精品在线| 视频二区国产精品职场同事| 国产视频 第一页| 久久久精品久久久久三级| 欧美激情视频一区二区三区免费| 国产精品吹潮在线观看中文| 精品国产自在在线在线观看| 国产成人综合在线视频| 素人激情视频福利| 亚洲女同一区二区| 国产91在线|中文| 日韩成人在线网站| 一区二区影院| 国产1区2区在线观看| 中文成人在线| 亚洲精品男人天堂| 超清无码熟妇人妻AV在线绿巨人| 国产精品欧美激情| 香蕉久人久人青草青草| 国产精品自在线天天看片| 天天婬欲婬香婬色婬视频播放| 波多野结衣无码中文字幕在线观看一区二区 | 国产午夜一级毛片| 无码日韩视频| 亚洲AⅤ永久无码精品毛片| 亚洲一区国色天香| 欧美视频免费一区二区三区| 高清无码不卡视频| 国产精品大尺度尺度视频| 亚洲高清中文字幕| 亚洲人成成无码网WWW| 欧美午夜理伦三级在线观看| 无码精品福利一区二区三区| 国产一区二区网站| 91在线高清视频| 黑人巨大精品欧美一区二区区| 中文字幕啪啪|