วิธีสร้างฟอร์มแยกของคุณเองใน Access โดยใช้ VBA

แบ่งปันเลย:

แยกฟอร์มใน Access มีประโยชน์อย่างยิ่ง น่าเสียดายที่ไม่สามารถใช้งานได้เมื่อคุณวางไว้ในแบบฟอร์มการนำทาง เรียนรู้วิธีสร้างฟังก์ชัน VBA ที่จะจำลองฟังก์ชันการทำงานแบบฟอร์มแยกของ Access และทำให้ฟังก์ชันนี้ทำงานได้แม้ในฟอร์มการนำทาง

ฟอร์มแยกช่วยให้คุณมีสองมุมมองของบันทึกของคุณในเวลาเดียวกัน - มุมมองแบบฟอร์มและมุมมองแผ่นข้อมูล ช่วยให้คุณมีภาพรวมของบันทึกทั้งหมดของคุณในขณะเดียวกันก็ให้ตัวเลือกในการดูและแก้ไขทีละรายการ

น่าเสียดายที่แบบฟอร์มแยกจะไม่ทำงานเมื่อคุณวางไว้ในฟอร์มการนำทางซึ่งเป็นสิ่งที่ทำให้ฉันงงงวย สิ่งที่ดีมีวิธีแก้ปัญหาสำหรับสิ่งนี้ เมื่อใช้ VBA คุณสามารถสร้างฟังก์ชันของคุณเองซึ่งจะจำลองแบบฟอร์มแยกของ Access เพียงทำตามขั้นตอนด้านล่างนี้

ดาวน์โหลดตอนนี้

หากคุณต้องการเริ่มใช้งานฟีเจอร์นี้โดยเร็วที่สุด คุณสามารถทำได้ดังนี้:

ดาวน์โหลดฐานข้อมูลตัวอย่างด้วยรหัส VBA ทันที

มิฉะนั้นหากคุณต้องการ DIY คุณสามารถอ่านเนื้อหาด้านล่าง

ขั้นตอนในการสร้างฟอร์มแยกของคุณเองใน Access โดยใช้ VBA

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 Wizard จะปรากฏขึ้นตัวช่วยสร้างฟอร์มย่อย

1. คลิกที่ 'ใช้แบบฟอร์มที่มีอยู่'

2. เลือกแบบฟอร์มเอกสารข้อมูลของคุณ

3. คลิกถัดไปเลือก 'กำหนดเป็นของฉัน'

4. เลือก 'กำหนดของฉันเอง'

5. คลิกเสร็จสิ้น

3. ตอนนี้แบบฟอร์มแผ่นข้อมูลเป็นฟอร์มย่อยของฟอร์มหลักของคุณ ปรับให้ได้ขนาดและตำแหน่งที่คุณต้องการ

5. สุดท้ายเพิ่มรหัส

  1. เปิด VBA Editor (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_field - หมายถึงฟิลด์คีย์หลักของแหล่งระเบียน

แต่ละอันมีเครื่องหมายดอกจัน (*) ในส่วนความคิดเห็นเพื่อให้คุณค้นหาได้ง่าย

  1. เมื่อเสร็จแล้วให้บันทึกการเปลี่ยนแปลง (CTRL + S) และปิด VBA Editor

ตอนนี้คุณสามารถเพิ่มแบบฟอร์มแยกของคุณเองในแบบฟอร์มการนำทาง ลองดูสิ!

แก้ไขฐานข้อมูลการเข้าถึงที่เสียหาย (.accdb)

ฐานข้อมูล Access อาจเสียหายได้จากหลายสาเหตุ น่าเสียดายที่เราไม่สามารถควบคุมสาเหตุส่วนใหญ่ได้ แต่ถ้าหากเกิดเหตุการณ์เช่นนี้ขึ้นกับคุณ โปรดจำไว้ว่ายังมีวิธีที่จะกู้คืนฐานข้อมูลได้ DataNumen Inc. ได้สร้างซอฟต์แวร์ที่ดำเนินการ ซ่อม accdb. ตรวจสอบออก

บทนำผู้เขียน:

Jayme Stack เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ การกู้คืน sql และผลิตภัณฑ์ซอฟต์แวร์กู้คืน excel ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

แบ่งปันเลย:

ความเห็นถูกปิด