5.4.4 出版社信息管理功能
在深刻地了解了5.4.3中的图书管理功能的代码实现后,对出版社信息管理的编程设计就容易得多了。出版社信息管理是对数据库中的“Publication”表中信息进行维护。因为实现的功能相对来说比较简单,本节将不再详细讲解,仅给出控件介绍和代码。
图5-16 出版社信息管理子窗体设计1
图5-17 出版社信息管理子窗体设计2
代码5-7 出版社信息管理功能代码
′****************************************************************************
Dim addnewflag As Boolean
′窗体加载
Private Sub Form_Load()
lblInfo.Left=Me.ScaleLeft
lblInfo.Top=Me.ScaleTop
lblInfo.Width=Screen.Width
sstabPubInfo.Top=lblInfo.Top+450
sstabPubInfo.Left=70
sstabPubInfo.Width=Screen.Width-200
sstabPubInfo.Height=Screen.Height-2650
DataGrid1.Top=lblInfo.Top+500
DataGrid1.Left=100
DataGrid1.Width=Screen.Width-550
DataGrid1.Height=Screen.Height-3300
DataGrid1.Visible=False
Set DataGrid1.DataSource=rsPubInfo
DataGrid1.ReBind
Frame2.Left=(Screen.Width-Frame2.Width)/2
Call display
End Sub
Private Sub cmdFirst_Click()
On Error Resume Next
rsPubInfo.MoveFirst
Call display
End Sub
Private Sub cmdLast_Click()
On Error Resume Next
rsPubInfo.MoveLast
Call display
End Sub
Private Sub cmdNext_Click()
On Error Resume Next
rsPubInfo.MoveNext
If rsPubInfo.EOF Then
rsPubInfo.MoveLast
MsgBox″最后一条记录″,vbInformation,″最后一条记录″
Else
Call display
End If
End Sub
Private Sub cmdPrevious_Click()
On Error Resume Next
rsPubInfo.MovePrevious
If rsPubInfo.BOF Then
rsPubInfo.MoveFirst
MsgBox″已是第一条记录″,vbInformation,″已是第一条记录″
Else
Call display
End If
End Sub
′取消
Private Sub cmdCancel_Click()
cmdAddNew.Enabled=True
cmdDel.Enabled=True
cmdFirst.Enabled=True
cmdLast.Enabled=True
cmdPrevious.Enabled=True
cmdNext.Enabled=True
cmdCancel.Enabled=False
rsPubInfo.CancelUpdate
Call display
End Sub
′添加记录
Private Sub cmdAddNew_Click()
On Error Resume Next
Call clear
Dim i As Integer
Dim max As Integer
max=0
addnewflag=True
cmdAddNew.Enabled=False
For i=0To rsPubInfo.RecordCount
If max<rsPubInfo(0)Then
max=rsPubInfo(0)
End If
rsPubInfo.MoveNext
Next i
rsPubInfo.MoveFirst
cmdCancel.Enabled=True
cmdDel.Enabled=False
cmdFirst.Enabled=False
cmdLast.Enabled=False
cmdPrevious.Enabled=False
cmdNext.Enabled=False
rsPubInfo.AddNew
txtpubId.Text=max+1
txtPubName.SetFocus
End Sub
′删除记录
Private Sub cmdDel_click()
On Error Resume Next
If MsgBox(″确认删除么?″,vbOKCancel+vbExclamation,″删除记录″)=vbOK Then
rsPubInfo.Delete
rsPubInfo.MoveNext
If rsPubInfo.EOF Then
rsPubInfo.MoveLast
MsgBox″最后一条记录″
End If
Call display
End If
End Sub
′保存记录
Private Sub cmdsave_click()
On Error Resume Next
If txtpubId.Text=″″Or txtPubName.Text=″″Then
MsgBox″保存错误!!!数据添加失败!″,vbCritical,″添加全部数据″
txtpubId.SetFocus
Exit Sub
End If
Call assign
rsPubInfo.Save
MsgBox″保存成功″,vbInformation,″已保存成功″
cmdDel.Enabled=True
cmdFirst.Enabled=True
cmdLast.Enabled=True
cmdPrevious.Enabled=True
cmdNext.Enabled=True
cmdAddNew.Enabled=True
cmdCancel.Enabled=False
Exit Sub
End Sub
′清除功能函数
Private Sub clear()
txtpubId.Text=″″
txtPubName.Text=″″
End Sub
′Display函数定义
Private Sub display()
cmdCancel.Enabled=False
txtpubId.Text=Str(rsPubInfo(0))&″″
txtPubName.Text=rsPubInfo(1)&″″
End Sub
Private Sub assign()
If addnewflag=True Then
rsPubInfo(0)=Val(Trim$(txtpubId.Text))
rsPubInfo(1)=Trim$(txtPubName.Text)
addnewflag=False
Else
rsPubInfo(0)=Val(Trim$(txtpubId.Text))
rsPubInfo(1)=Trim$(txtPubName.Text)
End If
End Sub
Private Sub sstabPubInfo_Click(PreviousTab As Integer)
If PreviousTab=0Then
DataGrid1.Visible=True
Else
DataGrid1.Visible=False
End If
End Sub
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。