액세스에서 레코드를 빠르게 복제하는 방법

지금 공유 :

버튼 클릭만으로 이전 레코드의 특정 데이터를 복사 할 수있는 VBA 함수를 만드는 방법을 알아 봅니다. 같은 것을 반복해서 입력 할 필요가 없습니다.

한 필드를 제외하고 이전 레코드와 정확히 동일한 값 집합이있는 새 레코드를 Access에 입력해야하는 경험이 있습니까? 귀찮을 수 있지요? 이 튜토리얼은 버튼 클릭으로 이전 레코드의 특정 값을 복사 할 수있는 함수를 생성하는 방법을 알려줍니다. 따라서 재 입력 시간을 절약 할 수 있습니다. 아래 단계를 따르십시오.

다운로드

이 기능을 최대한 빨리 사용하고 싶다면 다음 방법을 이용할 수 있습니다.

지금 VBA 코드가 포함 된 샘플 데이터베이스 다운로드

그렇지 않고 DIY를 원한다면 아래 내용을 읽을 수 있습니다.

Access에서 '레코드 사본 만들기'기능을 추가하는 단계

  1. 디자인보기에서 양식을 엽니 다.디자인보기에서 양식 열기
  2. 명령 단추를 추가하십시오. 명령 단추 마법사를 건너 뜁니다.
  3. 추가 클릭시 버튼에 이벤트.버튼에 클릭시 이벤트 추가
  • 디자인보기에서 버튼을 선택합니다.
  • 속성 시트 열기 (ALT + Enter)
  • 이벤트 탭> On Click>…으로 이동합니다.
  • 빌더 선택 메뉴가 나타나면 코드 빌더를 선택합니다.
  • 확인을 클릭합니다.
  • 그러면 VBA 편집기가 열립니다.
    1. 다음 코드를 복사하여 필요에 맞게 수정하십시오. 설명을 가이드로 사용하십시오.
    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. 이제 코드가 작동하는지 테스트하십시오.

코드 설명

위의 코드는 서점의 데이터베이스에 사용되었습니다. 책 시리즈 때문에 모든 책 세부 사항 (예 : 저자, 국가, 언어 등)이 하나의 필드 (제목)를 제외하고 동일한 경우가 있습니다. 따라서 코드가 필요합니다.

아래 목록은 프로그램 흐름을 보여줍니다.

  1. 사용자가 복사 할 레코드를 선택했는지 확인하십시오. 사용자가 Add New Record 버튼을 클릭 한 후 바로 버튼을 클릭하면 오류 메시지가 표시되어 ID가 null이됩니다.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. 현재 레코드의 ID 또는 기본 키를 가져 와서 현재 ID 이것은 복사 할 값의 기준으로 사용됩니다.
currentID = BookID
  1. 새 레코드를 추가하십시오.
DoCmd.GoToRecord record:=acNewRec
  1. 특정 필드에 대한 값을 현재 ID 선택한 레코드에서 데이터가 복사되는 곳입니다.
'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. 사용자가 가장 먼저 수정할 가능성이 높은 필드에 초점을 맞추세요. 이렇게 하면 사용자가 아직 업데이트해야 할 필드를 수동으로 선택할 필요가 없어 사용자 경험이 향상됩니다.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

손상된 데이터베이스 복구

불행한 이유로 데이터베이스를 열 수없는 날 깨어 나면 액세스 수리. 그것은 놀라운 일을합니다.

저자 소개 :

Jayme Stack은 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. SQL 복구 그리고 엑셀 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM

지금 공유 :

댓글이 닫혀있다.