超管用的VBA一句話代碼

一句話代碼:
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))
發佈了30 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章