VBA-dan foydalanib, Access-da o'zingizning Split formangizni qanday yaratishingiz mumkin

Hozir ulashing:

Access-da ajratilgan shakllar juda foydali. Afsuski, ularni navigatsiya formasiga joylashtirganingizda ular ishlamaydi. Accessning boʻlingan shakl funksiyalarini taqlid qiladigan va hatto navigatsiya formasida ham ishlashini taʼminlaydigan VBA funksiyasini qanday yaratishingiz mumkinligini bilib oling.

Split shakl bir vaqtning o'zida yozuvlaringizning ikkita ko'rinishiga ega bo'lish imkonini beradi - shakl ko'rinishi va ma'lumotlar jadvali ko'rinishi. Bu sizga barcha yozuvlaringiz haqida umumiy ma'lumotga ega bo'lish va bir vaqtning o'zida ularni birma-bir ko'rish va tahrirlash imkoniyatini beradi.

Afsuski, navigatsiya formasiga qo'yganingizda, ajratilgan shakllar ishlamaydi - bu meni hayratda qoldiradigan narsa. Yaxshiyamki, buning uchun vaqtinchalik yechim bor. VBA-dan foydalanib, siz Access-ning bo'linish shaklini simulyatsiya qiladigan o'zingizning funksiyangizni yaratishingiz mumkin. Quyidagi amallarni bajaring.

Hozir yuklab olmoq

Agar siz ushbu funksiyadan iloji boricha tezroq foydalanishni boshlamoqchi bo'lsangiz, quyidagilarni qilishingiz mumkin:

VBA kodlari bilan namunaviy ma'lumotlar bazasini hozir yuklab oling

Aks holda, agar siz DIY qilishni istasangiz, quyidagi tarkibni o'qishingiz mumkin.

VBA-dan foydalangan holda Access-da o'zingizning Split formangizni yaratish qadamlari

1. Bo'lingan shaklni oching va Standart ko'rinishni Yagona shaklga yangilang. Split formangizni oching va standart ko'rinishni bitta shaklga yangilang

  1. Ajratilgan shaklni oching.
  2. Dizayn ko'rinishida shaklni tanlang.
  3. Xususiyatlar varaqasi (ALT + Enter) > Shakl yorlig'iga o'ting.
  4. Standart ko‘rinishni quyidagicha o‘zgartiring: Yagona shakl.
  5. Shaklni yoping va saqlang.

2. Shakl nusxasini yarating. Bu ma'lumotlar jadvali ko'rinishi sifatida xizmat qiladi.

  1. Navigatsiya paneliga o'ting.
  2. Shaklni o'ng tugmasini bosing va Nusxa olish-ni tanlang.
  3. Navigatsiya panelidagi bo'sh joyni o'ng tugmasini bosing va Qo'shish-ni tanlang.
  4. Shakl nomini o'zgartiring. Uni "_Datasheet" bilan qo'shing.

misol:

  • Shakl: a'zolar
  • Shakl nusxasi: Members_Datasheet

3. Ma'lumotlar jadvali formasini oching va uning shakl ko'rinishi xususiyatlarini yangilang.

  1. Ma'lumotlar jadvali shaklini oching.
  2. Dizayn ko'rinishida shaklni tanlang.
  3. Xususiyatlar varaqasi > Shakl yorlig'iga o'ting.
  4. Quyidagi xususiyatlarni yangilang:
    • Standart koʻrinish: Tafsilotli ro'yxat
    • Maʼlumotlar jadvalini koʻrishga ruxsat berish: ha
    • Shaklni ko'rishga ruxsat berish: Yo'q
  5. Shaklni yoping va saqlang.

4. Asosiy shaklni qayta oching va ma'lumotlar jadvali formasini quyi shakl sifatida qo'shing.

  1. Dizayn ko'rinishida asosiy shaklni (nusxa olingan) oching.
  2. Pastki shakl qo'shing.
    • Dizayn menyusiga o'ting. Subform/Subreport-ni tanlang.Subform-ni tanlang
    • Shaklning Tafsilot maydonini bosing.
    • Subforma ustasi paydo bo'ladi.Subforma ustasi

1. "Mavjud shakldan foydalanish" tugmasini bosing.

2.Ma'lumotlar jadvali shaklini tanlang.

3.Keyingi tugmasini bosing."O'zimnikini belgilash" bandini tanlang

4. "O'zimnikini belgilang" ni tanlang.

5.Finish tugmasini bosing.

3. Ma'lumotlar jadvali shakli endi sizning asosiy shaklingizning pastki shakli hisoblanadi. Uni kerakli o'lcham va joylashuvga sozlang.

5. Nihoyat, kodni qo'shing.

  1. VBA muharririni oching (ALT + F11).
  2. Asosiy shaklni tanlang va keyingi kodni joylashtiring.Asosiy shaklni tanlang va kodni joylashtiring
'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. Kodni nusxalashdan so'ng, so'zning barcha nusxalarini almashtiring A'zolar_ma'lumotlar jadvali ma'lumotlar varag'ingiz shaklining haqiqiy nomi bilan.
  2. Tugallangach, loyiha menyusidan ma'lumotlar jadvali formasini tanlang va quyidagi kodni nusxalang.
'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. Quyidagi o'zgaruvchilar uchun qiymatlarni yangilang:
  • pk_tbox - asosiy kalitni o'z ichiga olgan matn maydoniga ishora qiladi.
  • pk_field – yozuv manbasining asosiy kalit maydoniga ishora qiladi.

Ularning har birining sharh qismida yulduzcha (*) bor, shuning uchun ularni osongina topishingiz mumkin.

  1. Tugallangach, o'zgarishlarni saqlang (CTRL + S) va VBA muharririni yoping.

Endi siz navigatsiya formasiga o'zingizning bo'lingan shaklingizni qo'shishingiz mumkin. Sinab ko'ring!

Zararlangan kirish ma'lumotlar bazasini tuzatish (.accdb)

Access ma'lumotlar bazasining buzilishining ko'plab sabablari bo'lishi mumkin. Afsuski, biz ularning ko'pchiligini nazorat qila olmaymiz. Agar bu siz bilan sodir bo'lsa, uni tiklashning hali ham yo'li borligini unutmang. DataNumen Inc amalga oshiradigan dasturiy ta'minotni yaratdi accdb ta'mirlash. Tekshirib ko'r.

Muallif kirish:

Jayme Stack - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc sqlni tiklash va excel tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.