'------------------------------------------
'이 부분은 모듈의 선언부에 위치해야 합니다.
'------------------------------------------
Private mobjAutoNumProperties As xAutoNumProperties
'------------------------------------------
Private Sub Form_Delete(Cancel As Integer)
On Error GoTo Herror
'권한 체크
If Not Me.Parent.SearchForm.PermDelete Then
Cancel = True
xsberrmsg xfnConcatNL(xfnGetSysMsg(152))
Exit Sub
End If
Exit Sub
Herror:
Select Case Err.Number
Case Else
Cancel = True
xsberrmsg xfnErrFormat(Err.Number, Err.Description)
End Select
End Sub
Private Sub Form_Dirty(Cancel As Integer)
On Error GoTo Herror
'권한 체크
If Not Me.Parent.SearchForm.PermUpdate Then
Cancel = True
xsberrmsg xfnConcatNL(xfnGetSysMsg(150))
Exit Sub
End If
Exit Sub
Herror:
Select Case Err.Number
Case Else
Cancel = True
xsberrmsg xfnErrFormat(Err.Number, Err.Description)
End Select
End Sub
Private Sub Form_BeforeInsert(Cancel As Integer)
On Error GoTo Herror
Dim objColumn As xObjCol
Dim ctr As Control
Dim strMsg As String
'권한 체크
If Not Me.Parent.SearchForm.PermInsert Then
Cancel = True
xfnUndoForm Me
xsberrmsg xfnConcatNL(xfnGetSysMsg(151))
Exit Sub
End If
'작성자, 작성일시 입력
If xfnIsControlExist(Me, "CID") Then
CID.Value = xfnGetConf("UserID")
End If
If xfnIsControlExist(Me, "CTIME") Then
CTime.Value = xfnGetCurrentTime()
End If
'기본적인 자동 채번 속성 만들기
If Not fnIsAutoNumInited() Then
Set mobjAutoNumProperties = xfnNew_xAutoNumProperties
For Each objColumn In Me.Parent.Columns
If Not xfnIsEmpty(objColumn.AutoNumID) Then
mobjAutoNumProperties.Add objColumn.Name
End If
Next
End If
'자동 채번
For Each objColumn In Me.Parent.Columns
'AutoNumID가 정의되어 있는 컬럼 중에서...
If Not xfnIsEmpty(objColumn.AutoNumID) Then
'폼의 모든 컨트롤 중...
For Each ctr In Me.Controls
'ControlSource 속성이 있는 컨트롤에 대해서...
If xfnIsObjectValid(ctr, "ControlSource") Then
'Image Type의 컨트롤의 경우 채번하지 않음
If Not TypeOf ctr Is Image Then
'열 이름과 ControlSource 속성이 같은 컨트롤에 대해서 새 ID 할당
If xfnStrComp(ctr.ControlSource, objColumn.Name) Then
ctr.Value = objColumn.GetNewAutoNum(mobjAutoNumProperties(objColumn.Name))
End If
End If
End If
Next
End If
Next
Exit Sub
Herror:
Cancel = True
strMsg = xfnErrFormat(Err.Number, Err.Description)
strMsg = xfnConcatNL( _
xfnGetSysMsg(131) _
, strMsg _
)
xfnUndoForm Me
xsberrmsg strMsg
End Sub
Private Function fnIsAutoNumInited() As Boolean
On Error GoTo Herror
Dim a
a = mobjAutoNumProperties.Count
fnIsAutoNumInited = True
Exit Function
Herror:
fnIsAutoNumInited = False
End Function
Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo Herror
'수정자, 수정일시 입력
If xfnIsControlExist(Me, "EID") Then
EID.Value = xfnGetConf("UserID")
End If
If xfnIsControlExist(Me, "ETIME") Then
ETime.Value = xfnGetCurrentTime()
End If
'필수 입력 필드값 체크
If Not xfnAllRequiredFieldFilled(Me) Then
Cancel = True
Exit Sub
End If
Exit Sub
Herror:
Cancel = True
xsberrmsg xfnConcatNL( _
xfnGetSysMsg(132) _
, xfnErrFormat(Err.Number, Err.Description) _
)
End Sub