国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Access > 正文

Something Not Entirely Unlike Access應(yīng)用程序介紹

2020-03-24 17:53:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
】“我們希望你在MS Access中建立一個(gè)html' target='_blank'>應(yīng)用程序,但是我們不希望它看起來(lái)像Access。事實(shí)上,我們希望它看起來(lái)像一個(gè)web頁(yè)面。。。像一個(gè)瀏覽器應(yīng)用程序。” 這可行嗎?你自己判斷。下面是一個(gè)截屏,你可以在這里下載這個(gè)應(yīng)用程序的代碼,我稱之為Something Not Entirely Unlike Access。這個(gè)應(yīng)用程序描述了下面與瀏覽器類似的功能: 沒(méi)有Access菜單 混合Access 圖標(biāo)和啟動(dòng)屏幕 單獨(dú)的表格(頁(yè)面)界面 自動(dòng)調(diào)整子表格和它們的控制 下一步和上一步按鈕,用于“頁(yè)面”導(dǎo)航 開(kāi)始頁(yè)面按鈕,用于將用戶返回他們的“首頁(yè)” 構(gòu)建于WWW web瀏覽器頁(yè)面內(nèi) 用于加載新表格/子表格的超鏈接 在應(yīng)用程序外提供快照形式的報(bào)表顯示
如果這些主題中的任何一個(gè)吸引了你,那么請(qǐng)下載這個(gè)樣例應(yīng)用程序并試一試。我并沒(méi)打算把它構(gòu)建為多么完美的,所以不要給我發(fā)反饋告訴我它是多么粗糙。只是為了這個(gè)代碼。。。在這個(gè)應(yīng)用程序里代碼很豐富。在一篇文章里沒(méi)有辦法全部表述出來(lái),但是我會(huì)將它分為幾個(gè)部分在將來(lái)的文章里進(jìn)行描述。但是如果你愿意深入代碼的話,你在這里可以看到所有的。 隱藏Access 內(nèi)容你想做的第一件事是刪除使得Access看起來(lái)像Access的東西。菜單是第一個(gè)要處理的,下面是刪除它的代碼。我將這個(gè)代碼放到了我的啟動(dòng)表格上,我要做的第一件事就是設(shè)置這個(gè)表格的可見(jiàn)屬性為FALSE并關(guān)閉屏幕繪圖(DoCmd.Echo False),以便我在用戶看不到閃爍的情況下進(jìn)行我的工作。我還將啟動(dòng)表格最大化,但是這個(gè)應(yīng)用程序的其它方面還有很多工作要做。 Me.Visible=False DoCmd.EchoFalse DoCmd.Maximize DoCmd.ShowToolbar"Web",acToolbarNo DoCmd.ShowToolbar"MenuBar",acToolbarNo DoCmd.ShowToolbar"FormView",acToolbarNo

菜單 為了關(guān)閉菜單,執(zhí)行DoCmd.ShowToolbar命令,使用目標(biāo)工具條或菜單的名稱以及參數(shù)acToolbarNo(acToolbarYes,你可能會(huì)想到,它是顯示菜單的)。幫助文檔說(shuō)ShowToolbar 只對(duì)工具條起作用,但是我沒(méi)有做這個(gè)。你如果要自己確認(rèn)一下,那么雙擊Welcome 標(biāo)簽。我添加了執(zhí)行acToolbarYes選項(xiàng)來(lái)顯示“菜單欄”的代碼,它確實(shí)控制主菜單欄的可見(jiàn)與否。 圖標(biāo)和標(biāo)題 Access內(nèi)容的下一步是刪除應(yīng)用程序圖標(biāo)、應(yīng)用程序標(biāo)題和標(biāo)題欄文本。我使用這個(gè)代碼這么長(zhǎng)時(shí)間了,我不能確定的說(shuō)誰(shuí)開(kāi)發(fā)出來(lái)的,但是它大概是從Access Web開(kāi)發(fā)者參考網(wǎng)站獲得的。如果不是,我對(duì)那些對(duì)這個(gè)很好且有用的代碼作出貢獻(xiàn)的人們致以歉意。 這個(gè)函數(shù)和VBA 代碼所做的設(shè)置啟動(dòng)屬性做了相同的事情。舉例來(lái)說(shuō),如果沒(méi)有設(shè)置應(yīng)用程序圖標(biāo),那這個(gè)屬性就不存在。當(dāng)你第一次試圖設(shè)置它的時(shí)候會(huì)彈出一個(gè)錯(cuò)誤。應(yīng)用程序標(biāo)題也是一樣。如果屬性不存在的話,這個(gè)函數(shù)將創(chuàng)建它,并設(shè)置它為某些預(yù)設(shè)的值。 它的優(yōu)點(diǎn)就是當(dāng)你給這個(gè)應(yīng)用程序指定圖標(biāo)時(shí),Microsoft Access 主圖標(biāo)就會(huì)消失。還有,如果你不提供應(yīng)用程序標(biāo)題的話,它會(huì)默認(rèn)為Microsoft Access 。所以,如果你試圖隱藏所有關(guān)于Access 的東西,那么你需要提供一個(gè)標(biāo)題。 PublicFunctionSetAppProperties()AsBoolean OnErrorGoToErr_Handler DimstrFileAsString DimstrTitleAsString DimdbsAsDAO.Database DimprpAsDAO.Property ConstcAPP_ICON="AppIcon" ConstcAPP_TITLE="AppTitle" Setdbs=CurrentDb strFile=CurrentProject.Path "dbj.ico" strTitle="MyWebApp" OnErrorResumeNext dbs.Properties(cAPP_ICON)=strFile IfErr.Number=3270Then Err.Clear Setprp=dbs.CreateProperty(cAPP_ICON,dbText,strFile) dbs.Properties.Appendprp EndIf dbs.Properties(cAPP_TITLE)=strTitle IfErr.Number=3270Then Err.Clear Setprp=dbs.CreateProperty(cAPP_TITLE,dbText,strTitle) dbs.Properties.Appendprp EndIf Exit_Here: Setdbs=Nothing Application.RefreshTitleBar ExitFunction Err_Handler: SelectCaseErr Case3270'Propertynotfound CaseElse MsgBoxErr.Description,vbCritical EndSelect ResumeExit_Here EndFunction

狀態(tài)條 視覺(jué)處理的最后一塊是隱藏狀態(tài)條。。。它是在頁(yè)面底部的水平狀態(tài)信息。現(xiàn)在,如果你想的話,你可以將這個(gè)選項(xiàng)保持為打開(kāi)狀態(tài),因?yàn)榧幢闶荌nternet Explorer也有一個(gè)狀態(tài)條供你選擇查看,但是我發(fā)現(xiàn)將它刪除有助于模糊Accessian 特性并可以使應(yīng)用程序看起來(lái)不那么像Microsoft Access 程序。你可以使用下面的代碼設(shè)置狀態(tài)條選項(xiàng): Application.SetOption "Show Status Bar", False 這個(gè)語(yǔ)法很便利。我用它在代碼里設(shè)置所有的選項(xiàng),特別是錯(cuò)誤處理。如果你設(shè)置了一些公共常量,你可以根據(jù)是誰(shuí)登錄進(jìn)來(lái)而方便地進(jìn)行錯(cuò)誤處理。對(duì)于用戶,我設(shè)置它為Break In Class Mode或Break on Unhandled,但是當(dāng)我測(cè)試的時(shí)候,我希望它是Break On All。設(shè)置它的代碼如下: PublicConstcBreakOnAllAsLong=0 PublicConstcBreakInClassAsLong=1 PublicConstcBreakUnhandledAsLong=2 SetOption"ErrorTrapping",cBreakOnAll'cBreakUnhandled

管理“頁(yè)面” 這個(gè)功能很難在一篇文章里描述完全,所以我將給你一個(gè)概述。為了看起來(lái)像是Web瀏覽器,這個(gè)應(yīng)用程序需要附加一個(gè)與頁(yè)面一起加載的主客戶端表格。這需要有一個(gè)能夠記住頁(yè)面和需要調(diào)整部分之間的導(dǎo)航的設(shè)備,以便它們能夠占據(jù)整個(gè)屏幕。 具有子表格的單個(gè)表格 這些對(duì)象的第一個(gè)是通過(guò)創(chuàng)建一個(gè)用戶曾經(jīng)真正作為一個(gè)表格打開(kāi)的表格來(lái)確認(rèn)。我調(diào)用了我的frmMain,它是啟動(dòng)表格。所有其它的表格都命名為sfrmXXX或sfrmYYY以標(biāo)識(shí)它們?yōu)樽颖砀瘛?除了彈出表格像frmAbout或frmHelp。)這個(gè)主表格包含了一個(gè)叫做objSubform的單獨(dú)子表格。每次作出一個(gè)數(shù)據(jù)請(qǐng)求時(shí),無(wú)論是要求產(chǎn)品、雇員或訂單,恰當(dāng)?shù)谋砀穸紩?huì)加載到這個(gè)子表格內(nèi),并且一個(gè)命令會(huì)發(fā)送到子表格來(lái)調(diào)整它的大小以適應(yīng)可用的空間大小。 加載子表格的代碼內(nèi)嵌在frmMain 上,它總是保持打開(kāi)狀態(tài)。例如,點(diǎn)擊列表中的客戶(看上面的截屏)會(huì)執(zhí)行這些代碼。首先,調(diào)用一個(gè)函數(shù)來(lái)設(shè)置CustomerID ,下一行代碼讓主表格加載帶有一個(gè)叫做“frmShowCustomer”表格的主要子表格。這個(gè)表格在加載的時(shí)候執(zhí)行一個(gè)“獲取”CustomerID 的操作,有效地過(guò)濾了提供給選定客戶的結(jié)果。 SetCustomerIDNz(Me!CustomerID,"") g_lngResult=Forms!frmMain.LoadMainSubform("frmShowCustomer",True)

導(dǎo)航 維護(hù)被訪問(wèn)的表格列表和重新加載它們的代碼并不是瑣碎的,而是封裝在一個(gè)叫做clsNavigation的特定類里面。這基本上是將來(lái)某個(gè)文檔中將講述的,不過(guò)簡(jiǎn)要來(lái)說(shuō),它做以下事情: Load 方法創(chuàng)建了一個(gè)內(nèi)存ADO記錄集 AddNavPage方法插入了一個(gè)新的nav 記錄到記錄集中 GetNavPage返回了一個(gè)特定“頁(yè)面” NavPrevPage和NavNextPage使你在頁(yè)面中跳轉(zhuǎn) 沒(méi)有首頁(yè)或主頁(yè)按鈕的web瀏覽器是怎么完成的呢?它會(huì)通過(guò)導(dǎo)航控制來(lái)處理,我選擇使用一個(gè)叫做frmStartPage的表格來(lái)管理這個(gè)功能。這個(gè)表格總是第一個(gè)加載,而且重新加載它只要將上面的調(diào)用稍稍改一下就可以了,將“frmShowCustomer”替換為“frmStartPage”。順便說(shuō)一下,這個(gè)方法中的第二個(gè)選擇是使用布爾值True或False,它決定導(dǎo)航控制是否記錄訪問(wèn)日志。 嚴(yán)格地Web特性 添加一個(gè)Web瀏覽器 加強(qiáng)所要做的最后一個(gè)添加功能設(shè)置是使它更加web化。在Access 中有一個(gè)定制控制叫做Microsoft Web Browser 控制。加載web頁(yè)面的代碼非常非常簡(jiǎn)單,你可能都會(huì)笑出來(lái)。點(diǎn)擊More Tools 圖標(biāo)導(dǎo)航過(guò)去并點(diǎn)擊它,從而將它定位到工具箱,然后將控制重新命名為objWebBrowser并添加這行代碼到任何滿足你需要的事件中去: Me!objWebBrowser.Navigate "http://www.google.com" 這就是要給你的應(yīng)用程序添加web形象所要做的所有工作。 超連接 通過(guò)將控制的IsHyperlink 屬性設(shè)置為Yes從而創(chuàng)建超鏈接。(它是在所有范圍控制的Format標(biāo)簽下面屬性列表中。)接下來(lái),鎖定控制以用于對(duì)Click方法編輯添加代碼,從而使應(yīng)用程序做某些事情,比如“跳轉(zhuǎn)”到點(diǎn)擊的記錄。Access 進(jìn)行格式化文本使得看起來(lái)像是超鏈接,甚至給你你在web 頁(yè)面上能看到的pointing finger 圖標(biāo)。非常酷,而且非常做法很簡(jiǎn)單。 報(bào)表 如果它不是Access,那么它不能顯示Access 報(bào)表,是吧?沒(méi)錯(cuò),所以,我們使用一個(gè)替換處理用于顯示報(bào)表。假設(shè)報(bào)表是在變量sReport中,并且它要輸出到一個(gè)叫做sFile的文件中去,下面的代碼將創(chuàng)建并在一個(gè)單獨(dú)的窗口中打開(kāi)一個(gè)Microsoft Snapshot Report: DoCmd.OutputTo acOutputReport, sReport, acFormatSNP, sFile, False Application.FollowHyperlink strFile 正如它所顯示的,這是一個(gè)非常簡(jiǎn)潔的解決方案。當(dāng)然,文件是創(chuàng)建在磁盤(pán)上,但是現(xiàn)在磁盤(pán)空間這么便宜,而且隨著時(shí)間的增長(zhǎng),它會(huì)從報(bào)表的存檔快照獲得更大的受益。有些東西可以從你的應(yīng)用程序里進(jìn)行管理,它們提供了到先前所創(chuàng)建報(bào)表的鏈接。這實(shí)在是太棒了! 滿意嗎? 如果上面的描述不夠詳細(xì),在這里向你道歉。因?yàn)闆](méi)有時(shí)間和空間去將Something Not Entirely Unlike Access應(yīng)用程序的所有功能描述得更詳細(xì)。如果這些功能中的任何一個(gè)聽(tīng)起來(lái)是你想添加到你的應(yīng)用程序中的東西的話,那么將它下載下來(lái)將是一個(gè)很好的開(kāi)始。還有,請(qǐng)繼續(xù)關(guān)注這個(gè)版塊的未來(lái)文章,我會(huì)詳細(xì)地描述更加復(fù)雜處理過(guò)程的內(nèi)部工作機(jī)制
本文作者:html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌拉特中旗| 舟曲县| 大英县| 瑞昌市| 闻喜县| 云龙县| 灵山县| 仪征市| 天台县| 宾川县| 秦安县| 卓资县| 民乐县| 仙桃市| 鄢陵县| 永城市| 通州市| 邢台县| 雅江县| 遵义市| 朝阳市| 渭南市| 逊克县| 乳源| 梁河县| 泸西县| 张家口市| 汉中市| 武城县| 松潘县| 皮山县| 宜兰市| 临夏市| 襄汾县| 泾源县| 青浦区| 雷波县| 鄂托克旗| 巴彦县| 安多县| 曲麻莱县|