cpform.frm

来自「一套VB完整的灯具销售管理系统设计」· FRM 代码 · 共 730 行 · 第 1/2 页

FRM
730 行
字号
 If delete.Caption = "放弃" Then
     DBGrid1.Enabled = True
     add.Enabled = True
     Find.Enabled = True
    '移动按钮,全解
     First.Enabled = True
     Previous.Enabled = True
     Nextbutton.Enabled = True
     Last.Enabled = True
    add.Caption = "添加产品"
    delete.Caption = "删除产品"
    closeform.Enabled = True
    pmtxt.Enabled = False
    djtxt.Enabled = False
    Data1.Recordset.CancelUpdate
    '判断库是否为空
Dim Db As Database, ef As Recordset, CountNum As Integer, xy As Integer
  Set Db = OpenDatabase(appData)
  Set ef = Db.OpenRecordset("cpk", dbOpenTable)
  CountNum = ef.RecordCount
  zs.Caption = CountNum
  If CountNum = 0 Then
     add.Enabled = True
     delete.Enabled = False
     First.Enabled = False
     Previous.Enabled = False
     Nextbutton.Enabled = False
     Last.Enabled = False
     Find.Enabled = False
     Nextfind.Enabled = False
     Else
      add.Enabled = True
      delete.Enabled = True
      First.Enabled = True
      Previous.Enabled = True
      Nextbutton.Enabled = True
      Last.Enabled = True
      Find.Enabled = True
      End If
      Db.Close
    Exit Sub
    End If
    '以下为删除代码
    
  Set Db = OpenDatabase(appData)
  Set ef = Db.OpenRecordset("cpk", dbOpenTable)
  CountNum = ef.RecordCount
  zs.Caption = CountNum
  If CountNum = 0 Then
     MsgBox "已经没有产品了,拒绝删除!", vbOKOnly + 48, "下次再来吧!"
     delete.Enabled = False
     Find.Enabled = False
     Nextfind.Enabled = False
     First.Enabled = False
     Previous.Enabled = False
     Nextbutton.Enabled = False
     Last.Enabled = False
     Db.Close
     Exit Sub
     End If
     
     '删除记录
     
     xy = MsgBox("同意删除当前产品及参数吗?( " & Trim(pmtxt.Text) & " )", 4 + 16, "确认删除")
      If xy = 6 Then
         Data1.Recordset.delete
         Data1.Recordset.MoveNext
         If Data1.Recordset.EOF Then
            Data1.Recordset.MovePrevious
           End If
           '检测是否为空
             Set Db = OpenDatabase(appData)
              Set ef = Db.OpenRecordset("cpk", dbOpenTable)
            CountNum = ef.RecordCount
            zs.Caption = CountNum
             If CountNum = 0 Then
               MsgBox "已经没有产品了,拒绝删除!", vbOKOnly + 48, "下次再来吧!"
               delete.Enabled = False
                First.Enabled = False
                Previous.Enabled = False
                Nextbutton.Enabled = False
                Last.Enabled = False
                Find.Enabled = False
                Nextfind.Enabled = False
                Db.Close
                Exit Sub
                End If
                Else
                Exit Sub
       End If
End Sub

Private Sub djtxt_Change()
If Trim(pmtxt.Text) <> "" And Val(djtxt.Text) > 0 Then
  add.Enabled = True
  Else
  add.Enabled = False
  End If
End Sub

Private Sub djtxt_Click()
djtxt.SelStart = 0
djtxt.SelLength = Len(Trim(djtxt.Text))
End Sub

Private Sub djtxt_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If add.Enabled = True Then
       add.SetFocus
       Else
       Exit Sub
       End If
   End If
  If KeyAscii = 8 Then
   If Val(Trim(djtxt.Text)) = 0 Then
        KeyAscii = 0
      Else
        djtxt.Text = Left(djtxt.Text, (Len(djtxt.Text) - 1))
        djtxt.SelStart = Len(djtxt.Text)
        
      End If
      End If
If KeyAscii = 47 Or KeyAscii < 46 Or KeyAscii > 58 Then
      KeyAscii = 0
      End If
End Sub

Private Sub Find_Click()
cpform.MousePointer = 11
Load findForm
cpform.MousePointer = 0
findForm.Show 1
End Sub

Private Sub First_Click()

Data1.Recordset.MoveFirst
First.Enabled = False
Previous.Enabled = False

'如果为一条记录时,下翻和到尾为不能用
Dim Db As Database, ef As Recordset, CountNum As Integer, xy As Integer
  Set Db = OpenDatabase(appData)
  Set ef = Db.OpenRecordset("cpk", dbOpenTable)
  CountNum = ef.RecordCount
  If CountNum = 1 Then
    Last.Enabled = False
    Nextbutton.Enabled = False
    Else
    Last.Enabled = True
    Nextbutton.Enabled = True
    End If
    Db.Close
End Sub

Private Sub Form_Load()

'声明数据库路径
Data1.DatabaseName = appData
Data1.RecordSource = "select 品名,单价 from cpk order by 品名"

'判断库是否为空
Dim Db As Database, ef As Recordset, CountNum As Integer, xy As Integer
  Set Db = OpenDatabase(appData)
  Set ef = Db.OpenRecordset("cpk", dbOpenTable)
  CountNum = ef.RecordCount
  zs.Caption = CountNum
  If CountNum = 0 Then
     add.Enabled = True
     delete.Enabled = False
     First.Enabled = False
     Previous.Enabled = False
     Nextbutton.Enabled = False
     Last.Enabled = False
     Find.Enabled = False
     Else
      add.Enabled = True
      delete.Enabled = True
      First.Enabled = True
      Previous.Enabled = True
      Nextbutton.Enabled = True
      Last.Enabled = True
      Find.Enabled = True
      End If
     Db.Close
     
    '设定到首及上翻按钮为无效
    First.Enabled = False
    Previous.Enabled = False
    
End Sub

Private Sub Last_Click()
Data1.Recordset.MoveLast
Last.Enabled = False
Nextbutton.Enabled = False

'如果为一条记录时,上翻和到首为不能用
Dim Db As Database, ef As Recordset, CountNum As Integer, xy As Integer
  Set Db = OpenDatabase(appData)
  Set ef = Db.OpenRecordset("cpk", dbOpenTable)
  CountNum = ef.RecordCount
  If CountNum = 1 Then
    First.Enabled = False
    Previous.Enabled = False
    Else
    First.Enabled = True
    Previous.Enabled = True
    End If

End Sub

Private Sub Nextbutton_Click()

'判断是否到记录尾
If Data1.Recordset.EOF Then
   Last.Enabled = False
   Nextbutton.Enabled = False
   Else
   Last.Enabled = True
   Nextbutton.Enabled = True
   End If
   
'判断是否到记录头
If Data1.Recordset.BOF Then
   First.Enabled = False
   Previous.Enabled = False
   Else
   First.Enabled = True
   Previous.Enabled = True
   End If
   
'执行下翻操作
   Data1.Recordset.MoveNext
   
   '判断是否到记录尾
If Data1.Recordset.EOF Then
   Last.Enabled = False
   Nextbutton.Enabled = False
   Else
   Last.Enabled = True
   Nextbutton.Enabled = True
   End If
   
'判断是否到记录头
If Data1.Recordset.BOF Then
   First.Enabled = False
   Previous.Enabled = False
   Else
   First.Enabled = True
   Previous.Enabled = True
   End If
   
   '继续下翻
   On Error GoTo lastrecord
   Data1.Recordset.MoveNext
   '判断是否到记录尾
   
If Data1.Recordset.EOF Then
   Last.Enabled = False
   Nextbutton.Enabled = False
   Data1.Recordset.MoveLast
   Else
   Last.Enabled = True
   Nextbutton.Enabled = True
   Data1.Recordset.MovePrevious
   End If
   Exit Sub
   
lastrecord:
   Call Last_Click
   
End Sub

Private Sub Nextfind_Click()
Data1.Recordset.FindNext PublicFindstr
If Data1.Recordset.NoMatch Then
     MsgBox "没有查找到您的产品", vbOKOnly + 48, "查找产品"
     '查找下一个为假
     Nextfind.Enabled = False
        Exit Sub
        End If

End Sub

Private Sub pmtxt_Change()
If Trim(pmtxt.Text) <> "" And Val(djtxt.Text) > 0 Then
  add.Enabled = True
  Else
  add.Enabled = False
  End If
End Sub

Private Sub pmtxt_Click()
pmtxt.SelStart = 0
pmtxt.SelLength = Len(Trim(pmtxt.Text))
End Sub

Private Sub pmtxt_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
   djtxt.SetFocus
   End If
End Sub

Private Sub Previous_Click()

'判断是否到记录尾
If Data1.Recordset.EOF Then
   Last.Enabled = False
   Nextbutton.Enabled = False
   Else
   Last.Enabled = True
   Nextbutton.Enabled = True
   End If
   
'判断是否到记录头
If Data1.Recordset.BOF Then
   First.Enabled = False
   Previous.Enabled = False
   Else
   First.Enabled = True
   Previous.Enabled = True
   End If
   
'执行操作

Data1.Recordset.MovePrevious

'判断是否到记录尾
If Data1.Recordset.EOF Then
   Last.Enabled = False
   Nextbutton.Enabled = False
   Else
   Last.Enabled = True
   Nextbutton.Enabled = True
   End If
   
'判断是否到记录头
If Data1.Recordset.BOF Then
   First.Enabled = False
   Previous.Enabled = False
     Else
    First.Enabled = True
    Previous.Enabled = True
    End If
    
    '继续上翻
    On Error GoTo firstrecord
    Data1.Recordset.MovePrevious
    
   If Data1.Recordset.BOF Then
          First.Enabled = False
          Previous.Enabled = False
          Data1.Recordset.MoveFirst
            Else
          First.Enabled = True
          Previous.Enabled = True
          Data1.Recordset.MoveNext
               End If
               Exit Sub
firstrecord:
               Call First_Click
   
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?