📄 editbook.frm
字号:
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 210
Index = 1
Left = 360
TabIndex = 9
Top = 1320
Width = 690
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "价 格"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 210
Index = 2
Left = 3960
TabIndex = 8
Top = 1920
Width = 690
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "类 别"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 210
Index = 3
Left = 3960
TabIndex = 7
Top = 1320
Width = 690
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "出版社"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 210
Index = 4
Left = 360
TabIndex = 6
Top = 1920
Width = 675
End
End
End
Attribute VB_Name = "EditBook"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' **********************************************************************
' 描 述:银龙图书管理系统
' 中国VB网收集整理 http://www.ChinaVB.net
' QQ交流群:13047826 14356878
' 发表源码或文章请发邮件到:info@chinavb.net
' **********************************************************************Dim i As Integer
'定义数据库和记录,以便调用数据库
Dim db As Database
Dim rst As Recordset
Dim Rec As Integer
Dim db1 As Database
Dim rst1 As Recordset
'定义StrFlag为字符型变量,定义NumFlag为布尔型变量
Dim StrFlag As String
Dim NumFlag As Boolean
Private Sub cmdOkCancel_Click(Index As Integer)
Select Case Index
Case 0 '修改、删除、查找按钮控件数组
If StrFlag = "修改" Then
'修改、保存、更新并显示
rst.Edit
WriteIn
rst.Update
Disp
'Picture2图片框消失
'此图片框上有确定和取消按钮
Picture2.Visible = False
'Picture1图片框出现
'此图片框上有Toolbar1控件,Toolbar1控件上有最前、前一个、后一个、最后和修改、删除、查找按钮
Picture1.Visible = True
SetTxt (False)
ElseIf StrFlag = "删除" Then
'删除当前记录,并定位到上一个记录
rst.Delete
rst.MovePrevious
'如果是最前记录,则定位到下一条记录
If rst.BOF Then rst.MoveNext
'调用Disp过程,将数据库字段分别赋给相应变量
Disp
'显示Picture2控件,隐藏Picture1控件
Picture2.Visible = False
Picture1.Visible = True
End If
Case 1
'调用Disp过程
Disp
'隐藏Picture2控件,显示Picture1控件
Picture2.Visible = False
Picture1.Visible = True
'调用SetTxt过程,设置所有输入框不可用
SetTxt (False)
End Select
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
'打开Database目录下的Data.mdb数据库并打开Book表
DBpath = App.Path + "\DataBase\Data.mdb"
Set db = Workspaces(0).OpenDatabase(DBpath, False)
Set rst = db.OpenRecordset("Book", dbOpenTable)
'对图书编号建立索引,方便以后查询
rst.Index = "图书编号"
'打开Database目录下的Data.mdb数据库并打开Type表
Set db1 = Workspaces(0).OpenDatabase(DBpath, False)
Set rst1 = db1.OpenRecordset("Type", dbOpenTable)
'将记录总数赋给变量Rec
Rec = rst.RecordCount
'如果没有记录,使Toolbar1控件不可用
'Toolbar1控件上有最前、前一个、后一个、最后和修改、删除、查找按钮
If Rec = 0 Then
Toolbar1.Enabled = False
SetTxt (False)
End If
'使所有输入框不可用
SetTxt (False)
'将记录号定位到最前
rst.MoveFirst
'调用Disp和TypeAdd过程
Disp
TypeAdd
'Picture1显示,Picture2隐藏
Picture1.Visible = True
Picture2.Visible = False
NumFlag = False
End Sub
'定义Disp过程,将数据库字段赋给相应变量
Private Sub Disp()
txtBookNum = rst.Fields("图书编号") & vbNullString
txtBookName = rst.Fields("书名") & vbNullString
txtCost = rst.Fields("价格") & Empty
txtBookChu = rst.Fields("出版社") & vbNullString
Combo1.Text = rst.Fields("类别") & vbNullString
End Sub
'定义Kong过程,使所有输入框为空
Private Sub Kong()
txtBookNum.Text = ""
txtBookName.Text = ""
txtCost.Text = ""
txtBookChu.Text = ""
Combo1.Text = ""
End Sub
'定义SetTxt过程,控制输入框是否可用
Private Sub SetTxt(Bool As Boolean)
txtBookNum.Enabled = Bool
txtCost.Enabled = Bool
txtBookName.Enabled = Bool
txtBookChu.Enabled = Bool
Combo1.Enabled = Bool
End Sub
'关闭窗体时,关闭所有打开的数据库
Private Sub Form_Unload(Cancel As Integer)
rst.Close
rst1.Close
db1.Close
db.Close
End Sub
'Toolbar1控件,此控件包含最前、前一个、后一个、最后和修改、删除、查找共7个按钮
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1 '最前按钮
rst.MoveFirst
Disp
Case 2 '前一个按钮
rst.MovePrevious
If rst.BOF Then
rst.MoveNext
Exit Sub
End If
Disp
Case 3 '后一个按钮
rst.MoveNext
If rst.EOF Then
rst.MovePrevious
Exit Sub
End If
Disp
Case 4 '最后按钮
rst.MoveLast
Disp
Case 10 '修改按钮
StrFlag = "修改"
'使所有输入框可用
SetTxt (True)
labFlag.Caption = "您确实要修改当前记录吗?"
Picture1.Visible = False
Picture2.Visible = True
Case 11 '删除按钮
StrFlag = "删除"
labFlag.Caption = "您确实要删除当前记录吗?"
Picture1.Visible = False
Picture2.Visible = True
Case 12 '查找按钮
'显示Searchid(查找图书编号)窗体
Searchid.Show (1)
If SearchFlag = True Then
'将输入的编号和数据库对比,如果没有找到给出提示
rst.Seek "=", BookBianHao
If rst.NoMatch Then
MsgBox "没有此图书编号!", 0 + 48, "查找失败"
Exit Sub
End If
'显示图书信息
Disp
SearchFlag = False
End If
End Select
End Sub
'定义WriteIn过程,将输入框信息的保存到数据库
Private Sub WriteIn()
rst.Fields("图书编号") = txtBookNum.Text
rst.Fields("书名") = txtBookName.Text
rst.Fields("价格") = Val(txtCost.Text)
rst.Fields("出版社") = txtBookChu.Text
rst.Fields("类别") = Combo1.Text
End Sub
'定义TypeAdd过程,使Combo1组合框显示数据库中的所有类型
Private Sub TypeAdd()
rst1.MoveLast
rst1.MoveFirst
For i = 1 To rst1.RecordCount
Combo1.AddItem rst1.Fields("类别")
rst1.MoveNext
'如果到记录末尾,退出本过程
If rst1.EOF Then Exit Sub
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -