Girişinizdə qeydləri necə tez bir zamanda təkrarlamaq olar

İndi paylaş:

Sadəcə bir kliklə əvvəlki qeydlərdən müəyyən məlumatları köçürməyə imkan verən VBA funksiyasını necə yarada biləcəyinizi öyrənin. Eyni şeyi təkrar yazmağa ehtiyac yoxdur.

Bir sahə istisna olmaqla, əvvəlki qeydlə tam olaraq eyni dəyərlər dəstinə malik olan Access-də yeni qeyd daxil etməyiniz lazım olan təcrübəniz olubmu? Bu yorucu ola bilər, elə deyilmi? Bu dərslik sizə bir düyməni klikləməklə əvvəlki qeydin müəyyən dəyərlərini kopyalaya biləcəyiniz funksiyanı necə yarada biləcəyinizi öyrədəcək və bu, təkrar yazmağa vaxtınıza qənaət edəcəkdir. Sadəcə aşağıdakı addımları izləyin.

İndi Download

Funksiyadan ən qısa müddətdə istifadə etməyə başlamaq istəyirsinizsə, aşağıdakıları edə bilərsiniz:

İndi VBA Kodları ilə Nümunə Verilənlər Bazasını endirin

Əks halda, DIY etmək istəyirsinizsə, aşağıdakı məzmunu oxuya bilərsiniz.

Access-də "Qeyd nüsxəsi yaradın" funksiyasını əlavə etmək üçün addımlar

  1. Formanızı dizayn görünüşündə açın.Formunuzu Dizayn Görünüşündə açın
  2. Komanda düyməsi əlavə edin. Komanda düyməsi sehrbazını keçin.
  3. Bir əlavə edin Basın hadisə düyməsini basın.Düyməyə Klik Hadisəsi Əlavə Edin
  • Dizayn görünüşündə olarkən düyməni seçin.
  • Mülkiyyət vərəqini açın (ALT + Enter)
  • Hadisə nişanına keçin > Klikləyin > ...
  • Zaman İnşaatçı seçin menyu açılır, Code Builder seçin.
  • Tamam'ı basın.
  • Bu, VBA Redaktorunu açacaq.
    1. Aşağıdakı kodu kopyalayın və ehtiyaclarınıza uyğun olaraq dəyişdirin. Şərhləri bələdçi kimi istifadə edin.
    Private Sub Command24_Click()
        Dim currentID As Long
     
        'TO DO: change all instances of 'BookID' with the actual name of your table's ID or primary key
     
        If IsNull(BookID) Then
            MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
            Exit Sub
        End If
     
        currentID = BookID
        DoCmd.GoToRecord record:=acNewRec
     
        'TO DO: set the fields to be copied (those that most likely will have the same values)
        'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)
     
         Author = DLookup("Author", "Books", "BookID=" & currentID)
         Country = DLookup("Country", "Books", "BookID=" & currentID)
         Language = DLookup("Language", "Books", "BookID=" & currentID)
         Genre = DLookup("Genre", "Books", "BookID=" & currentID)
         Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
     
         Title.SetFocus ‘TO DO: change 'Title' with name of field that is going to be edited by the user
     
    End Sub
  1. İndi kodun işlədiyini yoxlayın.

Kod izah edildi

Yuxarıdakı kod kitab mağazasının məlumat bazası üçün istifadə edilmişdir. Kitab seriyasına görə, bir sahə istisna olmaqla, bütün kitab təfərrüatlarının (məsələn, Müəllif, Ölkə, Dil və s.) eyni olduğu hallar var – Başlıq. Beləliklə, kodun ehtiyacı.

Aşağıdakı siyahı proqram axınını göstərir.

  1. İstifadəçinin kopyalamaq üçün qeydi seçib-seçmədiyini yoxlayın. İstifadəçi Yeni Qeyd əlavə et düyməsini kliklədikdən dərhal sonra düyməni klikləsə, səhv mesajı görünəcək - ID null edir.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Cari qeydin identifikatorunu və ya əsas açarını alın və onu dəyər kimi təyin edin cariID Bu, kopyalanacaq dəyərlər üçün əsas kimi istifadə olunacaq.
currentID = BookID
  1. Yeni rekord əlavə edin.
DoCmd.GoToRecord record:=acNewRec
  1. əsasında müəyyən sahələr üçün dəyərlər təyin edin cariID Burada məlumat seçilmiş qeyddən kopyalanır.
'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)

Author = DLookup("Author", "Books", "BookID=" & currentID)
Country = DLookup("Country", "Books", "BookID=" & currentID)
Language = DLookup("Language", "Books", "BookID=" & currentID)
Genre = DLookup("Genre", "Books", "BookID=" & currentID)
Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
  1. Fokusu istifadəçi tərəfindən ilk redaktə edilmə ehtimalı ən yüksək olan sahəyə təyin edin. Bu, istifadəçi təcrübəsini artırır, çünki istifadəçinin hələ də yenilənməli olan sahəni əl ilə seçməsinə ehtiyac qalmır.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Zərərli verilənlər bazasını təmir edin

Əgər uğursuz bir səbəbdən bir gün oyanırsınızsa, verilənlər bazanızı aça bilmirsinizsə, üçüncü tərəf alətlərini sınaya bilərsiniz. Giriş təmiri. Möcüzələr yaradır.

Müəllif Giriş:

Jayme Stack məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc sql bərpa və excel bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com

İndi paylaş:

Şərhlər bağlıdır.