1、使窗體或報表的文本框隨文字的多少自動加大或縮小:
文本框屬性“可以擴大”
2、控制某字段只能填寫某些內容:也許你想讓使用程序的人只能在某個字段裡a,那麼你就得控制他不難讓他填b。具體表達式為
=Instr("abc",[A])>0
3、並置幾個字段:也許你填表時有兩個字段分別是“湖北大學”、“數學專業”,但當你在打印報表時卻想讓這兩個了段變為一個字段放在一起,即“湖北大學數學專業”,那麼最好的辦法就是並置。表達式為:
=([A]&[B])或者=([A]&""&[B])
4、查詢中的計算字段:也許在您的表中有兩個數字字段,然後您想在報表中出現一個關於這兩個字段關系的字段,那麼簡單的方法就是計算,這計算可以加,可以減,可以乘,可以除,視情況而定。表達式為:
名稱:[A]*[B](這裡假設相乘,“名稱”可自定)
5、計算年齡表達式:有人喜歡在表中設計錄入一個人的年齡,這不是聰明的做法。因為每個人的年齡是在不斷增加的,到下一年再重新進行大批量重新錄入,那就沒有電腦的智能作用。最好的做法是在表中設計一個身份證號碼字段。有了這個字段後,某人的“年齡”和“性別”都是可以確定的,而且一勞永逸,除非你不會把你計算機的系統時間調准確。這裡是假設表中已經有“出生年月”字段以後通過它確定“年齡”的表達式:
=Datediff("yyyy",[A],now())
6、在窗體或報表進行值轉換:有時候想將表中的在窗體或其他地方顯示為你想要的內容,辦法就是進行值轉換。比如表中有“出生年月”的記錄,你想在窗體不顯示具體的出生年月,而顯示“今天是這人的生日”或“這人距生日還有x天”這樣的信息,或者有一個“分數”字段而你卻想在窗體上顯示出某學生是“優生”、“差生”、“及格”等信息,你要用上以下表達式:
=iif([A]=x,"y",iif([A]=z,"p","m"))
7、在窗體中對某字段進行數據鎖定:在用窗體編輯數據時,有時你可能不想讓人對其中某一個或幾個字段進行修改,那麼,你得對不想讓人修改的字段進行鎖定。其方法:
字段-屬性-數據-是否鎖定-是
8、求和表達式:對兩個以上字段值進行求和,表達式為:
=Sum([A]+[B]+……)
9、標簽並置並且格式化數字字段:如果你想將表中電話號碼“13972088783”在窗體或報表顯示時變為“1397-2088783”,你就得用以下表達式:
=Trim([A]& ","&[B]&""Format([C],"@@@@-@@@@@@"))
10、並置運算:
安符與非字符:="今天日期是:"&date()
字段與字段: =[A]+[B]
字段與字符: =[A] &"abc"(A、B、C為任意字符)
11、顯示帶有文本的系統日期:
="今天是:"+cstr(date())
12、把字段內容直接嵌入文本表達式:如果你想讓打印的報表的表頭隨調入的動態數據的改變而跟著改變,你必須用此方法:
=[單位名稱]&"教職工花名冊"
=format(now(),"yyyy")&[單位名稱]&"教職總數"
="這位同學名叫"&[姓名]&",""其中考總成績為"&[總成績]&"。"
13、在查詢中更改字段名稱:
新名稱:(放在原字段前)
14、返回確定日期段的數字值:
Datepart(interval,date,firstweekday,firstweek)
15、查詢窗體打開時不顯示空白的代碼:按某種條件進行查詢,目的是要打開一個顯示窗體。可是有時候或因為輸錯條件,或因為根本沒這個記錄,那麼你可能得到一個非常讓你失望的呆板的“白板窗體”。避免這種情況發生的做法就是,在該窗體的“打開”屬性中輸入以下代碼:
On Error GoTo err
DoCmd.GoToRecord , , acLast
i = Me.CurrentRecord
DoCmd.GoToRecord , , acFirst
exit_form_open:
Exit Sub
err:
MsgBox "您要查找的數據不存在,請核實後重新輸入。"
DoCmd.Close
16、設置默認值的技巧:在表中輸入也好,在窗體中輸入也好,將某些字段設一個默認值並不困難,但是,要保證不同的用戶能夠隨時重設默認值,就顯得麻煩一些。具體的思路是:先預設一個窗體供用戶在其中更改默認值,然後,讓你的錄入窗體的各個字段直接在用戶已經預設好默認值裡讀取預設信息。
17、顯示動態記錄個數的方法:查找記錄時,有時你查找到的可能並不只有一個記錄,特別是進行模糊查詢是更是如此。那麼,到底有多少個記錄呢?你需要在窗體設計時,在合適的位置上加一個文本框,然後在裡面輸入以下表達式:
="您已經找到了"&count([a])&"個符合條件的記錄。"(“a”是表中的字段名稱)
18、在學生信息的查詢結果窗口內,你可以看到一個關於記錄數量的提示,有時顯示“符合條件的記錄只有一個”,而有時顯示“符合條件的記錄共有x個……”。如何實現的呢?這裡有一個復雜的表達式如下:
="符合條件的對象" & IIf(Sum([同名合計])=1,"只","共") & "有" & Sum([同名合計]) & "人 " & IIf((Sum([同名合計]))>1,"請按PAGEDOWN鍵查看下一個","")
19、查詢結果窗上,還有一個關於“學習進步”的祝詞,如果碰巧你查詢到的孩子那天生日,下面會提示“嘿嘿,今天是這孩子生日啊,讓我們祝他生日快樂!”。這裡也有一個條件表達式:
=IIf(Month([出生年月])=Month(Now()) And Day([出生年月])=Day(Now()),"嘿嘿,今天是這孩子生日啊!讓我們祝" & [姓名] & "生日快樂!!","好人一生平安!祝" & [姓名] & "同學學習進步,茁壯成長!")