如何使用VBA在Access中創建自己的拆分錶格

立即分享:

Access中的拆分錶單非常有用。 不幸的是,當您將它們放在導航表單中時,它們不起作用。 了解如何創建一個VBA函數,該函數將模擬Access的拆分錶單功能並使之甚至在導航表單中也可以正常工作。

拆分錶單使您可以同時擁有記錄的兩個視圖-表單視圖和數據表視圖。 它使您可以概覽所有記錄,同時可以選擇一個一個地查看和編輯它們。

不幸的是,將拆分錶單放在導航表單中後,拆分錶單將無法工作,這使我感到困惑。 好東西有解決方法。 使用VBA,您可以創建自己的函數,該函數將模擬Access的拆分形式。 請按照以下步驟操作。

立即下載

如果你想tart盡快使用該功能,則可以:

立即下載帶有VBA代碼的示例數據庫

否則,如果要DIY,可以閱讀以下內容。

使用VBA在Access中創建自己的拆分錶格的步驟

1.打開拆分錶單,然後將“默認視圖”更新為“單個表單”。 打開您的拆分錶單並將默認視圖更新為單個表單

  1. 打開您的拆分錶格。
  2. 在設計視圖中,選擇表單。
  3. 轉到“屬性表”(ALT + Enter)>“表單”選項卡。
  4. 將默認視圖更改為:單個表單。
  5. 關閉表格並保存。

2.創建表單的副本。 這將用作數據表視圖。

  1. 轉到導航窗格。
  2. 右鍵單擊您的表單,然後選擇“複製”。
  3. 右鍵單擊導航窗格中的空白區域,然後選擇“粘貼”。
  4. 更改表單名稱。 附加“ _Datasheet”。

示例:

  • 形式:成員
  • 表格副本:Members_Datasheet

3.打開數據表表單並更新其表單視圖屬性。

  1. 打開數據表窗體。
  2. 在設計視圖中,選擇表單。
  3. 轉到“屬性表”>“表單”選項卡。
  4. 更新以下屬性:
    • 默認視圖: 規格書
    • 允許數據表視圖: 可以
    • 允許表單視圖: 沒有
  5. 關閉表格並保存。

4.重新打開主窗體並將“數據表”窗體添加為子窗體。

  1. 在設計視圖中打開主窗體(複製的窗體)。
  2. 添加一個子窗體。
    • 轉到設計菜單。 選擇子窗體/子報表。選擇子窗體
    • 單擊表單的“詳細信息”區域。
    • 出現SubForm嚮導。子窗體嚮導

1.點擊“使用現有表格”。

2.選擇您的數據表表格。

3.單擊下一步。選擇“定義我自己的”

4.選擇“定義我自己的”。

5。單擊“完成”。

3.現在,數據表表單是您主表單的子表單。 將其調整到所需的大小和位置。

5.最後,添加代碼。

  1. 打開VBA編輯器(ALT + F11)。
  2. 選擇主窗體並粘貼下面的代碼。選擇主窗體並粘貼代碼
'MAIN FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Members_Datasheet.Requery
End Sub

Private Sub Form_Current()
   If Me.NewRecord Then
     Me.Members_Datasheet.Form.Recordset.AddNew
   Else
     Me.Members_Datasheet.Requery
   End If
End Sub
  1. 複製代碼後,替換單詞的所有實例 成員_數據表 以及數據表表單的實際名稱。
  2. 完成後,從“項目”菜單中選擇“數據表”表格,然後復制下面的代碼。
'SUBFORM/DATASHEET FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Parent.Form.Requery
End Sub

Private Sub Form_Current()

  Dim pk_field As String, pk_tbox As Control
  Dim primaryKey As String, strSearch As String
 
  Set pk_tbox = Me.Member_ID 'textbox containing primary key *
  pk_field = "Member_ID" 'primary key field name *

  primaryKey = Nz(pk_tbox.Value, 0) 'change value to 0 if null
  pk_field = "[" & pk_field & "]" 'enclose field name with brackets
 
  If primaryKey <> 0 Then 'if not null (or not a new record)
    strSearch = pk_field & "=" & primaryKey
    Me.Parent.Recordset.FindFirst strSearch
  Else
     Me.Parent.Form.Recordset.AddNew
  End If

End Sub
  1. 更新以下變量的值:
  • PK_tbox –指包含主鍵的文本框。
  • PK字段 –指記錄源的主鍵字段。

它們的註釋部分均帶有星號(*),因此您可以輕鬆找到它們。

  1. 完成後,保存更改(CTRL + S)並關閉VBA編輯器。

現在,您可以在導航表單內添加自己的拆分錶單。 試試看!

修復損壞的訪問數據庫(.accdb)

Access數據庫損壞的原因可能有很多。 可悲的是,我們無法控制ost 其中。 如果確實發生了這種情況,請記住,仍然有一種方法可以恢復它。 DataNumen 公司已經創建了一個可以執行以下任務的軟件 accdb維修。 一探究竟。

作者簡介:

Jayme Stack是 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql恢復 和excel恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。