사용자팁에 보면 2개의 mdb파일을 비교하여 스키마를 자동으로 만들어 주는 팁이 있습니다.
잘 작동은 되는데 한가지 버그(?)가 있어 문의 드립니다.
<버그내용>
기존테이블에 추가로 만들어 지는 필드(컬럼)는 속성값중 필수항목에 무조건 "예" 라고 만들어 집니다. (원본mdb는 해당 필드(컬럼)는 속성값이 "아니오" 입니다.)
어딜 고쳐야 하나요? 도움이 절실히 필요합니다. ㅠㅠ
아래는 박병섭님의 -> "두 mdb를 비교하여 테이블 칼럼등 같게 만들기"중
필드추가 생성 부분 소스 입니다.
----------------------------
Private Sub Append_Col(tbl_Name As String, fld_Name As String, new_Table As Boolean)
Dim def_Val As Variant
'Column 필드 추가
newDB.Tables(tbl_Name).Columns.Append fld_Name, orgDB.Tables(tbl_Name).Columns(fld_Name).Type, orgDB.Tables(tbl_Name).Columns(fld_Name).DefinedSize
'자동 증분 설정
On Error Resume Next
If orgDB.Tables(tbl_Name).Columns(fld_Name).Properties("Autoincrement") = True Then
newDB.Tables(tbl_Name).Columns(fld_Name).Properties("Autoincrement") = True
End If
'프로퍼티값 복사
For j = 0 To 5
newDB.Tables(tbl_Name).Columns(fld_Name).Properties(j) = orgDB.Tables(tbl_Name).Columns(fld_Name).Properties(j)
Next
If new_Table = False Then
'기본 입력값으로 기존 테이블값 업데이트
def_Val = orgDB.Tables(tbl_Name).Columns(fld_Name).Properties("Default")
If Not (def_Val = True Or def_Val = False) Then
If IsNumeric(def_Val) Then
sql = "UPDATE " & tbl_Name & " SET " & fld_Name & " = " & def_Val & ";"
Else
sql = "UPDATE " & tbl_Name & " SET " & fld_Name & " = '" & def_Val & "';"
End If