設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 9253|回復(fù): 5
打印 上一主題 下一主題

[原創(chuàng)]ADP新手入門交流(6)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2005-11-16 01:21:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何獲得系統(tǒng)中所有的表,數(shù)據(jù)庫圖表,視圖,窗體,報表,頁,宏,模塊的名稱?

一、掌握三個基本概念

1.表,數(shù)據(jù)庫圖表,視圖,窗體,報表,頁,宏,模塊都是ADP的對象

2.使用CurrentData對象可以獲得以下ADP的對象

AllTables           所有表

AllFunctions        所有函數(shù)

AllQueries          所有查詢

AllViews            所有視圖

AllStoredProcedures 所有存儲過程

AllDatabaseDiagrams 所有數(shù)據(jù)庫圖表

3.使用CurrentProject對象可以獲得以下ADP的對象

AllForms            所有窗體

AllReports          所有報表

AllMacros           所有宏

AllModules          所有模塊

AllDataAccessPages  所有數(shù)據(jù)訪問頁

二、實戰(zhàn)

目的:我們要在一個窗體上列出系統(tǒng)中我們自己設(shè)計的所有表的名稱

步驟:

1、新建一個窗體,在窗體上放一個“列表框”控件,取名為“l(fā)ist1",在列表框的屬性--數(shù)據(jù)--行來源類型中設(shè)置為“值列表”

2、在窗體的打開事件中寫下如下代碼:

Private Sub Form_Load()

For i = 0 To CurrentData.AllTables.Count - 1

TabName = TabName & ";" & CurrentData.AllTables(i).Name

Next

If TabName <> "" Then

Me![list1].RowSource = TabName

End If

End Sub

3.運行窗體看看,所有系統(tǒng)中的表名都列出來了。

我們甚至可以打開這些表。

4.在剛才的窗體上放一個“按鈕”控件,取名為“OPEN”

在OPEN的雙擊事件中寫入如下代碼:

Private Sub OPEN_Click()

If Me![list1] <> "" Then

DoCmd.OpenTable Me![list1], acViewNormal

Else

MsgBox "沒有選取任何對象"

End If

End Sub

在此例中,打開參數(shù)acViewNornal表示正常打開瀏覽,如果換成acEdit,則會在設(shè)計視圖中打開這個表

5.同樣道理,想要獲得其他對象的名稱只要在窗體打開事件的代碼中略作修改就行了

三.實際應(yīng)用

1.我自己是在做一個權(quán)限的時候想用這個的,如果在一個權(quán)限設(shè)定的窗體中預(yù)先列出所有的窗體,但如果后來設(shè)計中有增加了窗體,意味著這個權(quán)限窗體又要重新設(shè)計,很煩,用這個方法,則一勞永逸。

2.如果系統(tǒng)封裝了,用這種方法可以為自己留一個后門。

3.還有什么應(yīng)用?......
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2005-11-22 16:10:00 | 只看該作者
樓主先生,你的大作真是適合我們新手學(xué)習(xí)啊。難得你這樣的熱心人!致敬!
3#
發(fā)表于 2005-11-24 15:53:00 | 只看該作者
致敬!
4#
發(fā)表于 2005-12-1 21:22:00 | 只看該作者
我在權(quán)限窗體中一直沒有好的辦法來調(diào)用窗體名稱,我用原來mdb中的調(diào)用系統(tǒng)表的方法又不行,現(xiàn)在一看,原來如此,這么簡單,我真是笨啊.

但是,有個問題,如果窗體名稱是英文,在窗體的屬性中(在窗體上單擊右鍵)可以對它進(jìn)行說明一下.

怎樣把這個說明也調(diào)出來呢.因為在allforms(i)的屬性中只有name,fullname屬性,沒有敘述或說明等屬性.這應(yīng)該是個隱藏屬性,不知道樓主知道不.

5#
發(fā)表于 2006-1-26 06:38:00 | 只看該作者
太感激了!
6#
發(fā)表于 2013-9-21 19:01:01 | 只看該作者
test
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:32 , Processed in 0.108676 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表