Kako brzo duplicirati zapise u vašem pristupu

Podijeli sada:

Naučite kako možete kreirati VBA funkciju koja vam omogućava da kopirate određene podatke iz prethodnih zapisa samo jednim klikom na dugme. Nema potrebe da više puta kucate iste stvari.

Jeste li ikada imali iskustvo u kojem trebate unijeti novi zapis u Access koji ima potpuno isti skup vrijednosti kao prethodni zapis osim jednog polja? To može biti zamorno, zar ne? Ovaj vodič će vas naučiti kako možete kreirati funkciju koja jednim klikom na dugme možete kopirati određene vrijednosti prethodnog zapisa – štedeći vam vrijeme od ponovnog kucanja. Samo slijedite dolje navedene korake.

Preuzeti sada

Ako želite što prije početi koristiti ovu funkciju, možete:

Odmah preuzmite uzorak baze podataka sa VBA kodovima

Inače, ako želite DIY, možete pročitati sadržaj ispod.

Koraci za dodavanje funkcije 'Kreiraj kopiju zapisa' u Access

  1. Otvorite obrazac u prikazu dizajna.Otvorite svoj obrazac u prikazu dizajna
  2. Dodajte komandno dugme. Preskočite čarobnjaka komandnog dugmeta.
  3. Dodajte On-Click događaj na dugme.Dodajte događaj nakon klika na dugme
  • Dok ste u prikazu dizajna, izaberite dugme.
  • Otvorite listu sa svojstvima (ALT + Enter)
  • Idite na karticu Događaj > Na klik > …
  • kada je Odaberite Builder iskoči meni, odaberite Code Builder.
  • Kliknite OK.
  • Ovo će otvoriti VBA Editor.
    1. Kopirajte sljedeći kod i modificirajte ga kako bi odgovarao vašim potrebama. Koristite komentare kao vodič.
    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. Sada testirajte kod da li radi.

Code Explained

Gornji kod je korišten za bazu podataka knjižare. Zbog serije knjiga, postoje slučajevi u kojima su svi detalji knjige (npr. autor, država, jezik, itd.) isti osim jednog polja – naslova. Dakle, potreba za kodom.

Donja lista prikazuje tok programa.

  1. Provjerite je li korisnik odabrao zapis za kopiranje. Poruka o grešci će se pojaviti ako korisnik klikne na dugme odmah nakon što klikne na dugme Dodaj novi zapis – što ID čini nultim.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Dobijte ID ili primarni ključ trenutnog zapisa i dodijelite ga kao vrijednost za currentID Ovo će se koristiti kao osnova za vrijednosti koje će se kopirati.
currentID = BookID
  1. Dodajte novi zapis.
DoCmd.GoToRecord record:=acNewRec
  1. Postavite vrijednosti za određena polja na osnovu currentID Ovdje se kopiraju podaci iz odabranog zapisa.
'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. Postavite fokus na polje koje će korisnik najvjerovatnije prvo uređivati. Ovo poboljšava korisničko iskustvo jer eliminira potrebu da korisnik ručno odabire polje koje još treba ažurirati.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Popravite oštećenu bazu podataka

Ako se iz nesretnog razloga probudite jednog dana ne možete otvoriti svoju bazu podataka, možete isprobati alate treće strane koji rade Popravka pristupa. Čini čuda.

Uvod za autora:

Jayme Stack je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući sql oporavak i Excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.