📄 frmclient.frm
字号:
Dim vClientProjects As COMEXDataSource
Set vClientProjects = aClient.ClientProjects
With m_Client
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
Set Me.DataEditGrid1(0).DataSource = vClientProjects
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 Address_Change()
On Error GoTo Err_Address_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname Address.Name, Address
EnableToolbar True
Exit Sub
Err_Address_Change:
With Address
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(Address.Name)
End With
End Sub
Private Sub Address_LostFocus()
On Error Resume Next
Address = m_Client.GetDataByName(Address.Name)
End Sub
Private Sub City_Change()
On Error GoTo Err_City_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname City.Name, City
EnableToolbar True
Exit Sub
Err_City_Change:
With City
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(City.Name)
End With
End Sub
Private Sub City_LostFocus()
On Error Resume Next
City = m_Client.GetDataByName(City.Name)
End Sub
Private Sub ClientID_Change()
On Error GoTo Err_ClientID_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname ClientID.Name, ClientID
EnableToolbar True
Exit Sub
Err_ClientID_Change:
With ClientID
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(ClientID.Name)
End With
End Sub
Private Sub ClientID_LostFocus()
On Error Resume Next
ClientID = m_Client.GetDataByName(ClientID.Name)
End Sub
Private Sub CompanyName_Change()
On Error GoTo Err_CompanyName_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname CompanyName.Name, CompanyName
EnableToolbar True
Exit Sub
Err_CompanyName_Change:
With CompanyName
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(CompanyName.Name)
End With
End Sub
Private Sub CompanyName_LostFocus()
On Error Resume Next
CompanyName = m_Client.GetDataByName(CompanyName.Name)
End Sub
Private Sub ContactFirstName_Change()
On Error GoTo Err_ContactFirstName_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname ContactFirstName.Name, ContactFirstName
EnableToolbar True
Exit Sub
Err_ContactFirstName_Change:
With ContactFirstName
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(ContactFirstName.Name)
End With
End Sub
Private Sub ContactFirstName_LostFocus()
On Error Resume Next
ContactFirstName = m_Client.GetDataByName(ContactFirstName.Name)
End Sub
Private Sub ContactLastName_Change()
On Error GoTo Err_ContactLastName_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname ContactLastName.Name, ContactLastName
EnableToolbar True
Exit Sub
Err_ContactLastName_Change:
With ContactLastName
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(ContactLastName.Name)
End With
End Sub
Private Sub ContactLastName_LostFocus()
On Error Resume Next
ContactLastName = m_Client.GetDataByName(ContactLastName.Name)
End Sub
Private Sub ContactTitle_Change()
On Error GoTo Err_ContactTitle_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname ContactTitle.Name, ContactTitle
EnableToolbar True
Exit Sub
Err_ContactTitle_Change:
With ContactTitle
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(ContactTitle.Name)
End With
End Sub
Private Sub ContactTitle_LostFocus()
On Error Resume Next
ContactTitle = m_Client.GetDataByName(ContactTitle.Name)
End Sub
Private Sub Country_Change()
On Error GoTo Err_Country_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname Country.Name, Country
EnableToolbar True
Exit Sub
Err_Country_Change:
With Country
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(Country.Name)
End With
End Sub
Private Sub Country_LostFocus()
On Error Resume Next
Country = m_Client.GetDataByName(Country.Name)
End Sub
Private Sub FaxNumber_Change()
On Error GoTo Err_FaxNumber_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname FaxNumber.Name, FaxNumber
EnableToolbar True
Exit Sub
Err_FaxNumber_Change:
FaxNumber = m_Client.GetDataByName(FaxNumber.Name)
End Sub
Private Sub FaxNumber_LostFocus()
On Error Resume Next
FaxNumber = m_Client.GetDataByName(FaxNumber.Name)
End Sub
Private Sub Notes_Change()
On Error GoTo Err_Notes_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname Notes.Name, Notes
EnableToolbar True
Exit Sub
Err_Notes_Change:
With Notes
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(Notes.Name)
End With
End Sub
Private Sub Notes_LostFocus()
On Error Resume Next
Notes = m_Client.GetDataByName(Notes.Name)
End Sub
Private Sub PhoneNumber_Change()
On Error GoTo Err_PhoneNumber_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname PhoneNumber.Name, PhoneNumber
EnableToolbar True
Exit Sub
Err_PhoneNumber_Change:
With PhoneNumber
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(PhoneNumber.Name)
End With
End Sub
Private Sub PhoneNumber_LostFocus()
On Error Resume Next
PhoneNumber = m_Client.GetDataByName(PhoneNumber.Name)
End Sub
Private Sub PostalCode_Change()
On Error GoTo Err_PostalCode_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname PostalCode.Name, PostalCode
EnableToolbar True
Exit Sub
Err_PostalCode_Change:
PostalCode = m_Client.GetDataByName(PostalCode.Name)
End Sub
Private Sub PostalCode_LostFocus()
On Error Resume Next
PostalCode = m_Client.GetDataByName(PostalCode.Name)
End Sub
Private Sub StateOrProvince_Change()
On Error GoTo Err_StateOrProvince_Change
If m_flgLoading Then Exit Sub
m_Client.SetDatabyname StateOrProvince.Name, StateOrProvince
EnableToolbar True
Exit Sub
Err_StateOrProvince_Change:
With StateOrProvince
.SelStart = 0
.SelLength = Len(.Text)
.SelText = m_Client.GetDataByName(StateOrProvince.Name)
End With
End Sub
Private Sub StateOrProvince_LostFocus()
On Error Resume Next
StateOrProvince = m_Client.GetDataByName(StateOrProvince.Name)
End Sub
Private Sub tabListview_Click(PreviousTab As Integer)
Me.DataEditGrid1(0).Visible = (tabListview.Tab = 0)
Me.Refresh
End Sub
Private Sub DataEditGrid1_Dirty(Index As Integer)
EnableToolbar True
End Sub
Private Sub DataEditGrid1_FetchColumnSetup(Index As Integer, ColName As String, ControlType As FieldControlType, ComboMaskList As String, Alignment As FieldControlAlign, Hidden As Boolean, AutoNumber As Boolean)
Select Case Index
Case 0
Select Case ColName
Case "ClientID"
Hidden = True
End Select
Dim vClientProject As New ClientProject
Select Case ColName
Case "ClientID"
ColName = "客户号"
AutoNumber = False
Alignment = 0
ControlType = fcComboBx
ComboMaskList = vClientProject.GetClientsList
Case "EmployeeID"
ColName = "业务员"
AutoNumber = False
Alignment = 0
ControlType = fcComboBx
ComboMaskList = vClientProject.GetEmployeesList
Case "ProjectDescription"
ColName = "审核人"
AutoNumber = False
Alignment = 0
Case "ProjectEndDate"
ColName = "合同截至日期"
AutoNumber = False
Alignment = 1
ControlType = fcDateTimePick
Case "ProjectID"
ColName = "合同编号"
AutoNumber = True
Alignment = 2
Case "ProjectName"
ColName = "合同编码"
AutoNumber = False
Alignment = 0
Case "ProjectTotalBillingEstimate"
ColName = "原币合同金额"
AutoNumber = False
Alignment = 2
Case "PurchaseOrderNumber"
ColName = "原币税额"
AutoNumber = False
Alignment = 0
Case "ProjectBeginDate"
ColName = "合同执行日期"
AutoNumber = False
Alignment = 1
ControlType = fcDateTimePick
End Select
End Select
End Sub
Private Sub Form_Activate()
m_Toolbar.Activate m_Guid
End Sub
Private Sub Form_Load()
Dim vClient As New Client, strCombo As String
m_Guid = GUID
m_Toolbar.Attach Me, m_Guid
tabListview_Click 0
ThinBorder DataEditGrid1(0).hwnd, False
CaptionBar1.Caption = Caption
Set CaptionBar1.Picture = Me.Icon
FaxNumber.Mask = "(###)###-####"
PostalCode.Mask = "#####"
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_Client.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
With tabListview
.Left = 0
.Top = (StateOrProvince.Top + StateOrProvince.height + 100)
.height = Me.ScaleHeight - .Top
.width = Me.ScaleWidth
DataEditGrid1(0).Move 100, 100, .width - 200, .height - 450
End With
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
m_Toolbar.Detach m_Guid
End Sub
Private Sub LoadFormView()
On Error GoTo Err_LoadFormView
Dim vItem As Object, frmX As Object, aClient As Client
Set aClient = m_Client
Select Case tabListview.Tab
Case 0
Dim vClientProject As ClientProject
Set vItem = New ClientProject
Set frmX = New frmClientProject
Set vClientProject = aClient.ClientProjects(DataEditGrid1(tabListview.Tab).CurrentRecord)
vItem.Load vClientProject.ProjectID, True
End Select
frmX.Component vItem
frmX.Show
Done_LoadFormView:
Exit Sub
Err_LoadFormView:
If Err <> 91 Then ErrorMsg Err.Number, Err.Description, "LoadFormView", mcstrMod
Resume Done_LoadFormView
End Sub
Private Sub iForm_MainMenu()
'n/a
End Sub
Private Property Get iForm_Attributes() As ToolBarItems
iForm_Attributes = tbCancel + tbCloseMe + tbRefresh + tbSave + tbDeleteRow + tbShowFormView
End Property
Private Sub iForm_Cancel()
Set m_Client = 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 aClient As Client
Set aClient = m_Client
aClient.Load aClient.ClientID, True
Set m_Client = aClient
LoadRecords
End Sub
Private Function iForm_Save() As Boolean
DataEditGrid1(tabListview.Tab).Update
If m_Client.Save Then
Set m_Store = m_Client.CopyMe
iForm_Refresh
End If
End Function
Private Sub iForm_AddNew()
'n/a
End Sub
Private Sub iForm_ShowFormView()
LoadFormView
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()
DataEditGrid1(tabListview.Tab).delete
End Sub
Private Sub iForm_PrintOut()
'n/a
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -