როგორ შევქმნათ თქვენი საკუთარი გაყოფილი ფორმა Access-ში VBA-ს გამოყენებით

გააზიარე ახლა:

Access-ში გაყოფილი ფორმები ძალზე სასარგებლოა. სამწუხაროდ, ისინი არ მუშაობენ ნავიგაციის ფორმაში მოთავსებისას. შეიტყვეთ, თუ როგორ შეგიძლიათ შექმნათ VBA ფუნქცია, რომელიც მოახდენს Access-ის გაყოფილი ფორმის ფუნქციების სიმულაციას და მის მუშაობას ნავიგაციის ფორმის შიგნითაც კი.

გაყოფილი ფორმა საშუალებას გაძლევთ ერთდროულად გქონდეთ თქვენი ჩანაწერების ორი ხედვა - ფორმის ხედი და მონაცემთა ცხრილის ხედი. ეს გაძლევთ საშუალებას გქონდეთ მიმოხილვა ყველა თქვენი ჩანაწერის შესახებ, ხოლო ამავე დროს გაძლევთ შესაძლებლობას ნახოთ და დაარედაქტიროთ ისინი სათითაოდ.

სამწუხაროდ, გაყოფილი ფორმები არ იმუშავებს, როდესაც მათ ნავიგაციის ფორმაში ჩადებთ - რაც მაწუხებს. კარგია, რომ არსებობს გამოსავალი ამისთვის. VBA-ს გამოყენებით შეგიძლიათ შექმნათ თქვენი საკუთარი ფუნქცია, რომელიც იქნება Access-ის გაყოფის ფორმის სიმულაცია. უბრალოდ მიჰყევით ქვემოთ მოცემულ ნაბიჯებს.

ჩამოტვირთეთ არის

თუ გინდა სtarიმისათვის, რომ გამოიყენოთ ფუნქცია რაც შეიძლება მალე, მაშინ შეგიძლიათ:

ჩამოტვირთეთ ნიმუშის მონაცემთა ბაზა VBA კოდებით ახლა

წინააღმდეგ შემთხვევაში, თუ გსურთ წვრილმანი, შეგიძლიათ წაიკითხოთ შინაარსი ქვემოთ.

ნაბიჯები თქვენი საკუთარი გაყოფილი ფორმის შესაქმნელად Access-ში VBA-ს გამოყენებით

1. გახსენით თქვენი გაყოფილი ფორმა და განაახლეთ ნაგულისხმევი ხედი ერთ ფორმაზე. გახსენით თქვენი გაყოფილი ფორმა და განაახლეთ ნაგულისხმევი ხედი ერთ ფორმაზე

  1. გახსენით თქვენი გაყოფილი ფორმა.
  2. დიზაინის ხედვისას აირჩიეთ ფორმა.
  3. გადადით თვისებების ფურცელზე (ALT + Enter) > ფორმა ჩანართზე.
  4. ნაგულისხმევი ხედის შეცვლა: ერთი ფორმა.
  5. დახურეთ ფორმა და შეინახეთ.

2. შექმენით ფორმის ასლი. ეს იქნება მონაცემთა ფურცლის ხედი.

  1. გადადით ნავიგაციის პანელზე.
  2. დააწკაპუნეთ მარჯვენა ღილაკით თქვენს ფორმაზე და აირჩიეთ Copy.
  3. დააწკაპუნეთ მარჯვენა ღილაკით ცარიელ ზონაზე ნავიგაციის პანელში და აირჩიეთ ჩასმა.
  4. შეცვალეთ ფორმის სახელი. დაურთეთ „_Datasheet“-ით.

მაგალითი:

  • ფორმა: წევრები
  • ფორმის ასლი: Members_Datasheet

3. გახსენით მონაცემთა ცხრილის ფორმა და განაახლეთ მისი ფორმის ხედვის თვისებები.

  1. გახსენით მონაცემთა ცხრილის ფორმა.
  2. დიზაინის ხედვისას აირჩიეთ ფორმა.
  3. გადადით Property Sheet > Form ჩანართზე.
  4. განაახლეთ შემდეგი თვისებები:
    • ნაგულისხმევი ხედი: Datasheet
    • მონაცემთა ფურცლის ნახვის დაშვება: დიახ
    • ფორმის ნახვის დაშვება: არა
  5. დახურეთ ფორმა და შეინახეთ.

4. ხელახლა გახსენით მთავარი ფორმა და დაამატეთ მონაცემთა ცხრილის ფორმა ქვეფორმად.

  1. გახსენით მთავარი ფორმა (ის, რომელიც დაკოპირდა) დიზაინის ხედში.
  2. დაამატეთ ქვეფორმა.
    • გადადით დიზაინის მენიუში. აირჩიეთ Subform/Subreport.აირჩიეთ ქვეფორმა
    • დააწკაპუნეთ ფორმის დეტალების არეალზე.
    • გამოჩნდება SubForm Wizard.ქვეფორმის ოსტატი

1. დააწკაპუნეთ 'გამოიყენეთ არსებული ფორმა'.

2. აირჩიეთ თქვენი მონაცემთა ცხრილის ფორმა.

3.დააწკაპუნეთ შემდეგი.აირჩიეთ „ჩემი საკუთარის განსაზღვრა“

4.აირჩიეთ „განისაზღვრე ჩემი საკუთარი“.

5. დააწკაპუნეთ Finish.

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_field – ეხება ჩანაწერის წყაროს პირველადი გასაღების ველს.

თითოეულ მათგანს აქვს ვარსკვლავი (*) კომენტარების განყოფილებაში, ასე რომ თქვენ შეგიძლიათ მარტივად იპოვოთ ისინი.

  1. დასრულების შემდეგ შეინახეთ ცვლილებები (CTRL + S) და დახურეთ VBA რედაქტორი.

ახლა თქვენ შეგიძლიათ დაამატოთ თქვენი საკუთარი გაყოფილი ფორმა ნავიგაციის ფორმაში. Სცადე!

შეასწორეთ დაზიანებული წვდომის მონაცემთა ბაზა (.accdb)

შეიძლება არსებობდეს მრავალი მიზეზი, რის გამოც Access მონაცემთა ბაზა კორუმპირებულია. სამწუხაროდ, ჩვენ არ გვაქვს კონტროლი მost მათგან. თუ ეს დაგემართათ, გახსოვდეთ, რომ მისი აღდგენის გზა ჯერ კიდევ არსებობს. DataNumen Inc.-მ შექმნა პროგრამული უზრუნველყოფა, რომელიც ასრულებს accdb შეკეთება. შეამოწმე.

ავტორი შესავალი:

ჯეიმ სტეკი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის sql აღდგენა და Excel-ის აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად

გააზიარე ახლა:

კომენტარები დახურულია.