ExitHere:
Exit Sub
ErrorHandler:
MsgBoxEx Err.Description, vbCritical
Resume ExitHere
End Sub
Private Sub Form_Load()
On Error GoTo ErrorHandler
Dim strSQL As String
Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset
Dim rstTmp As Object 'DAO.Recordset
ApplyTheme Me
CurrentDb.Execute "DELETE FROM [TMP_采購訂單明細表]"
If IsNull(Me.OpenArgs) Then
Me.DataEntry = True
End If
'------要添加的代碼 開始----
Dim rstUser As Object
Set rstUser = OpenADORecordset("SELECT Sys_Users.Nickname FROM Sys_Users", adLockReadOnly)
Set Me.經辦人.Recordset = rstUser
Set Me.制單人.Recordset = rstUser
'------要添加的代碼 結束----
'------要添加的代碼 開始----
'If IsLoaded("SysFrmMain") = True Then
If IsLoaded(acForm, "SysFrmMain") = True Then
Me.制單人 = Forms!sysfrmmain.Nickname '該昵稱在SysFrmMain表單,所以必須讓SysFrmMain表單處于打開狀態
Me.經辦人 = Forms!sysfrmmain.Nickname
End If
Me.采購日期 = Date '也可以直接在控制元件屬性中設定
Me.制單時間 = Date '也可以直接在控制元件屬性中設定
Me.供應商ID.SetFocus '這樣一打開,就直接定位到選擇供應商
'------要添加的代碼 結束----
Me.sfrDetail.Requery
Exit Sub
End If
Me.btnSave.Enabled = Me.AllowEdits
ExitHere:
Set rst = Nothing
Set cnn = Nothing
Set rstTmp = Nothing
Exit Sub
ErrorHandler:
RDPErrorHandler Me.Name & ": Sub Form_Load()"
Resume ExitHere
End Sub
Private Sub btnSave_Click()
On Error GoTo ErrorHandler
Dim strWhere As String
Dim strSQL As String
Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset
Dim rstTmp As Object 'DAO.Recordset
Dim blnTransBegin As Boolean
If Not CheckRequired(Me) Then Exit Sub
If Not CheckTextLength(Me) Then Exit Sub
If Not CheckRequired(Me.sfrDetail) Then Exit Sub
Set cnn = CurrentProject.Connection
cnn.BeginTrans
blnTransBegin = True
strSQL = "SELECT * FROM [采購訂單表] WHERE [采購訂單號]=" & SQLtext(Me![采購訂單號])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
If rst.EOF Then
rst.AddNew
rst![采購訂單號] = GetAutoNumber("采購訂單號")
' If Me.DataEntry Then
' ClearControlValues Me
' CurrentDb.Execute "DELETE FROM [TMP_采購訂單明細表]"
' Me.sfrDetail.Requery
' Else
' DoCmd.Close acForm, Me.Name, acSaveNo
' End If
ExitHere:
Set rst = Nothing
Set cnn = Nothing
Set rstTmp = Nothing
Exit Sub
ErrorHandler:
If blnTransBegin Then
cnn.RollbackTrans
blnTransBegin = False
End If
RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
Resume ExitHere
End Sub
Private Sub btnCancel_Click()
On Error Resume Next
DoCmd.Close acForm, Me.Name, acSaveNo
End Sub