📄 frmprojtimecardhour.frm
字号:
Set m_Store = m_ProjTimeCardHour.CopyMe
LoadRecords
End Sub
Private Sub EnableToolbar(ByVal Dirty As Boolean)
On Error Resume Next
If Not Dirty Then
If m_EnableAttr And tbSave Then m_EnableAttr = m_EnableAttr Xor tbSave
If m_EnableAttr And tbCancel Then m_EnableAttr = m_EnableAttr Xor tbCancel
If Not (m_EnableAttr And tbRefresh) Then m_EnableAttr = m_EnableAttr Or tbRefresh
Else
If Not (m_EnableAttr And tbSave) Then m_EnableAttr = m_EnableAttr Or tbSave
If Not (m_EnableAttr And tbCancel) Then m_EnableAttr = m_EnableAttr Or tbCancel
If m_EnableAttr And tbRefresh Then m_EnableAttr = m_EnableAttr Xor tbRefresh
End If
m_Toolbar.RefreshEnabledState
End Sub
Private Sub LoadRecords()
On Error GoTo Err_LoadRecords
Dim ctl As Control, i As Long
m_flgLoading = True
With m_ProjTimeCardHour
For i = 1 To .GetFieldCount
On Error Resume Next
Set ctl = Controls(.GetFieldName(i))
If Err = 0 Then
Select Case TypeName(ctl)
Case "Label"
Case "TextBox", "ComboBox", "MaskEdBox"
ctl = .GetData(i)
Case "CheckBox"
ctl.Value = Abs(.GetData(i))
Case "DTPicker"
ctl.Value = .GetData(i)
End Select
End If
Next
End With
m_EnableAttr = iForm_Attributes
EnableToolbar False
m_flgLoading = False
Done_LoadRecords:
Exit Sub
Err_LoadRecords:
ErrorMsg Err.Number, Err.Description, "LoadRecords", mcstrMod
Resume Done_LoadRecords
End Sub
Private Sub BillableHours_Change()
On Error GoTo Err_BillableHours_Change
If m_flgLoading Then Exit Sub
m_ProjTimeCardHour.SetDatabyname BillableHours.Name, BillableHours
EnableToolbar True
Exit Sub
Err_BillableHours_Change:
With BillableHours
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_ProjTimeCardHour.GetDataByName(BillableHours.Name)
End With
End Sub
Private Sub BillableHours_LostFocus()
On Error Resume Next
BillableHours = m_ProjTimeCardHour.GetDataByName(BillableHours.Name)
End Sub
Private Sub BillingRate_Change()
On Error GoTo Err_BillingRate_Change
If m_flgLoading Then Exit Sub
m_ProjTimeCardHour.SetDatabyname BillingRate.Name, BillingRate
EnableToolbar True
Exit Sub
Err_BillingRate_Change:
With BillingRate
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_ProjTimeCardHour.GetDataByName(BillingRate.Name)
End With
End Sub
Private Sub BillingRate_LostFocus()
On Error Resume Next
BillingRate = m_ProjTimeCardHour.GetDataByName(BillingRate.Name)
End Sub
Private Sub ProjectID_Click()
On Error GoTo Err_ProjectID_Click
m_ProjTimeCardHour.SetDatabyname ProjectID.Name, ProjectID
EnableToolbar True
Exit Sub
Err_ProjectID_Click:
ProjectID = m_ProjTimeCardHour.GetDataByName(ProjectID.Name)
End Sub
Private Sub ProjectID_LostFocus()
On Error Resume Next
ProjectID = m_ProjTimeCardHour.GetDataByName(ProjectID.Name)
End Sub
Private Sub TimeCardDetailID_Change()
On Error GoTo Err_TimeCardDetailID_Change
If m_flgLoading Then Exit Sub
m_ProjTimeCardHour.SetDatabyname TimeCardDetailID.Name, TimeCardDetailID
EnableToolbar True
Exit Sub
Err_TimeCardDetailID_Change:
With TimeCardDetailID
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_ProjTimeCardHour.GetDataByName(TimeCardDetailID.Name)
End With
End Sub
Private Sub TimeCardDetailID_LostFocus()
On Error Resume Next
TimeCardDetailID = m_ProjTimeCardHour.GetDataByName(TimeCardDetailID.Name)
End Sub
Private Sub TimeCardID_Click()
On Error GoTo Err_TimeCardID_Click
m_ProjTimeCardHour.SetDatabyname TimeCardID.Name, TimeCardID
EnableToolbar True
Exit Sub
Err_TimeCardID_Click:
TimeCardID = m_ProjTimeCardHour.GetDataByName(TimeCardID.Name)
End Sub
Private Sub TimeCardID_LostFocus()
On Error Resume Next
TimeCardID = m_ProjTimeCardHour.GetDataByName(TimeCardID.Name)
End Sub
Private Sub WorkCodeID_Click()
On Error GoTo Err_WorkCodeID_Click
m_ProjTimeCardHour.SetDatabyname WorkCodeID.Name, WorkCodeID
EnableToolbar True
Exit Sub
Err_WorkCodeID_Click:
WorkCodeID = m_ProjTimeCardHour.GetDataByName(WorkCodeID.Name)
End Sub
Private Sub WorkCodeID_LostFocus()
On Error Resume Next
WorkCodeID = m_ProjTimeCardHour.GetDataByName(WorkCodeID.Name)
End Sub
Private Sub WorkDescription_Change()
On Error GoTo Err_WorkDescription_Change
If m_flgLoading Then Exit Sub
m_ProjTimeCardHour.SetDatabyname WorkDescription.Name, WorkDescription
EnableToolbar True
Exit Sub
Err_WorkDescription_Change:
With WorkDescription
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_ProjTimeCardHour.GetDataByName(WorkDescription.Name)
End With
End Sub
Private Sub WorkDescription_LostFocus()
On Error Resume Next
WorkDescription = m_ProjTimeCardHour.GetDataByName(WorkDescription.Name)
End Sub
Private Sub DateWorked_Change()
On Error GoTo Err_DateWorked_Change
If m_flgLoading Then Exit Sub
m_ProjTimeCardHour.SetDatabyname DateWorked.Name, DateWorked.Value
EnableToolbar True
Exit Sub
Err_DateWorked_Change:
With DateWorked
.Value = m_ProjTimeCardHour.GetDataByName(DateWorked.Name)
End With
End Sub
Private Sub DateWorked_LostFocus()
On Error Resume Next
DateWorked = m_ProjTimeCardHour.GetDataByName(DateWorked.Name)
End Sub
Private Sub Form_Activate()
m_Toolbar.Activate m_Guid
End Sub
Private Sub Form_Load()
Dim vProjTimeCardHour As New ProjTimeCardHour, strCombo As String
m_Guid = GUID
m_Toolbar.Attach Me, m_Guid
CaptionBar1.Caption = Caption
Set CaptionBar1.Picture = Me.Icon
strCombo = vProjTimeCardHour.GetProjectsList
FillCombo ProjectID, strCombo
ProjectID.Tag = strCombo
strCombo = vProjTimeCardHour.GetTimeCardsList
FillCombo TimeCardID, strCombo
TimeCardID.Tag = strCombo
strCombo = vProjTimeCardHour.GetWorkCodesList
FillCombo WorkCodeID, strCombo
WorkCodeID.Tag = strCombo
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If m_EnableAttr And tbSave Then
Select Case MsgBox("Record has been changed. Do you want To save it?" _
, vbYesNoCancel + vbQuestion)
Case vbYes
m_ProjTimeCardHour.Save
Case vbNo
Case vbCancel
Cancel = True
End Select
End If
End Sub
Private Sub Form_Resize()
On Error Resume Next
If Me.WindowState <> vbMinimized Then
With CaptionBar1
.Move 0, .Top, Me.ScaleWidth, .height
End With
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
m_Toolbar.Detach m_Guid
End Sub
Private Sub iForm_MainMenu()
'n/a
End Sub
Private Property Get iForm_Attributes() As ToolBarItems
iForm_Attributes = tbCancel + tbCloseMe + tbRefresh + tbSave
End Property
Private Sub iForm_Cancel()
Set m_ProjTimeCardHour = m_Store.CopyMe
LoadRecords
End Sub
Private Sub iForm_CloseMe()
Unload Me
End Sub
Private Sub iForm_delete()
'n/a
End Sub
Private Property Get iForm_EnableAttributes() As ToolBarItems
iForm_EnableAttributes = m_EnableAttr
End Property
Private Sub iForm_Find(ByVal Key As String)
'n/a
End Sub
Private Sub iForm_Refresh()
Dim aProjTimeCardHour As ProjTimeCardHour
Set aProjTimeCardHour = m_ProjTimeCardHour
aProjTimeCardHour.Load aProjTimeCardHour.TimeCardDetailID
Set m_ProjTimeCardHour = aProjTimeCardHour
LoadRecords
End Sub
Private Function iForm_Save() As Boolean
If m_ProjTimeCardHour.Save Then
Set m_Store = m_ProjTimeCardHour.CopyMe
iForm_Refresh
End If
End Function
Private Sub iForm_AddNew()
'n/a
End Sub
Private Sub iForm_ShowFormView()
'n/a
End Sub
Private Property Get iForm_FindSubTools() As cFindSubTools
'n/a
End Property
Private Sub iForm_HelpAbout()
'n/a
End Sub
Private Function iForm_OpenDB() As Boolean
'n/a
End Function
Private Sub iForm_DeleteRow()
'n/a
End Sub
Private Sub iForm_PrintOut()
'n/a
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -