第011章 測(cè)繪VBA編程實(shí)例.ppt_第1頁(yè)
第011章 測(cè)繪VBA編程實(shí)例.ppt_第2頁(yè)
第011章 測(cè)繪VBA編程實(shí)例.ppt_第3頁(yè)
第011章 測(cè)繪VBA編程實(shí)例.ppt_第4頁(yè)
第011章 測(cè)繪VBA編程實(shí)例.ppt_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理與應(yīng)用,第 11章 VBA編程實(shí)例,遼寧科技大學(xué)資源與土木工程學(xué)院測(cè)繪工程教研室,坐標(biāo)方位角及距離計(jì)算理論基礎(chǔ),注意:計(jì)算出 的,應(yīng)根據(jù) 的正負(fù),判斷 其所在的象限。,程序?qū)崿F(xiàn)功能,兩個(gè)點(diǎn)的坐標(biāo)方位角及距離計(jì)算 批量測(cè)量坐標(biāo)方位角及距離計(jì)算,程序?qū)崿F(xiàn)步驟,窗體創(chuàng)建 標(biāo)準(zhǔn)模塊編寫 簡(jiǎn)單計(jì)算控件事件程序編寫 批量數(shù)據(jù)處理,窗體創(chuàng)建,窗體對(duì)象,選項(xiàng)組對(duì)象,標(biāo)簽對(duì)象,圖像對(duì)象,文本框?qū)ο?命令按鈕對(duì)象,窗體創(chuàng)建,窗體對(duì)象,選項(xiàng)組對(duì)象,窗體創(chuàng)建,窗體創(chuàng)建,標(biāo)簽對(duì)象,窗體創(chuàng)建,圖像對(duì)象,文本框?qū)ο?窗體創(chuàng)建,命令按鈕對(duì)象,標(biāo)準(zhǔn)模塊編寫,在對(duì)象處選擇模塊,點(diǎn)擊新建,彈出VBE編譯環(huán)境,標(biāo)準(zhǔn)模塊編寫

2、,在VBE編譯環(huán)境中,選擇保存按鈕,在另存為將模塊名稱改成“公用模塊”,標(biāo)準(zhǔn)模塊編寫,定義常量 Public Const PI = 3.14159265358979 計(jì)算方位角函數(shù)過(guò)程 Public Function JSFWJ(xa As Double, ya As Double, xb As Double, yb As Double) As Double 計(jì)算距離函數(shù)過(guò)程 Public Function JSJLS(xa As Double, ya As Double, xb As Double, yb As Double) As Double 弧度化角度函數(shù)過(guò)程 Public Funct

3、ion RadianToAngle(ByVal alfa As Double) As Double,公用模塊中主要常量及函數(shù)過(guò)程,標(biāo)準(zhǔn)模塊編寫,標(biāo)準(zhǔn)模塊編寫,標(biāo)準(zhǔn)模塊編寫,簡(jiǎn)單計(jì)算控件事件程序編寫,Private Sub Form_Load() Private Sub cmd_計(jì)算_Click() Private Sub cmd_數(shù)據(jù)清空_Click() Private Sub cmd_退出程序_Click(),簡(jiǎn)單計(jì)算控件事件程序編寫,簡(jiǎn)單計(jì)算控件事件程序編寫,簡(jiǎn)單計(jì)算控件事件程序編寫,簡(jiǎn)單計(jì)算控件事件程序編寫,批量數(shù)據(jù)處理,創(chuàng)建表 創(chuàng)建宏 控件事件程序編寫,創(chuàng)建表,計(jì)算前坐標(biāo)數(shù)據(jù)表 計(jì)算后

4、方位角及距離數(shù)據(jù)表,創(chuàng)建計(jì)算前坐標(biāo)數(shù)據(jù)表,計(jì)算前坐標(biāo)數(shù)據(jù)表結(jié)構(gòu),計(jì)算前坐標(biāo)數(shù)據(jù)表數(shù)據(jù),注意:此數(shù)據(jù)為輸入得到,創(chuàng)建計(jì)算前坐標(biāo)數(shù)據(jù)表,計(jì)算后方位角及距離數(shù)據(jù)表結(jié)構(gòu),創(chuàng)建計(jì)算后方位角及距離數(shù)據(jù)表,計(jì)算后方位角及距離數(shù)據(jù)表數(shù)據(jù),注意:此數(shù)據(jù)為計(jì)算得到,無(wú)需輸入,創(chuàng)建計(jì)算后方位角及距離數(shù)據(jù)表,創(chuàng)建宏,Autoexec 導(dǎo)入導(dǎo)出數(shù)據(jù),Autoexec宏,目的:在打開Access時(shí),能將坐標(biāo)方位角及距離計(jì)算小程序窗體自動(dòng)打開。,導(dǎo)入導(dǎo)出數(shù)據(jù)宏,宏名為:導(dǎo)入計(jì)算數(shù)據(jù),用作原始數(shù)據(jù)輸入時(shí)用,宏名為:導(dǎo)出計(jì)算后方位角及距離數(shù)據(jù),用作計(jì)算后數(shù)據(jù)導(dǎo)出到Excel表中。,導(dǎo)入導(dǎo)出數(shù)據(jù)宏,控件事件程序編寫,Privat

5、e Sub cmd_導(dǎo)入計(jì)算數(shù)據(jù)_Click() Private Sub cmd_批量計(jì)算_Click() Private Sub Cmd_退出程序2_Click(),控件事件程序編寫,打開要進(jìn)行批量計(jì)算的數(shù)據(jù)表計(jì)算前坐標(biāo)數(shù)據(jù)表 Private Sub cmd_導(dǎo)入計(jì)算數(shù)據(jù)_Click() DoCmd.RunMacro 導(dǎo)入導(dǎo)出數(shù)據(jù).導(dǎo)入計(jì)算數(shù)據(jù) End Sub,控件事件程序編寫,Private Sub cmd_批量計(jì)算_Click() Dim JSXH As Integer 定義計(jì)算序號(hào) Dim QDname As String, ZDname As String 第一起點(diǎn)和終點(diǎn)點(diǎn)號(hào) 定義起

6、點(diǎn)坐標(biāo)(QDx和QDy)和終點(diǎn)坐標(biāo)(ZDx和ZDy) Dim QDx As Double, QDy As Double, ZDx As Double, ZDy As Double Dim Conn As ADODB.Connection Dim rs1 As ADODB.Recordset Dim rs2 As ADODB.Recordset Dim rs3 As ADODB.Recordset Set Conn = CurrentProject.Connection Set rs1 = New ADODB.Recordset Set rs2 = New ADODB.Recordset Set

7、 rs3 = New ADODB.Recordset 清空簡(jiǎn)單計(jì)算內(nèi)容 Me.txt_Xa = Null: Me.txt_Ya = Null Me.txt_Xb = Null: Me.txt_Yb = Null,控件事件程序編寫,清空計(jì)算后方位角及距離數(shù)據(jù)表,為計(jì)算后添加數(shù)據(jù)做準(zhǔn)備 rs3.Open select * from 計(jì)算后方位角及距離數(shù)據(jù), Conn, adOpenDynamic, adLockOptimistic rs3.MoveFirst Do While Not rs3.EOF rs3.Delete rs3.Update rs3.MoveNext Loop rs3.Close

8、 打開計(jì)算前坐標(biāo)數(shù)據(jù)表并指向第一條記錄 rs1.Open 計(jì)算前坐標(biāo)數(shù)據(jù), Conn, adOpenDynamic, adLockOptimistic rs1.MoveFirst 打開計(jì)算后方位角及距離數(shù)據(jù)表,把計(jì)算后數(shù)據(jù)保存到表中 rs2.Open 計(jì)算后方位角及距離數(shù)據(jù), Conn, adOpenDynamic, adLockOptimistic 讀取表中數(shù)據(jù),開始計(jì)算 Do While Not rs1.EOF JSXH = rs1!序號(hào) QDname = rs1!起點(diǎn)點(diǎn)號(hào) QDx = rs1!起點(diǎn)x坐標(biāo) QDy = rs1!起點(diǎn)y坐標(biāo) ZDname = rs1!終點(diǎn)點(diǎn)號(hào) ZDx = rs

9、1!終點(diǎn)x坐標(biāo) ZDy = rs1!終點(diǎn)y坐標(biāo),控件事件程序編寫,If (ZDx - QDx) = 0 And (ZDy - QDy) = 0 Then MsgBox QDname & 和 & ZDname & 是同一個(gè)點(diǎn), vbOKOnly + vbExclamation, 提示信息 Exit Sub Else rs2.AddNew rs2!序號(hào) = JSXH rs2!名稱 = QDname & & ZDname rs2!方位角 = JSFWJ(QDx, QDy, ZDx, ZDy) rs2!距離= JSJLS(QDx, QDy, ZDx, ZDy) rs2.Update rs1.MoveNext End If Loop rs1.Close rs2.Close 利用宏,把數(shù)據(jù)導(dǎo)出到Excel表中 DoCmd.RunMacro 導(dǎo)入導(dǎo)出數(shù)據(jù).導(dǎo)出計(jì)算后方位角及距離數(shù)據(jù) End Sub,控件事件程序編寫,Private Sub Cmd_退出程序2_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論