📄 frmsupp.frm
字号:
If AltDown Then
Call MacButton(" Undo", frmSupplier.cmdUndo, 0, 0, 73, 50, frmLogin.Source, 0, 0, 1)
End If
Case vbKeyD:
If AltDown Then
Call MacButton(" Delete", frmSupplier.cmdDel, 0, 0, 73, 50, frmLogin.Source, 0, 0, 1)
End If
Case vbKeyF:
If AltDown Then
Call MacButton(" Find", frmSupplier.cmdFind, 0, 0, 73, 50, frmLogin.Source, 0, 0, 1)
End If
Case vbKeyX:
If AltDown Then
Call MacButton(" Exit", frmSupplier.cmdExit, 0, 0, 73, 50, frmLogin.Source, 0, 0, 1)
End If
Case vbKeyLeft:
If AltDown Then
Call MacButton("t", frmSupplier.cmdPrev, 0, 0, 100, 50, frmLogin.Source, 138, 39, 3)
End If
Case vbKeyRight:
If AltDown Then
Call MacButton("u", frmSupplier.cmdNext, 0, 0, 100, 49, frmLogin.Source, 138, 39, 3)
End If
Case vbKeyUp:
If AltDown Then
Call MacButton("p", frmSupplier.cmdTop, 0, 0, 100, 50, frmLogin.Source, 138, 39, 3)
End If
Case vbKeyDown:
If AltDown Then
Call MacButton("q", frmSupplier.cmdLast, 0, 0, 100, 50, frmLogin.Source, 138, 39, 3)
End If
End Select
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Dim AltDown
AltDown = (Shift And vbAltMask) > 0
Select Case KeyCode
Case vbKeyEscape:
Me.Hide
Case vbKeyF1:
frmHelp.Show
frmHelp.Help_Values = Space(1) & vbCrLf & _
"注意:以下是供应商管理模块的快捷方式" & vbCrLf & _
Space(1) & vbCrLf & _
"ALT-N=新增, ALT-E=编辑, ALT-S=保存, ALT-U=取消, ALT-D=删除" & vbCrLf & _
"ALT-F=查询, ALT-X=退出" & vbCrLf & _
Space(1) & vbCrLf & _
"左方向键=前一条记录, 右方向键=下一条记录" & vbCrLf & _
"上方向键=首记录, 下方向键=尾记录"
Case vbKeyN:
If AltDown Then
Call MacButton(" New", frmSupplier.cmdNew, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdNew_Click
End If
Case vbKeyE:
If AltDown Then
Call MacButton(" Edit", frmSupplier.cmdEdit, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdEdit_Click
End If
Case vbKeyS:
If AltDown Then
Call MacButton(" Save", frmSupplier.cmdSave, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdSave_Click
End If
Case vbKeyU:
If AltDown Then
Call MacButton(" Undo", frmSupplier.cmdUndo, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdUndo_Click
End If
Case vbKeyD:
If AltDown Then
Call MacButton(" Delete", frmSupplier.cmdDel, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdDel_Click
End If
Case vbKeyF:
If AltDown Then
Call MacButton(" Find", frmSupplier.cmdFind, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdFind_Click
End If
Case vbKeyX:
If AltDown Then
Call MacButton(" Exit", frmSupplier.cmdExit, 0, 0, 73, 50, frmLogin.Source, 74, 0, 1)
cmdExit_Click
End If
Case vbKeyLeft:
If AltDown Then
Call MacButton("t", frmSupplier.cmdPrev, 0, 0, 100, 50, frmLogin.Source, 112, 39, 3)
cmdPrev_Click
End If
Case vbKeyRight:
If AltDown Then
Call MacButton("u", frmSupplier.cmdNext, 0, 0, 100, 49, frmLogin.Source, 112, 39, 3)
cmdNext_Click
End If
Case vbKeyUp:
If AltDown Then
Call MacButton("p", frmSupplier.cmdTop, 0, 0, 100, 50, frmLogin.Source, 112, 39, 3)
cmdTop_Click
End If
Case vbKeyDown:
If AltDown Then
Call MacButton("q", frmSupplier.cmdLast, 0, 0, 100, 50, frmLogin.Source, 112, 39, 3)
cmdLast_Click
End If
End Select
End Sub
Private Sub titleBar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call DragForm(Me)
End Sub
Private Sub Closed_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Closed.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 18, 107, SRCCOPY)
frmSupplier.Closed.Refresh
End Sub
Private Sub Closed_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Closed.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 0, 107, SRCCOPY)
frmSupplier.Closed.Refresh
End Sub
Private Sub Maximized_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Maximized.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 18, 72, SRCCOPY)
frmSupplier.Maximized.Refresh
End Sub
Private Sub Maximized_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Maximized.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 0, 72, SRCCOPY)
frmSupplier.Maximized.Refresh
End Sub
Private Sub Minimized_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Minimized.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 18, 124, SRCCOPY)
frmSupplier.Minimized.Refresh
End Sub
Private Sub Minimized_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call BitBlt(frmSupplier.Minimized.hDC, 0, 0, 73, 50, frmLogin.Source.hDC, 0, 124, SRCCOPY)
frmSupplier.Minimized.Refresh
End Sub
Private Sub Display_Fields()
On Error Resume Next
If Not datprimary.BOF Then
txtField(0) = IIf(IsNull(datprimary("SUPCODE")), "", datprimary("SUPCODE"))
txtField(1) = IIf(IsNull(datprimary("SUPNAME")), "", datprimary("SUPNAME"))
txtField(2) = IIf(IsNull(datprimary("SUPDES")), "", datprimary("SUPDES"))
Else
Clear_Fields
End If
End Sub
Private Sub Clear_Fields()
' ENABLE ONLY TO BLANK FIELD txtField(0)
'txtField(0) = ""
txtField(1) = ""
txtField(2) = ""
End Sub
Private Sub Update_Fields(isNew As Boolean)
On Error Resume Next
If isNew Then
datprimary.AddNew
datprimary("SUPCODE") = txtField(0)
datprimary("SUPNAME") = txtField(1)
datprimary("SUPDES") = txtField(2)
datprimary.Update
Else
datprimary("SUPCODE") = txtField(0)
datprimary("SUPNAME") = txtField(1)
datprimary("SUPDES") = txtField(2)
datprimary.Update
End If
If isNew Then datprimary.MoveLast
End Sub
Private Sub Enable_Fields(isLock As Boolean)
On Error Resume Next
For i = 0 To 2
txtField(i).Enabled = Not isLock
Next i
If p_isadding Then
txtField(0).Locked = isLock
txtField(0).TabStop = True
End If
Object_Tab_Trigger (Not isLock)
End Sub
Public Sub Press_Buttons(p_type As String)
On Error Resume Next
Select Case p_type
Case "New"
Clear_Fields
p_save = True
p_isadding = True
Case "Edit"
p_isediting = True
p_save = True
p_isadding = False
Case "Save"
Update_Fields (p_isadding)
p_save = False
p_isadding = False
p_isediting = False
Case "Undo"
p_save = False
p_isadding = False
p_isediting = False
Case "Top"
p_save = False
p_isadding = False
p_isediting = False
datprimary.MoveFirst
Case "Prev"
p_save = False
p_isadding = False
p_isediting = False
datprimary.MovePrevious
Case "Next"
p_save = False
p_isadding = False
p_isediting = False
datprimary.MoveNext
Case "Last"
p_save = False
p_isadding = False
p_isediting = False
datprimary.MoveLast
Case "Delete"
p_save = False
p_isadding = False
p_isediting = False
p_isdeleting = True
p_isnavigate = False
With datprimary
.Delete
.MoveNext
p_isnavigate = True
If .BOF And .EOF Then .MoveLast
End With
End Select
Enable_Fields (Not p_save)
Enable_Buttons
If Not p_isadding Then Display_Fields
End Sub
Private Sub Enable_Buttons()
On Error Resume Next
Dim cur_rec, fst_rec, lst_rec, rec_cnt As Integer
Dim mark_rec As Variant
'datprimary.MoveLast
'datprimary.MoveFirst
rec_cnt = datprimary.RecordCount
'MsgBox rec_cnt
If rec_cnt > 0 Then
If Not datprimary.BOF Or Not datprimary.EOF Then
cur_rec = datprimary.AbsolutePosition + 1
mark_rec = datprimary.Bookmark
End If
datprimary.MoveFirst
fst_rec = datprimary.AbsolutePosition + 1
datprimary.MoveLast
lst_rec = datprimary.AbsolutePosition + 1
If Not datprimary.BOF Or Not datprimary.EOF Then
datprimary.Bookmark = mark_rec
End If
If fst_rec = cur_rec Then
p_top = False
p_prev = False
p_next = True
p_last = True
End If
If lst_rec = cur_rec Then
p_top = True
p_prev = True
p_next = False
p_last = False
End If
If (rec_cnt >= 0 And rec_cnt <= 1) Then
p_top = False
p_prev = False
p_next = False
p_last = False
End If
If cur_rec <> fst_rec And cur_rec <> lst_rec Then
p_top = True
p_prev = True
p_next = True
p_last = True
End If
End If
If rec_cnt = 0 Then 'And Not p_isadding Then
p_add = True
p_edit = False
p_undo = False
p_top = False
p_prev = False
p_next = False
p_last = False
p_del = False
End If
If rec_cnt > 0 And (Not p_isediting And Not p_isadding) Then
p_add = True
p_edit = True
p_del = True
End If
If Not p_isediting And Not p_isadding Then
p_save = False
p_undo = False
Else
p_save = True
p_undo = True
p_add = False
p_edit = False
p_top = False
p_prev = False
p_next = False
p_last = False
p_del = False
End If
cmdNew.Enabled = p_add
cmdEdit.Enabled = p_edit
cmdSave.Enabled = p_save
cmdUndo.Enabled = p_undo
cmdTop.Enabled = p_top
cmdPrev.Enabled = p_prev
cmdNext.Enabled = p_next
cmdLast.Enabled = p_last
cmdDel.Enabled = p_del
If p_del Then
cmdFind.Enabled = IIf(rec_cnt > 1, True, False)
Else
cmdFind.Enabled = False
End If
cmdExit.Enabled = Not cmdSave.Enabled
End Sub
Private Sub Object_Tab_Trigger(isTab As Boolean)
On Error Resume Next
txtField(1).TabStop = isTab
txtField(2).TabStop = isTab
End Sub
Function Get_Supplier_Code() As Boolean
On Error Resume Next
strs = "select * from SUPPLIER where SUPCODE = '" & txtField(0) & "'"
Set dummy = New adodb.Recordset
dummy.Open strs, myDB, 1, 3
'Set dummy = frmLogin.db.OpenRecordset(strs)
If Not dummy.EOF Then
Get_Supplier_Code = True
Else
Get_Supplier_Code = False
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -