access下樹(shù)控件使用技巧_第1頁(yè)
access下樹(shù)控件使用技巧_第2頁(yè)
access下樹(shù)控件使用技巧_第3頁(yè)
access下樹(shù)控件使用技巧_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、access下樹(shù)控件使用技巧access下樹(shù)控件使用技巧access下樹(shù)控件使用技巧access下樹(shù)控件使用技巧編制僅供參考審核批準(zhǔn)生效日期地址: 電話:傳真: 郵編:三小時(shí)掌握TREEVIEW控件(轉(zhuǎn))能不能掌握控件的使用,是業(yè)余向準(zhǔn)專(zhuān)業(yè)進(jìn)步的關(guān)鍵。雖然我本人不太喜歡用控件,因?yàn)榛诓煌牟僮鳝h(huán)境成品后效果很難保證。但有些成熟控件,會(huì)使用還是能提高軟件水平。比如TREEVIEW控件,TREEVIEW控件,也叫樹(shù)控件,主要用于層級(jí)顯示和控制,應(yīng)用廣泛。我一直很想學(xué)習(xí)這個(gè)控件的使用,但每次都沒(méi)有學(xué)成,總感覺(jué)很難。前幾天有空,狠下心來(lái)將論壇搜索一遍,發(fā)現(xiàn)也不是太難,在很短時(shí)間內(nèi)只要方法得當(dāng),很快可

2、以掌握,因?yàn)槲沂遣锁B(niǎo),所以用菜鳥(niǎo)的方法和大家交流,可能大家學(xué)得更快一點(diǎn),只要你用心,三個(gè)小時(shí)一定可以掌握。請(qǐng)大家一定要自己動(dòng)手做,只有做才能理解,光看幫助和說(shuō)明是沒(méi)有用的。 熱身:理解層級(jí)概念,層級(jí)理論上可以有無(wú)限級(jí),一般用到四,五級(jí)也夠用了。最上級(jí)的只能有一個(gè),我們把它叫做“爺”,接下來(lái)是“父”,再是“子”,再是“孫”,接下來(lái)是“曾孫”.,匯總?cè)缦拢骸盃?,父,子,孫,曾孫”,這里是5級(jí)關(guān)系,除了“爺”只能有一個(gè)外,其余可以有無(wú)限個(gè)。記住這些,下面要用。 第一小時(shí):學(xué)習(xí)直接用代碼將數(shù)據(jù)填充到樹(shù)控件中。為什么要先學(xué)習(xí)直接用代碼將數(shù)據(jù)填充到樹(shù)控件中因?yàn)檫@種方法是最簡(jiǎn)單的,代碼也最容易理解,學(xué)習(xí)樹(shù)控

3、件,先將這個(gè)學(xué)會(huì),已經(jīng)掌握了一半,所以先不要急著想怎么將表中的數(shù)據(jù)填充到樹(shù)控件中,在第一小時(shí)里,樹(shù)控件和表完全沒(méi)有關(guān)系。目的:我們要在樹(shù)控件中建立如下的一個(gè)3層級(jí)關(guān)系 水果 | |_蘋(píng)果 |_紅富士 |_國(guó)光 | |_葡萄 |_紅提子 |_青提子 解釋?zhuān)核?種,一種是蘋(píng)果,一種是葡萄,蘋(píng)果又包含2種,一種是紅富士,一種是國(guó)光,葡萄也如此。在這里:“爺”是水果,“父”是蘋(píng)果,葡萄,“子”是紅富士,國(guó)光,紅提子,青提子。概括如下:爺(只能有一個(gè)):水果父(這里有2個(gè)):父1:蘋(píng)果;父2:葡萄子(這里有4個(gè)):子1:紅富士(父1蘋(píng)果的子);子2:國(guó)光(父1蘋(píng)果的子);子3:紅提子(父2葡萄的子

4、);子4:青提子(父2葡萄的子) 1、新建一個(gè)窗體,在窗體上放置兩個(gè)控件,一個(gè)是Treeview,一個(gè)是Imagelist如何找到這兩個(gè)控件Treeview控件在“工具箱”的榔頭加扳手圖標(biāo)(其他控件)中選“Microsoft Treeview Control,Version Imagelist控件在“工具箱”的榔頭加扳手圖標(biāo)(其他控件)中選“Microsoft Imagelist Control,Version Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢原來(lái)這個(gè)控件是放圖標(biāo)用的,如果你想在樹(shù)控件中顯示圖標(biāo)的,這個(gè)圖標(biāo)都將儲(chǔ)存在ImageList控件中。 2、設(shè)

5、置這兩個(gè)控件的屬性首先要講清楚控件的屬性設(shè)置有2種,一種是設(shè)置這個(gè)控件在ACCESS中的屬性,比如名稱等。一種是設(shè)置這個(gè)控件本身的屬性。要設(shè)置這個(gè)控件在access中的屬性,選中控件后按鼠標(biāo)右鍵選“屬性”就可以了。跟我們平時(shí)設(shè)置文本框什么的一樣。要設(shè)置這個(gè)控件本身的屬性,只要雙擊這個(gè)控件就可以了。1)設(shè)置Treeview控件在access中的名稱屬性,將名稱設(shè)置為“Treeview2)設(shè)置Imagelist控件在access中的名稱屬性,將名稱設(shè)置為“Image2)設(shè)置Imagelist控件本身的屬性,雙擊控件后,在彈出來(lái)的設(shè)置框中選“Images,單擊“Insert Picture按鈕,在你

6、電腦中選擇你需要的圖標(biāo)。在“Key:”欄中填入“K1”。其他默認(rèn)設(shè)置不用改。3)設(shè)置Treeview控件本身的屬性,雙擊控件后,在彈出來(lái)的設(shè)置框中選“General”,在這個(gè)選項(xiàng)面版中有很多項(xiàng)設(shè)置,大多數(shù)是設(shè)置樹(shù)控件的顯示格式,你自己慢慢研究。這里我們將第一項(xiàng)“Style選7,在第五項(xiàng)“Imagelist選項(xiàng)中將我們放置的Imagelist控件“Image選上。這項(xiàng)設(shè)置就將圖標(biāo)和樹(shù)控件聯(lián)系了起來(lái)。 3、寫(xiě)代碼將數(shù)據(jù)填充到樹(shù)控件中代碼寫(xiě)在哪里我們希望窗體一打開(kāi),數(shù)據(jù)就自動(dòng)填充在樹(shù)控件中,所以這個(gè)代碼就寫(xiě)在窗體的加載事件中,代碼及解釋如下: Private Sub Form_Load()* -*用

7、代碼將數(shù)據(jù)填充到樹(shù)控件中* -Dim Nodeindex As Node*-*解釋?zhuān)憾xNode*Node是樹(shù)控件的對(duì)象*每個(gè)Node都有三個(gè)東西,圖標(biāo),文本,索引值*圖標(biāo)和文本都是實(shí)際顯示出來(lái)的,索引值是隱含的*- 設(shè)置最頂級(jí)的“爺”:* - Set Nodeindex = , 爺, 水果, K1) = True*-*樹(shù)控件填充數(shù)據(jù)的方法是*括號(hào)內(nèi)是Add方法的參數(shù)*在這里“爺”是索引值,“水果”是將顯示的文本,“K1”是圖標(biāo)的索引值*Sorted是指Node的排序,True就是指采用排序,默認(rèn)是按拼音*第一,二個(gè)參數(shù)是空的*具體的參數(shù)設(shè)置以后你可以慢慢詳細(xì)研究*- 設(shè)置第二級(jí)“父”* -

8、Set Nodeindex = 爺, tvwChild, 父1, 蘋(píng)果, K1) = True Set Nodeindex = 爺, tvwChild, 父2, 葡萄, K1) = True*-*第一個(gè)參數(shù)“爺”是指這一層對(duì)應(yīng)上層“爺”的*tvwChild參數(shù)是規(guī)定格式,指相對(duì)來(lái)說(shuō),這一層是爺?shù)淖訉?“父1”是索引值,因?yàn)椤案浮庇?個(gè),而索引值是唯一的,所以要編號(hào),用“父1”“父2”分開(kāi)*“蘋(píng)果”“葡萄”是要顯示的文本,K1是顯示圖標(biāo)的索引值*現(xiàn)在知道為什么在“爺”層設(shè)置時(shí),第一,第二個(gè)參數(shù)是空的,因?yàn)檫@是最頂層*- 設(shè)置第三級(jí)“子”* - Set Nodeindex = 父1, tvwChi

9、ld, 子1, 紅富士, K1) = True Set Nodeindex = 父1, tvwChild, 子2, 國(guó)光, K1) = True Set Nodeindex = 父2, tvwChild, 子3, 紅提子, K1) = True Set Nodeindex = 父2, tvwChild, 子4, 青提子, K1) = True*-*第一個(gè)參數(shù)“父1,2”是指這一層對(duì)應(yīng)上層“父”的,但要注意對(duì)應(yīng)的是“父1”還是“父2”*tvwChild參數(shù)是規(guī)定格式,指相對(duì)來(lái)說(shuō),這一層是父的子層*“子1”是索引值,因?yàn)椤白印庇?個(gè),而索引值是唯一的,所以要編號(hào),用“1,2,3,4”分開(kāi)*“紅富士

10、”等是要顯示的文本,K1是顯示圖標(biāo)的索引值*-End Sub 就這么多代碼,總共十幾行,就可以在樹(shù)控件中顯示數(shù)據(jù)了,很簡(jiǎn)單吧。第一小時(shí)結(jié)束。第二小時(shí):學(xué)習(xí)怎樣將樹(shù)控件和數(shù)據(jù)庫(kù)中的數(shù)據(jù)綁起來(lái)在第一小時(shí)里,我們學(xué)習(xí)了怎樣直接用代碼填充樹(shù)控件,但在實(shí)際使用中,這種方法的應(yīng)用性不大,只有將樹(shù)控件與數(shù)據(jù)庫(kù)中的數(shù)據(jù)結(jié)合起來(lái),才能有真正的應(yīng)用。其實(shí)綁定數(shù)據(jù)庫(kù)的方法和直接用代碼填充是大同小異的,我們要做的只是將Add的參數(shù)里,原來(lái)我們手工輸入的變換一下,讓程序知道去數(shù)據(jù)庫(kù)中找數(shù)據(jù)。 目的:將數(shù)據(jù)庫(kù)中的數(shù)據(jù)與樹(shù)控件綁定背景:我們想在樹(shù)控件中顯示銷(xiāo)售客戶的層級(jí)列表,這個(gè)銷(xiāo)售客戶的分層是這樣的,先按“大區(qū)”,再按“

11、省份”,最后到“客戶”我們?cè)跀?shù)據(jù)庫(kù)中建立了三個(gè)表,字段如下:大區(qū)表:大區(qū)ID,大區(qū)名稱省份表:省份ID,省份名稱,所屬大區(qū)客戶表:客戶ID,客戶名稱,所屬省份這三個(gè)表互相建立了關(guān)系 1、新建一個(gè)窗體,在窗體上放置兩個(gè)控件,一個(gè)是Treeview,一個(gè)是Imagelist2、設(shè)置這兩個(gè)控件的屬性在這里和第一小時(shí)唯一的區(qū)別是我們?cè)贗magelist控件的設(shè)置時(shí),導(dǎo)入了兩個(gè)圖標(biāo),一個(gè)KEY為K1,一個(gè)為K2,原來(lái)樹(shù)控件的Node圖標(biāo)是可以變化的,我們準(zhǔn)備某個(gè)項(xiàng)沒(méi)有選中時(shí)的圖標(biāo)是一個(gè)沒(méi)有打開(kāi)的文件夾,選中時(shí)是一個(gè)打開(kāi)的文件夾,以區(qū)別。3、編寫(xiě)代碼,如下: Private Sub Form_Load()

12、* -* 用數(shù)據(jù)庫(kù)表(查詢也一樣)中數(shù)據(jù)填充樹(shù)控件* - Dim Rec As New Dim stRecQL As String Dim Item As Integer Dim i As Integer Dim nodindex As Node* -* 定義各類(lèi)* - 設(shè)置最頂級(jí)的爺* - Set nodindex = , 爺, 銷(xiāo)售客戶, K1, K2) = True* -*這里的設(shè)置跟第一小時(shí)里基本是一樣的*但最后多了一個(gè)K2的參數(shù),K1代表的是未被選中時(shí)的圖標(biāo),K2代表是被選中后的圖標(biāo)*仔細(xì)觀察一下,你會(huì)發(fā)現(xiàn)選中和沒(méi)選中的圖標(biāo)是不一樣的,一個(gè)是一個(gè)文件夾,一個(gè)是一個(gè)打開(kāi)的文件夾* -

13、設(shè)置第二級(jí)父* - 大區(qū)表, , adOpenKeyset, adLockOptimistic, adCmdTableDirect For i = 0 To - 1 Set nodindex = 爺, tvwChild, 父 & (大區(qū)ID), (大區(qū)名稱), K1, K2) = True Next * -*第一行意思是打開(kāi)一個(gè)表去尋找數(shù)據(jù)(查詢也是可以的)*關(guān)鍵在與Add參數(shù)的變化*大家看第三個(gè)參數(shù),在第一小時(shí)里,這里是父1,這里用(大區(qū)ID)來(lái)代替1,意思是用表的編號(hào)來(lái)代替手工編號(hào)*第四個(gè)參數(shù)也是一樣,直接用表中的名稱字段來(lái)取代原來(lái)我們手工的命名* - 設(shè)置第三級(jí)子* - 省份表, , a

14、dOpenKeyset, adLockOptimistic, adCmdTableDirect For i = 0 To - 1 Set nodindex = 父 & (所屬大區(qū)), tvwChild, 子 & (省份ID), (省份名稱), K1, K2) = True Next * -*不用再解釋了吧*要注意的是,定義第一個(gè)參數(shù)的時(shí)候,不是用父 & (大區(qū)ID),而是用父 & (所屬大區(qū))*這個(gè)意思是:用省份表中關(guān)聯(lián)大區(qū)表的字段,而不是直接用大區(qū)表的ID* - 設(shè)置第四級(jí)孫* - 客戶表, , adOpenKeyset, adLockOptimistic, adCmdTableDirect

15、 For i = 0 To - 1 Set nodindex = 子 & (所屬省份), tvwChild, 孫 & (客戶ID), (客戶名稱), K1, K2) = True Next * -*到此你應(yīng)該完全明白了* - End Sub 第二小時(shí)結(jié)束第三小時(shí):將樹(shù)控件與窗體結(jié)合我們做樹(shù)控件,當(dāng)然不可能單單為了顯示層級(jí)數(shù)據(jù),我們希望跟窗體結(jié)合,當(dāng)我們單擊樹(shù)控件中的某個(gè)客戶時(shí),窗體上能相應(yīng)的轉(zhuǎn)到這個(gè)客戶的資料。 目的:將樹(shù)控件與窗體結(jié)合1、我們還是沿用第二個(gè)小時(shí)里的例子,但在建立窗體時(shí),將窗體的數(shù)據(jù)來(lái)源設(shè)為“客戶表”,并在窗體中放置好客戶表的字段。2、寫(xiě)入如下代碼: Private Sub Treeview_NodeClick(ByVal Node As Object)* -*樹(shù)控件的鼠標(biāo)點(diǎn)擊事件為NodeClick* -Dim str As Str

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論