AccessVBA에서 Access 링크 테이블의 원본 파일 업데이트 시간 확인
Access에서 링크 테이블의 원본 파일 업데이트 시간을 확인하는 매크로
Access에서 링크 테이블을 사용하고, 그 링크 원 파일을 다른 사람이 정기적으로 갱신해 운용하는 경우, 링크 원 파일을 보러 가지 않으면, 원 파일이 갱신 끝났는지 어떤지는 모르겠다고 생각합니다(그렇네요…?) 원래, 갱신일을 보고 판단한다고 하는 순서가 이상하다
하지만 "링크 원본 파일은 어디에 있는 거야? "등과 매번 하는 것도 싫어
1. 링크 테이블의 도착 경로,
2. 갱신일,
3. 갱신일이 1월 이내인지의 체크
에 대한 출력을 제공하는 매크로를 작성했습니다
같은 작업을 하고 있는 사람이 상당히 있는 것이 아닐까 생각하고 있습니다만, 그에 비해 넷에 코드가 구르지 않았기 때문에 업 해 보았습니다 사이트의 코드를 조합했을 뿐입니다만 )
참고 사이트:
링크 대상 데이터베이스 파일 이름을 얻는 방법?
VBA 파일을 만들거나 업데이트한 날짜와 시간을 가져오거나 수정
Access VBA : 링크 테이블의 링크 소스를 VBA로 변경하는 방법 (링크 테이블을 루프로 처리하는 부분)
Option Compare Database
Option Explicit
Sub GetLinkTableDates()
Dim fso As Object 'FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f As Object 'File
Dim db As DAO.Database, td As DAO.TableDef, filePath As String, msg As String
Set db = CurrentDb
For Each td In db.TableDefs
If td.Connect <> "" Then 'リンクテーブルだけを処理
filePath = Mid$(td.Connect, InStr(td.Connect, ";DATABASE=") + Len(";DATABASE="))
msg = msg & "テーブル名:" & td.Name & vbNewLine
msg = msg & filePath & vbNewLine
Set f = fso.GetFile(filePath)
'msg = msg & "DateCreated:" & formatDate(f.DateCreated) & vbNewLine
msg = msg & "DateLastModified:" & formatDate(f.DateLastModified) & vbNewLine & vbNewLine
'msg = msg & "DateLastAccessed:" & formatDate(f.DateLastAccessed) & vbNewLine & vbNewLine
End If
Next
MsgBox msg
Set fso = Nothing
End Sub
Private Function formatDate(target_date As Date)
Dim strCheck As String
If DateAdd("m", 1, Date) < target_date Then
strCheck = ""
Else
strCheck = "Check!! (1月以上前)"
End If
formatDate = Chr(9) & target_date & Chr(9) & strCheck
End Function
Reference
이 문제에 관하여(AccessVBA에서 Access 링크 테이블의 원본 파일 업데이트 시간 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atusify/items/b3b4807e3a1a84b71d73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)