Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

12下一頁(yè)
返回列表 發(fā)新帖
查看: 5528|回復(fù): 10
打印 上一主題 下一主題

[模塊/函數(shù)] 【Access小品】你懂的--必填控件校驗(yàn)示例

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2015-3-20 17:07:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 todaynew 于 2015-3-20 19:52 編輯

  對(duì)必填控件有許多種校驗(yàn)方法,比如可以在控件的有效性規(guī)則屬性中處理,再比如可以在按鈕的事件中處理。這些方法有一個(gè)缺點(diǎn),就是當(dāng)窗體上必填控件數(shù)量比較多,多個(gè)窗體都存在類似問(wèn)題時(shí),需要做大量的重復(fù)性工作。

  在編程中有一個(gè)原則叫做“寫(xiě)的少做得多”,也就是用最少的代碼或工作,去解決最多的問(wèn)題。于是乎對(duì)于必填字段,我們就可以在這個(gè)原則的指導(dǎo)下,做一些簡(jiǎn)單的工作了。我們首先需要做一個(gè)約定:必填控件的標(biāo)簽的第一個(gè)字符為*號(hào),一旦有了這個(gè)約定,問(wèn)題就簡(jiǎn)化了。

  我們可以在標(biāo)準(zhǔn)模塊中寫(xiě)一個(gè)子程序,這個(gè)子程序的作用在于當(dāng)窗體加載事件調(diào)用它時(shí),它將給所有必填控件(也就是符合約定的控件)加載一個(gè)更新后事件。我們另外寫(xiě)一個(gè)必填控件更新后事件的處理器,這個(gè)處理器是一個(gè)函數(shù),它用來(lái)設(shè)置某個(gè)按鈕的可用性。當(dāng)我們做了這些工作后,就可以在所有需要校驗(yàn)必填控件的窗體上使用調(diào)用語(yǔ)句,達(dá)到對(duì)某個(gè)按鈕控件的控制了。

  當(dāng)然,這只是一個(gè)示例,為了簡(jiǎn)化期間起見(jiàn),代碼只對(duì)組合框和文本框做為必填控件進(jìn)行了控制。如果需要對(duì)其他類型的控件做同樣處理的話,需要對(duì)模塊中的某句代碼進(jìn)行修改。至于是那句代碼,怎么修改,相信你懂的。

示例:

視圖:


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享分享 分享淘帖1 訂閱訂閱
2#
發(fā)表于 2015-3-20 17:26:00 | 只看該作者
應(yīng)該是對(duì)caption屬性來(lái)判斷的吧?如果結(jié)合字符串長(zhǎng)度限制、有效性規(guī)則限制等等,其實(shí)也很復(fù)雜的!乙话憬ㄗh在控件或者表字段屬性里設(shè)置那些了。

點(diǎn)擊這里給我發(fā)消息

3#
發(fā)表于 2015-3-20 18:24:10 | 只看該作者
我一般是習(xí)慣在tag里設(shè)置 <Required=True;ImeMode=On> 這樣來(lái)設(shè)置
4#
發(fā)表于 2015-3-20 19:53:50 | 只看該作者
深?yuàn)W。求解。
回復(fù)

使用道具 舉報(bào)

5#
發(fā)表于 2015-3-21 15:35:48 | 只看該作者
很好贊一個(gè)
6#
發(fā)表于 2015-3-23 11:51:25 | 只看該作者
好方法,比我的方法更靈活。
謝謝分享。
7#
發(fā)表于 2015-7-20 14:25:19 | 只看該作者
學(xué)習(xí)學(xué)習(xí),謝謝分享!
8#
發(fā)表于 2015-7-20 14:25:36 | 只看該作者
學(xué)習(xí)學(xué)習(xí),謝謝分享!
9#
發(fā)表于 2016-8-20 15:18:41 | 只看該作者
已經(jīng)下載學(xué)習(xí),謝謝
10#
發(fā)表于 2018-1-1 18:36:25 | 只看該作者
11111111111
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-17 00:56 , Processed in 0.095998 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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