版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)</p><p> 題 目:基于MAPX的房屋測繪</p><p> 管理系統(tǒng)設(shè)計 </p><p> 專業(yè)代碼: 070703 </p><p> 作者姓名: 歐陽任彬 </p><p> 學 號:
2、 2007202065 </p><p> 單 位: 環(huán)境與規(guī)劃學院 </p><p> 指導教師: 肖 燕 </p><p> 2011年5月31日</p><p><b> 原創(chuàng)性聲明</b></p><p> 本人鄭重聲明:所提交的學位論文
3、是本人在導師指導下,獨立進行研究取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,論文中不含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得聊城大學或其他教育機構(gòu)的學位證書而使用過的材料。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人承擔本聲明的相應責任。</p><p> 學位論文作者簽名: 日期 .</p><p> 指導教
4、師簽名: 日期 .</p><p><b> 目錄</b></p><p><b> 1 前言1</b></p><p> 1.1 系統(tǒng)設(shè)計背景1</p><p> 1.2 系統(tǒng)開發(fā)相關(guān)技術(shù)1</p><p> 1.2.1 V
5、isual Basic 6.0中文版介紹1</p><p> 1.2.2 MapX 5.0中文版簡介1</p><p><b> 2 系統(tǒng)總功能2</b></p><p> 2.1繪制房屋平面圖2</p><p> 2.2平面圖屬性設(shè)置2</p><p> 2.3平面面積的計算
6、2</p><p> 2.4系統(tǒng)輔助功能2</p><p><b> 2.5系統(tǒng)維護2</b></p><p> 3 系統(tǒng)程序?qū)崿F(xiàn)3</p><p> 3.1主界面設(shè)計3</p><p> 3.2 圖層控制功能設(shè)計4</p><p> 3.3 平面圖
7、屬性設(shè)置功能設(shè)計4</p><p> 3.4 平面圖面積計算功能設(shè)計7</p><p> 3.5 系統(tǒng)輔助功能設(shè)計15</p><p> 3.6 系統(tǒng)維護功能設(shè)計16</p><p><b> 4 結(jié)語16</b></p><p><b> 參考文獻17</b
8、></p><p><b> 致 謝18</b></p><p><b> 摘 要</b></p><p> 房屋測繪管理是對房屋屬性描述的有效系統(tǒng),針對房屋管理中需要解決的如何實現(xiàn)測繪平面圖、屬性設(shè)置、房屋面積計算、輔助功能和系統(tǒng)維護等管理功能,文章提出建立基于MAPX的房屋測繪管理系統(tǒng),以數(shù)據(jù)庫為基礎(chǔ),在
9、計算機軟硬件支持下,運用系統(tǒng)工程和信息科學的理論和方法,綜合地、動態(tài)地獲取、存儲、管理、分析和應用地理信息的多媒體信息系統(tǒng)。該系統(tǒng)的建立,將以其快速高效收集、存儲、整理、輸出、查詢、檢索等功能來提高房屋測繪管理效率,更以其優(yōu)越的空間分析功能使房屋測繪管理更為科學。</p><p> 關(guān)鍵詞:MAPX;房屋測繪;管理系統(tǒng);設(shè)計</p><p><b> Abstract<
10、/b></p><p> Houses of surveying and mapping management is the effective system house property description .Aimed at building management of how to realize the need to be solved in surveying and mapping p
11、lan,attribute set ,building area calculation,the auxiliary function and system maintenance management function.This paper based on the house MAPX surveying and mapping management system, based on database, in support of
12、computer software and hardware , uses system engineering and information science, the the</p><p> Key words: MAPX;housing surveying and mapping;management system;design</p><p> 基于MAPX的房屋測繪管理系統(tǒng)
13、設(shè)計</p><p><b> 1 前言</b></p><p> 1.1 系統(tǒng)設(shè)計背景 </p><p> 隨著房價日益上漲,房屋測繪管理系統(tǒng)顯得尤為重要。房屋測繪管理系統(tǒng)包括測繪平面圖、屬性設(shè)置、房屋面積計算、輔助功能和系統(tǒng)維護五大管理功能,實現(xiàn)了房屋測繪的全面管理,是各種房地產(chǎn)公司進行電腦信息化管理的理想選擇。最重要的就是利用Map
14、x控件進行房屋圖層的管理和控制.并將數(shù)據(jù)庫同圖層緊密的結(jié)合在一起。該系統(tǒng)可以廣泛的應用于各種測繪企業(yè)以及房地產(chǎn)公司。以空間信息處理為核心的地理信息系統(tǒng)(GIS) 技術(shù), 因具有強大的空間信息管理、空間信息分析、空間信息查詢及三維影像顯示等功能 [1]。而成為房屋測繪信息化的首選平臺。</p><p> 基于VB+MapX的房屋測繪管理系統(tǒng)是以數(shù)據(jù)庫為基礎(chǔ),在計算機軟硬件支持下,運用系統(tǒng)工程和信息科學的理論和方法
15、,綜合地、動態(tài)地獲取、存儲、管理、分析和應用地理信息的多媒體信息系統(tǒng)。該系統(tǒng)的建立,將以其快速高效收集、存儲、整理、輸出、查詢、檢索等功能來提高房屋測繪管理效率,更以其優(yōu)越的空間分析功能使房屋測繪管理更為科學 [2]。</p><p> 1.2 系統(tǒng)開發(fā)相關(guān)技術(shù)</p><p> 1.2.1 Visual Basic 6.0中文版介紹</p><p> Vis
16、ual Basic是在原有Basic語言基礎(chǔ)上的進一步發(fā)展,它包含了數(shù)百條語句、函數(shù)及關(guān)鍵詞,其中很多與Windows GUI有直接的關(guān)系??梢暂p易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應用程序[3]。</p><p> 1.2.2 MapX 5.0中文版簡介</p><p> MapX是一種集MapIn
17、fo強大功能于一身的性價比非常高的ActiveX控件,MapX支持用戶將地圖功能添加到任何應用中,提供了一種高度可視化的方法,來顯示和分析基于位置的數(shù)據(jù),它和眾多的可視化編程工具例如Visual Basic、Visual c++、PowerBuilder、Delphi等緊密結(jié)合,使得眾多的用戶利用它可以很快的開發(fā)出非常專業(yè)的地理信息系統(tǒng)應用軟件[4]。</p><p><b> 2 系統(tǒng)總功能<
18、/b></p><p> 2.1繪制房屋平面圖</p><p> 在這個功能模塊中,包括基本信息設(shè)置、平面圖文件操作、繪制房屋平面圖、設(shè)置平面圖屬性和編輯平面圖5個方面。通過一系列正確的操作,可以方便地生成房屋平面圖。</p><p> 2.2平面圖屬性設(shè)置</p><p> 在這個圖形屬性設(shè)置中,包括層數(shù)設(shè)置、類型設(shè)置、分攤和
19、陽臺閣樓歸屬4個方面。類型設(shè)置和分攤是房屋面積計算中關(guān)鍵的參數(shù),是是否能夠計算出房屋面積的關(guān)鍵。類型設(shè)置中的功能模塊以準確的類型基礎(chǔ),提供了對各封閉平面的類型設(shè)定,類型包括戶室、封閉陽臺、陽臺、閣樓、墻體、分攤面積和未知類型幾種,按封閉面和不同種類分別給予設(shè)定。</p><p> 2.3平面面積的計算</p><p> 能否準確合理地計算所需的平面圖的數(shù)據(jù),是評價系統(tǒng)好壞的關(guān)鍵。為了達
20、到一個比較好的計算效果,系統(tǒng)中綜合運用了數(shù)據(jù)庫的后臺備份技術(shù)及其MapX空間強大的前臺繪圖機計算機技術(shù),較好地實現(xiàn)了計算機平面圖面積的功能。</p><p><b> 2.4系統(tǒng)輔助功能</b></p><p> 在這個模塊中,包括轉(zhuǎn)成區(qū)域、區(qū)域合并、生成墻體、三角形角度計算和計算器5個方面。該模塊用來實現(xiàn)平面圖統(tǒng)一集中的管理,為其他幾個管理系統(tǒng)提供了基本信息,用
21、以提高工作效率。</p><p><b> 2.5系統(tǒng)維護</b></p><p> 在這個模塊中,包括系統(tǒng)日志、數(shù)據(jù)庫整理、數(shù)據(jù)庫備份、數(shù)據(jù)庫還原4個方面。系統(tǒng)維護中的功能模塊用來保障數(shù)據(jù)庫和系統(tǒng)的安全。</p><p> 綜上所述,系統(tǒng)的功能需求框圖如圖1所示。</p><p> 圖1 系統(tǒng)總功能需求框圖&l
22、t;/p><p> Fig.1 system's total functional requirements diagram</p><p><b> 3 系統(tǒng)程序?qū)崿F(xiàn)</b></p><p><b> 3.1主界面設(shè)計</b></p><p> 本程序采用流行的界面設(shè)計技術(shù),符合商業(yè)化
23、軟件設(shè)計的要求。采用菜單、工具欄、狀態(tài)條相結(jié)合的方法,使得用戶能夠在主界面上快速的進入所需要的程序模塊,具體的程序運行界面如圖2所示。</p><p><b> 圖2 系統(tǒng)主界面</b></p><p> Fig.2 system interface</p><p> 3.2 圖層控制功能設(shè)計</p><p>
24、圖層控制,最主要的就是能夠新建圖層或者打開現(xiàn)有的圖層。打開圖層以后,能夠選取或者刪除圖層中的元素等。</p><p> 3.3 平面圖屬性設(shè)置功能設(shè)計</p><p> 平面圖屬性設(shè)置主要包括層數(shù)設(shè)置、類型設(shè)置、分攤設(shè)置和陽臺、閣樓歸屬設(shè)置4個功能模塊。上圖形繪制完成了,才對各個封閉面進行各種設(shè)置,以便以后的面積計算。</p><p> 在對封閉面進行層數(shù)設(shè)置
25、時,點擊選區(qū)域或框選后選中一個或幾個封閉面,如圖3所示。</p><p> 圖3選定封閉面后窗體</p><p> Fig.3 after selecting areas form</p><p> 在“屬性”菜單中選中“層數(shù)設(shè)置”,在其中輸入基層和結(jié)束層數(shù)。完成對剛才選定的封閉的層數(shù)的設(shè)定。</p><p> 在對封閉面進行分攤設(shè)置
26、時,應先畫好平面圖,點擊選區(qū)域或框選后選中多個封閉面(一定要有一個封閉面的類型為戶屋),在“屬性”菜單中選中“分攤設(shè)置”,選擇是一次分攤還是多次分攤。則對剛才選定的封閉的分攤進行了設(shè)定,被分攤面的類型發(fā)生了變化。</p><p> 對陽臺、閣樓歸屬的設(shè)置和分攤設(shè)置基本相同,不再贅述。</p><p> 下面就屬性設(shè)置中重要的功能模塊的設(shè)計和核心代碼實現(xiàn)進行分析。</p>
27、<p> 菜單“屬性 類型設(shè)置”單擊事件代碼,用于進行圖層類型設(shè)置,類型設(shè)置界面如圖4所示。</p><p> 圖4 類型設(shè)置窗體</p><p> Fig.4 type settings form</p><p><b> 類型設(shè)置代碼如下:</b></p><p> Private Sub
28、mnuProperties_Click()</p><p> Dim fs As Features</p><p> Dim f As MapXLib.Feature</p><p> Dim txtLyrF As New MapXLib.Feature</p><p> Dim rs As ADODB.Recordset</p
29、><p> Dim szSQL As String</p><p> Dim frm As frmSProperies</p><p> Dim ct As Long</p><p> Dim ret As Long</p><p> Dim OldType As Long '老的類型</p>
30、<p> On Error GoTo ErrHandler</p><p> Set fs = Map1.Layers.Item(REGION_LAYER).Selection</p><p> '---------</p><p> ct = GetCountFromFeatures(fs)</p><p>
31、 If ct <= 0 Then</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> '如果不是所有類型都是未知類型,則報警</p><p> If NotAllIsWZType(fs) = True Then&
32、lt;/p><p> ret = MsgBox("你的操作將導致數(shù)據(jù)庫中相關(guān)信息的丟失。要繼續(xù)嗎?", vbYesNo + vbQuestion, Me.Caption)</p><p> If ret = vbNo Then</p><p><b> Exit Sub</b></p><p>&l
33、t;b> End If</b></p><p><b> End If</b></p><p><b> '顯示屬性對話框</b></p><p> Set frm = New frmSProperies</p><p><b> Load frm<
34、;/b></p><p> frm.Show vbModal, Me</p><p> If frm.IsCanceled = True Then</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p>
35、; '1:對單個Feature</p><p> Set rs = New ADODB.Recordset</p><p> For Each f In fs</p><p> '--------------------------------------------------</p><p> szSQL = &
36、quot;SELECT jchh,ftype FROM tbFeature WHERE tbName='" & REGION_LAYER & "' AND FtKey='" & CStr(f.FeatureKey) & "'"</p><p> rs.Open szSQL, MAP_CONN, ad
37、OpenKeyset, adLockPessimistic, adCmdText</p><p> If rs.RecordCount >= 1 Then</p><p> '先從數(shù)據(jù)庫刪除數(shù)據(jù)</p><p> DeleteFromTBFir REGION_LAYER, f.FeatureKey</p><p>
38、39;將新類型寫入tbFeature</p><p> szSQL = "UPDATE tbFeature " & _</p><p> "SET jchh='" & CStr(frm.HuHao) & "', " & _</p><p> "
39、ftype=" & CStr(frm.Htype) & _</p><p> " WHERE tbName='" & REGION_LAYER & "' AND ftkey='" & f.FeatureKey & "'"</p><p>
40、 MAP_CONN.Execute szSQL</p><p> '改變Feature的顏色</p><p> f.Style.RegionPattern = miPatternSolid</p><p> Select Case frm.Htype</p><p> Case 0 '未知類型</p>&
41、lt;p> f.Style.RegionColor = lblWZ.BackColor</p><p> Case 1 '戶室</p><p> f.Style.RegionColor = lblHS.BackColor</p><p> Case 2 '陽臺</p><p> f.Style.RegionCo
42、lor = lblYT.BackColor</p><p> Case 3 '封閉陽臺</p><p> f.Style.RegionColor = lblFBYT.BackColor</p><p> Case 4 '閣樓</p><p> f.Style.RegionColor = lblGL.BackColor&
43、lt;/p><p> Case 5 '未分攤面</p><p> f.Style.RegionColor = lblFT.BackColor</p><p> Case 6 '墻體</p><p> f.Style.RegionColor = lblQT.BackColor</p><p><
44、b> Case Else</b></p><p> End Select</p><p><b> f.Update</b></p><p><b> End If</b></p><p> '-----------</p><p> I
45、f Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b> End If</b&
46、gt;</p><p><b> Next</b></p><p> 'close the rs</p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b>
47、 rs.Close</b></p><p><b> End If</b></p><p> Set rs = Nothing</p><p><b> End If</b></p><p><b> Exit Sub</b></p><
48、;p> ErrHandler:</p><p> Screen.MousePointer = 0</p><p> Set rs = Nothing</p><p> Set frm = Nothing</p><p> ErrMessageBox "mnuProperties_Click()", Me.C
49、aption</p><p><b> End Sub</b></p><p> 3.4 平面圖面積計算功能設(shè)計</p><p> 既然是房屋測量系統(tǒng),那么面積計算的功能是不可少的,下面介紹面積測量模塊中的重要代碼。</p><p> (l)菜單“屬性 面積計算”單擊事件代碼,用于樓層面積計算,面積計算的結(jié)果
50、如圖5所示。</p><p> 菜單單擊事件代碼如下:</p><p> Private Sub mnuCalcArea_Click()</p><p><b> '面積計算</b></p><p> Call CalculateArea</p><p><b>
51、39;顯示計算結(jié)果</b></p><p> Call mnuAreaDisp_Click</p><p><b> End Sub</b></p><p> 其中函數(shù)CalculateArea用于計算面積,rnnuAreaDispes-Click用于顯示計算窗體。</p><p> 圖5 面積計算
52、窗體</p><p> Fig.5 calculate area form</p><p> (2)計算面積的核心函數(shù)CalculateArea</p><p><b> '面積計算</b></p><p> Private Sub CalculateArea()</p><p>
53、 Dim frm As Form</p><p> Dim fs As MapXLib.Features</p><p> Dim f As MapXLib.Feature</p><p> Dim szSQL As String</p><p> Dim szCydy As String '參與分攤的單元</p>
54、;<p> Dim rs As ADODB.Recordset</p><p> Dim rs1 As ADODB.Recordset</p><p> Dim MaxCS As Long '最大層數(shù)</p><p> Dim MinCS As Long '最小層數(shù)</p><p> Dim Zjzmj
55、 As Double '總建筑面積</p><p> Dim ZGymj As Double '部共用面積</p><p> Dim Ztljzmj As Double '總套內(nèi)建筑面積</p><p> Dim Zglmj As Double '總閣樓面積</p><p> Dim Zftxs As
56、Double '總分攤系數(shù)</p><p> Screen.MousePointer = 11</p><p> Set rs = New ADODB.Recordset</p><p> Set frm = New frmBusy</p><p> frm.Message = "正在進行面積計算,請稍候...&qu
57、ot;</p><p><b> Load frm</b></p><p> frm.Show vbModeless, Me</p><p><b> DoEvents</b></p><p> On Error GoTo ErrHandler</p><p> &
58、#39;10:在進行面積計算之前,做一些初始化的工作</p><p> MAP_CONN.Execute "DELETE FROM tbHS"</p><p> '20:先計算幾何面積并存入tbFeature中</p><p> Set fs = Map1.Layers.Item(REGION_LAYER).AllFeatures&
59、lt;/p><p> For Each f In fs</p><p> If f.Type = miFeatureTypeRegion Then</p><p> szSQL = "UPDATE tbFeature SET Farea=" & CStr(f.Area) & _</p><p> &qu
60、ot; WHERE tbName='" & REGION_LAYER & "' " & _</p><p> " AND FtKey='" & CStr(f.FeatureKey) & "'"</p><p> MAP_CONN.Execute
61、szSQL</p><p><b> End If</b></p><p><b> Next</b></p><p> '25:將戶室數(shù)據(jù)轉(zhuǎn)入tbHS中</p><p> MAP_CONN.Execute "INSERT INTO tbHS SELECT * FROM t
62、bFeature " & _</p><p> " WHERE tbFeature.tbName='" & REGION_LAYER & "'" & _</p><p> " AND tbFeature.FType=1"</p><p>
63、39;30:計算戶室面積(實用面積),包括陽臺和封閉陽臺</p><p> '30.10#:將戶室的幾何面積存入tbArea中</p><p> MAP_CONN.Execute "DELETE FROM tbArea"</p><p> MAP_CONN.Execute "INSERT INTO tbArea(tbNam
64、e,FtKey,CH,Harea) " & _</p><p> "SELECT tbHS.tbName,tbHS.FtKey," & _</p><p> " (CSTR(jc) & ""-"" & Cstr(JC+CS-1)) as CH," &am
65、p; _</p><p> " tbHS.Farea FROM tbHS"</p><p> '30.20#:計算陽臺的幾何面積并加到tbArea.Harea中去</p><p> rs.Open "SELECT * FROM qryYT", MAP_CONN, adOpenKeyset, adLoc
66、kPessimistic, adCmdText</p><p> Do While Not rs.EOF</p><p> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "Set tbArea.Harea = tbArea.Harea + " & CStr(
67、rs!YTArea) & "," & _</p><p> " tbArea.YT=tbArea.YT+" & CStr(rs!YTArea) & _</p><p> " Where tbArea.tbName ='" & CStr(rs!tbName) & &q
68、uot;' And " & _</p><p> " tbArea.FtKey = '" & CStr(rs!FTKey) & "'"</p><p> rs.MoveNext</p><p><b> Loop</b></p
69、><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b&
70、gt; End If</b></p><p> '30.30#:計算封閉陽臺的幾何面積并加到tbArea.Harea中去</p><p> rs.Open "SELECT * FROM qryFBYT", MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText</p><p&
71、gt; Do While Not rs.EOF</p><p> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "Set tbArea.Harea = tbArea.Harea + " & CStr(rs!YTArea) & "," & _<
72、;/p><p> " tbArea.YT=tbArea.YT+" & CStr(rs!YTArea) & _</p><p> " Where tbArea.tbName ='" & CStr("" & rs!tbName) & "' And " &
73、amp; _</p><p> " tbArea.FtKey ='" & CStr("" & rs!FTKey) & "'"</p><p> rs.MoveNext</p><p><b> Loop</b></p>
74、;<p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b>
75、 End If</b></p><p> '40:計算一次分攤系數(shù)及面積</p><p> rs.Open "SELECT tbName,FtKey,Sum(YCFTMJ) as FTMJ FROM qryHSYCFT GROUP BY tbName,FtKey", MAP_CONN, adOpenKeyset, adLockPessimist
76、ic, adCmdText</p><p> Do While Not rs.EOF</p><p> ' MAP_CONN.Execute "UPDATE tbArea " & _</p><p> ' "SET tbArea.ycftxs=&
77、quot; & CStr(rs!YCFTXS) & "," & _</p><p> ' " TbArea.YCFTMJ =" & CStr(rs!YCFTMJ) & _</p><p> '
78、 " WHERE tbArea.tbName='" & CStr(rs!tbName) & "' AND " & _</p><p> ' " tbArea.FTKey ='" & CStr(rs!FtKey) &a
79、mp; "'"</p><p> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "SET tbArea.YCFTMJ =" & CStr(rs!FTMJ) & _</p><p> " WHERE tbArea.
80、tbName='" & CStr(rs!tbName) & "' AND " & _</p><p> " tbArea.FTKey ='" & CStr(rs!FTKey) & "'"</p><p> rs.MoveNext<
81、/p><p><b> Loop</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b&
82、gt; End If</b></p><p><b> End If</b></p><p> '50:計算多次分攤系數(shù)及面積</p><p> rs.Open "SELECT tbName,FtKey,Sum(DCFTMJ) as FTMJ FROM qryHSDCFT GROUP BY tbName,F
83、tKey", MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText</p><p> Do While Not rs.EOF</p><p> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "SET tbArea.
84、dcftmj =" & CStr(rs!FTMJ) & _</p><p> " WHERE tbArea.tbName='" & CStr(rs!tbName) & "' AND " & _</p><p> " tbArea.FTKey ='&quo
85、t; & CStr(rs!FTKey) & "'"</p><p> rs.MoveNext</p><p><b> Loop</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateO
86、pen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b> End If</b></p><p> '55:計算墻體分攤系數(shù)及面積(已經(jīng)納入一次分攤計算中去了)</p>
87、;<p><b> '60:閣樓面積</b></p><p> rs.Open "SELECT * FROM qryGL", MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText</p><p> Do While Not rs.EOF</p><p
88、> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "SET tbArea.GLmj = " & CStr(rs!GLArea) & " " & _</p><p> " WHERE tbArea.tbName='"
89、; & CStr(rs!tbName) & "' AND " & _</p><p> " tbArea.ftKey ='" & CStr(rs!FTKey) & "'"</p><p> rs.MoveNext</p><p>
90、<b> Loop</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b
91、></p><p><b> End If</b></p><p> '70:計算建筑面積</p><p> MAP_CONN.Execute "UPDATE tbArea " & _</p><p> "SET jzmj = Harea + ycftmj +
92、dcftmj + glmj"</p><p> '75:處理報表數(shù)據(jù)</p><p> '75.10#:清空分攤面積表tbFTarea</p><p> MAP_CONN.Execute "DELETE FROM tbFTarea"</p><p> '75.20#:插入一次分攤面
93、面積</p><p> szSQL = "INSERT INTO tbFTarea ( FtKey, CH, Jhmj, zmj, HSzmj, ftlx ) " & _</p><p> "SELECT tbFeature.FtKey AS Ftkey, " & _</p><p> "
94、 (CStr(tbFeature.Jc) & ""-"" & CStr(tbFeature.JC + tbFeature.CS - 1)) AS CH," & _</p><p> " tbFeature.Farea AS Jhmj, (tbFeature.Farea * tbFeature.CS) AS zm
95、j," & _</p><p> " qryYCFTZMJ.YCZMJ AS HSzmj, ""一次分攤"" AS Ftlx " & _</p><p> "From tbFeature, qryYCFTZMJ " & _</p><p
96、> "WHERE qryYCFTZMJ.tbName=tbFeature.tbName AND " & _</p><p> " qryYCFTZMJ.FtKey=tbFeature.FtKey"</p><p> MAP_CONN.Execute szSQL</p><p> '7
97、5.30#:插入多次分攤面積</p><p> szSQL = "INSERT INTO tbFTarea(FtKey,CH,Jhmj,zmj,HSzmj,Ftlx) " & _</p><p> "SELECT tbFeature.FtKey AS Ftkey, " & _</p><p> "
98、; (CStr(tbFeature.Jc) & ""-"" & CStr(tbFeature.JC + tbFeature.CS - 1)) AS CH, " & _</p><p> " tbFeature.Farea AS Jhmj, (tbFeature.Farea * tbFeature.CS)
99、AS zmj," & _</p><p> " qryDCFTZMJ.DCZMJ, ""多次分攤"" AS Ftlx " & _</p><p> "From qryDCFTZMJ, tbFeature " & _</p><p>
100、 "WHERE qryDCFTZMJ.tbName=tbFeature.tbName AND " & _</p><p> " qryDCFTZMJ.FtKey=tbFeature.FtKey"</p><p> MAP_CONN.Execute szSQL</p><p> '75.40#
101、:更新分攤系數(shù)、參與分攤的單元</p><p><b> '分攤系數(shù)</b></p><p> MAP_CONN.Execute "UPDATE tbFTarea SET Ftxs=zmj/HSzmj"</p><p><b> '參與分攤的單元</b></p>&l
102、t;p> rs.Open "SELECT FtKey,Cydy FROM tbFTarea", MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText</p><p> Set rs1 = New ADODB.Recordset</p><p> Do While Not rs.EOF</p>
103、<p> szSQL = "SELECT (""A"" & H_FtKey) as HFK FROM tbFir WHERE F_TbName="""</p><p> szSQL = szSQL & REGION_LAYER & """ AND F_FtKey=&q
104、uot;"" & "" & rs("FtKey") & """"</p><p> 'rs1.Open szSQL, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText</p><p> Set rs1
105、 = MAP_CONN.Execute(szSQL)</p><p> szCydy = ""</p><p> Do While Not rs1.EOF</p><p> szCydy = szCydy & "" & rs1("HFK") & ","<
106、;/p><p> rs1.MoveNext</p><p><b> Loop</b></p><p> If Right(szCydy, 1) = "," Then</p><p> szCydy = Left(szCydy, Len(szCydy) - 1)</p><p&
107、gt;<b> End If</b></p><p> 'update the recordset</p><p> rs.Update Array("Cydy"), Array(szCydy)</p><p> '---------</p><p> If Not rs1
108、Is Nothing Then</p><p> If rs1.State = adStateOpen Then</p><p><b> rs1.Close</b></p><p><b> End If</b></p><p><b> End If</b><
109、/p><p> '-----------------</p><p> rs.MoveNext</p><p><b> Loop</b></p><p> 'release the pointer</p><p> If Not rs1 Is Nothing Then<
110、;/p><p> If rs1.State = adStateOpen Then</p><p><b> rs1.Close</b></p><p><b> End If</b></p><p> Set rs1 = Nothing</p><p><b>
111、 End If</b></p><p><b> '77:統(tǒng)計</b></p><p> '77.10#:計算層數(shù)</p><p> Set rs = MAP_CONN.Execute("SELECT Max(jc+cs-1) as MaxC FROM tbFeature WHERE tbName=
112、'" & REGION_LAYER & "'")</p><p> If Not rs.EOF Then</p><p> MaxCS = rs("MaxC")</p><p><b> End If</b></p><p> If
113、 Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b> End If</b&g
114、t;</p><p> Set rs = MAP_CONN.Execute("SELECT Min(jc) as MinC FROM tbFeature WHERE tbName='" & REGION_LAYER & "'")</p><p> If Not rs.EOF Then</p><
115、p> MinCS = rs("MinC")</p><p><b> End If</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.C
116、lose</b></p><p><b> End If</b></p><p><b> End If</b></p><p> If MinCS < 0 Then</p><p> MaxCS = MaxCS - MinCS</p><p>&l
117、t;b> End If</b></p><p><b> '77.20#:</b></p><p> ' Dim Zjzmj As Double '總建筑面積</p><p> ' Dim ZGymj As Double '總共用面積</p><p
118、> ' Dim Ztljzmj As Double '總套內(nèi)建筑面積</p><p> ' Dim Zglmj As Double '總閣樓面積</p><p> ' Dim Zftxs As Double '總分攤系數(shù)</p><p><b> '總共用面積</
119、b></p><p> Set rs = MAP_CONN.Execute("SELECT Sum(Zmj) as GYMJ FROM rptFT")</p><p> If Not rs.EOF Then</p><p> If Not IsNull(rs("GYMJ")) Then</p><
120、;p> ZGymj = rs("GYMJ")</p><p><b> End If</b></p><p><b> End If</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adS
121、tateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> '總套內(nèi)建筑面積</b></p&
122、gt;<p> szSQL = "SELECT Sum(tbArea.Harea*tbFeature.cs) as TLMJ FROM tbArea,tbFeature " & _</p><p> " WHERE tbArea.Tbname=tbFeature.tbName AND tbArea.FtKey=tbFeature.FtKey"<
123、;/p><p> Set rs = MAP_CONN.Execute(szSQL)</p><p> If Not rs.EOF Then</p><p> If Not IsNull(rs("TLMJ")) Then</p><p> Ztljzmj = rs("TLMJ")</p>
124、<p><b> End If</b></p><p><b> End If</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs
125、.Close</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> '總建筑面積</b></p><p> Zjzmj = ZGymj + Ztljzmj</p>
126、<p><b> '總閣樓面積</b></p><p> szSQL = "SELECT Sum(cs*farea) as GLMJ FROM tbFeature WHERE tbName='" & REGION_LAYER & "' AND Ftype=4"</p><p&
127、gt; Set rs = MAP_CONN.Execute(szSQL)</p><p> If Not rs.EOF Then</p><p> If Not IsNull(rs("GLMJ")) Then</p><p> Zglmj = 0 + rs("GLMJ")</p><p><
128、;b> End If</b></p><p><b> End If</b></p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b&
129、gt;</p><p><b> End If</b></p><p><b> End If</b></p><p><b> '總分攤系數(shù)</b></p><p> If Ztljzmj <> 0 Then</p><p>
130、; Zftxs = ZGymj / Ztljzmj</p><p><b> End If</b></p><p><b> '寫入數(shù)據(jù)庫</b></p><p> szSQL = "UPDATE tbTable SET Cs=" & CStr(MaxCS) & &quo
131、t;," & _</p><p> "Zjzmj=" & CStr(Zjzmj) & "," & _</p><p> "Zgymj=" & CStr(ZGymj) & "," & _</p><p> "
132、Ztljzmj=" & CStr(Ztljzmj) & "," & _</p><p> "Zglmj=" & CStr(Zglmj) & "," & _</p><p> "Zftxs=" & CStr(Zftxs) & _<
133、/p><p> " WHERE LyrName='" & REGION_LAYER & "'"</p><p> MAP_CONN.Execute szSQL</p><p> '80:計算結(jié)束,顯示計算結(jié)果</p><p> Screen.MousePoin
134、ter = 0</p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End If</b></p>&l
135、t;p> Set rs = Nothing</p><p><b> End If</b></p><p> Unload frm</p><p> '-----------------------------------</p><p><b> Exit Sub</b>&
136、lt;/p><p> ErrHandler:</p><p> Screen.MousePointer = 0</p><p> If Not frm Is Nothing Then</p><p> Unload frm</p><p><b> End If</b></p>
137、<p> '---------------</p><p> If Not rs Is Nothing Then</p><p> If rs.State = adStateOpen Then</p><p><b> rs.Close</b></p><p><b> End I
138、f</b></p><p> Set rs = Nothing</p><p><b> End If</b></p><p> '-------------------</p><p> If Not rs1 Is Nothing Then</p><p> If
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《房屋租賃管理系統(tǒng)》畢業(yè)論文設(shè)計
- 畢業(yè)論文(設(shè)計)房屋銷售管理系統(tǒng)設(shè)計
- 房屋租賃管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文(設(shè)計)基于.net畢業(yè)論文管理系統(tǒng)
- 畢業(yè)論文--房屋費用收繳管理系統(tǒng)
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計
- 龍湖地產(chǎn)房屋銷售管理系統(tǒng)設(shè)計【畢業(yè)論文】
- 畢業(yè)論文——基于bs結(jié)構(gòu)的房屋租售管理系統(tǒng)的實現(xiàn)
- 測繪畢業(yè)論文
- 測繪畢業(yè)論文
- 畢業(yè)論文范文——房屋租賃管理系統(tǒng)
- 畢業(yè)論文范文——房屋租賃管理系統(tǒng)
- 房屋中介管理系統(tǒng)畢業(yè)論文
- 房屋中介管理系統(tǒng)畢業(yè)論文
- jsp房屋出租管理系統(tǒng)畢業(yè)論文
- 房屋中介管理系統(tǒng)畢業(yè)論文
- 房屋租賃系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-房屋中介管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文(設(shè)計)基于web的畢業(yè)設(shè)計管理系統(tǒng)
- 畢業(yè)論文---基于jsp的在線畢業(yè)論文管理系統(tǒng)
評論
0/150
提交評論