1、組合框的循環選擇
在雙擊事件中加入,也可用在鍵盤按上下箭頭事件中:
Screen.ActiveControl.ListIndex = (Screen.ActiveControl.ListIndex + 1) Mod Screen.ActiveControl.ListCount
2、窗體單擊及移動記錄時選定記錄(反黑顯示)
在成爲當前事件中加入:
DoCmd.RunCommand acCmdSelectRecord
3、組合框獲得焦點後自動張開
在獲得焦點事件中加入:
Combo0.Dropdown
4、文本框獲得焦點後光標自動移動到文本的末尾
在獲得焦點事件(如有必要也在鼠標釋放事件)中加入:
Text0.SelStart = Len(Text0)
5、隨機抽取指定數量記錄的查詢
在查詢語句中Rnd([編號]) 的編號爲表中的自動編號字段名:
Select TOP 10 * FROM 表1 orDER BY Rnd([編號]);
6、打印窗體中篩選顯示的記錄
報表的記錄源藥與窗體的相同,在窗體的打印按鈕單擊事件中:
DoCmd.OpenReport "報表名", acViewPreview, , Me.Filter
7、去除窗體及子窗體的篩選及排序
跟“記錄”菜單中的“取消篩選/排序”作用相同:
DoCmd.ShowAllRecords
8、數據更改後提醒是否保存
在窗體的更新後事件中(Form_BeforeUpdate):
If Not (Cancel = (MsgBox("數據已更改,是否保存?", vbOKCancel + vbQuestion) = vbCancel)) Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
9、選定一個選項,自動把與選項相關信息輔助錄入(即一拖幾)
在選項的更改事件中,用Dlookup函數查找相關信息並輔值給當前記錄:
供貨商=DLookup("公司名稱", "供貨商資料", "[供貨商編號]= '" & Me![供貨商編號] & "'")
10、設置字段的默認值爲當前表的最後一條記錄的值(或序號加1)
在窗體的成爲當前事件中,用Dlast函數查找最後記錄相關值並輔值給字段的默認值:
成績.DefaultValue = "'" & DLast("成績", Me.RecordSource) & "'"
11、刪除重複記錄(字段)
表中要有自動編號字段(ID),可建立刪除查詢或執行RunSql語句(其中[ ]填寫對應的表名、重複字段名、關鍵字段名):
Delete * FROM [表] Where DCount("[字段]","[表]","[字段]='" & [字段] & "'")>1 AND [ID]>DLookUp("[ID]","[表]","[字段]='" & [字段] & "'") or [字段] Is Null;
12、班級成績排名查詢
可根據年級、班級和不同科目替換查詢中的相應字段名:
Select *, [英語]+[數學]+[語文] AS 總分, DCount("*","成績表","[年級]='" & [年級] & "' and ([英語]+[數學]+[語文])>" & [英語]+[數學]+[語文])+1 AS 年級名次 FROM 成績表 orDER BY 成績表.年級, [英語]+[數學]+[語文] DESC;
13、防止公式文本框引起窗體抖動
如果窗體中使用了計算公式作爲文本框的數據源,這可能會導致窗體一打開或者移動鼠標等引起窗體刷新時,窗體不停的抖動,這可在窗體的加載事件中加入:
Me.Recalc
14、查找與該控件匹配的記錄
如何使窗體轉到組合框或文本框中輸入的指定記錄,用組合框的嚮導中可以自動生成語句,也可在控件的更新後事件中使用下面一句語句:
Me.Recordset.FindFirst "[ID] = " & Str(Nz(Me![Combo1], 0))