仓管员 选择供应商
供应商 选择品种 Book 进货记录 退货登记 退货记录 图13.退货子系统流程图
8.5系统详细设计说明书
8.5.1系统模块汇总 模块名 类型 原型或声明 模块说明 CheckUser 子程Public Sub CheckUser(userID 用户帐号、序 As String, passwd As String) 密码验证和身份鉴别 LogOff 子程Public Sub LogOff() 注销模块 序 Sys_exit 子程Public Sub Sys_exit() 系统退出摸序 块 Form_Load 子程Private Sub Form_Load() 初始化模序 块,连接数据库 GetHYDaZhe 函数 Public Function 提取会员政GetHYDaZhe(bianHao As 策的会员优String) As String 惠办法 GetKuCun 函数 Public Function 获取、检验GetKuCun(bianHao As String) 图书现有库As String 存量 HYShengJi 函数 Public Function 会员升级维HYShengJi(HYKaHao As String) 护 As Boolean CmdSellBook_Click 子程Private Sub 图书销售模序 CmdSellBook_Click() 块 checkGYSID 函数 Public Function 检验数据表checkGYSID(UID As String) As 主键,避免Boolean 插入错误 checkFenLei 函数 Public Function 检测图书分checkFenLei(UID As String) As 类是否已经Boolean 存在 CmdNewFenLei_Click 子程Private Sub 创建类别 序 CmdNewFenLei_Click() checkUserID 函数 Public Function 检测用户帐checkUserID(UID As String) As 号是否存在 Boolean CmdChgPass_Click 子程Private Sub 修改密码 序 CmdChgPass_Click() CmdRegMe_Click 子程Private Sub CmdRegMe_Click() 创建员工、序 会员帐号 GetJinJia 函数 Public Function 提取图书进GetJinJia(bianHao As String) 价 As String CmdTH_Click 子程Private Sub CmdTH_Click() 退货模块 序 CmdSaveContinue_Click 子程Private Sub 供应商信息序 CmdSaveContinue_Click() 登记 注:其他模块(略) 8.5.2系统核心模块详解 全局变量定义:
'用户身份标志
Public UserShenFen As String '登陆状态
Public logOK As Boolean '用户名
Public userName As String '供应商编号
Public GongYingShangID As String '供应商
Public GongYingShang As String '图书编号
Public TuShuBianHao As String '定价
Public DingJia As String '书名
Public ShuMing As String '会员卡号
Public HuiYuanKaHao As String '会员姓名
Public HYXingMing As String '会员等级
Public HYDengJi As String 模块名:CheckUser
原型:Public Sub CheckUser(userID As String, passwd As String) 代码:
Public Sub CheckUser(userID As String, passwd As String)
Dim userDB As Database Dim userRD As Recordset Dim dbName As String Dim STRSQL As String
Screen.MousePointer = 11
On Error GoTo errEnd
dbName = App.Path
If Right(dbName, 1) <> \dbName = dbName + \
STRSQL = \[用户身份] from [Admin] where [用户ID]=\& userID & \用户密码]=\
'打开数据库
Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)
'检索用户,验证密码
Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot)
If userRD.RecordCount > 0 Then '设置用户身份
UserShenFen = userRD![用户身份] '关闭数据库 userRD.Close
Set userRD = Nothing userDB.Close
Set userDB = Nothing
'进入用户环境 Load FrmMain FrmMain.Show Unload FrmLogIn logOK = True
userName = userID
Screen.MousePointer = vbDefault Else
'关闭数据库 userRD.Close
Set userRD = Nothing userDB.Close
Set userDB = Nothing logOK = False
Screen.MousePointer = vbDefault MsgBox \用户名或密码错误!请重新输入!\vbOKOnly + vbExclamation, \登陆失败\
End If Exit Sub
errEnd:
Screen.MousePointer = vbDefault
MsgBox Err.Description, vbOKOnly + vbExclamation, \登陆错误\ logOK = False Err.Clear '关闭数据库 userRD.Close
Set userRD = Nothing userDB.Close
Set userDB = Nothing Exit Sub End Sub
模块名:LogOff
模块原型:Public Sub LogOff() 代码:
Public Sub LogOff() Dim retVal As Integer
retVal = MsgBox(\你确定要注销吗?\注销当前用户\
If retVal = vbCancel Then Exit Sub Load FrmLogIn FrmLogIn.Show
If UserShenFen = \经理\ Unload FrmAdminMain
ElseIf UserShenFen = \仓库管理员\ Unload FrmCangGuanMain
ElseIf UserShenFen = \售书员\ Unload FrmBookSellerMain ElseIf UserShenFen = \会员\ Unload FrmMemberMain Else
Unload FrmGuestMain End If
Unload FrmMain UserShenFen = \logOK = False End Sub
模块名:Sys_exit
模块原型:Public Sub Sys_exit() 代码:
Public Sub Sys_exit()
Dim retVal As Integer
retVal = MsgBox(\你确定要退出吗?\退出系统\
If retVal = vbCancel Then Exit Sub
If UserShenFen = \经理\ Unload FrmAdminMain
ElseIf UserShenFen = \仓库管理员\ Unload FrmCangGuanMain
ElseIf UserShenFen = \售书员\ Unload FrmBookSellerMain ElseIf UserShenFen = \会员\ Unload FrmMemberMain Else
Unload FrmGuestMain End If
Unload FrmMain End End Sub
模块名:Form_Load
模块原型:Private Sub Form_Load() 代码:
Private Sub Form_Load() Dim dbName As String Dim connSTR As String
On Error GoTo errEnd
ChDir App.Path dbName = App.Path
If Right(dbName, 1) <> \dbName = dbName + \
connSTR = \& \
Adodc1.ConnectionString = connSTR
Exit Sub
errEnd:
MsgBox \连接数据库失败!\打开数据库出错\
End End Sub
模块名:GetHYDaZhe
模块原型:Public Function GetHYDaZhe(bianHao As String) As String 代码:
Public Function GetHYDaZhe(bianHao As String) As String On Error GoTo errEnd
If bianHao = \☆☆☆☆☆\ GetHYDaZhe = \ Exit Function End If
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \打折] from [会员政策] where [会员级别]=\
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
GetHYDaZhe = Adodc1.Recordset!打折 Else
MsgBox \会员政策数据丢失,请与经理联系!\vbExclamation, \检索错误\
GetHYDaZhe = \End If
Exit Function errEnd:
MsgBox \检索数据库出错!\检索错误\ GetDingJia = \未知\End Function
模块名:GetKuCun
模块原型:Public Function GetKuCun(bianHao As String) As String 代码:
Public Function GetKuCun(bianHao As String) As String On Error GoTo errEnd
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \库存量] from [Book] where [图书编号]=\
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
GetKuCun = Adodc1.Recordset!库存量 Else
MsgBox \图书资料数据丢失,请与经理联系!\vbExclamation, \检索错误\
GetKuCun = \End If
Exit Function errEnd:
MsgBox \检索数据库出错!\检索错误\ GetDingJia = \未知\End Function
模块名:HYShengJi
模块原型:Public Function HYShengJi(HYKaHao As String) As Boolean 代码:
Public Function HYShengJi(HYKaHao As String) As Boolean On Error GoTo errEnd Dim BiaoZhun As Integer Dim SUMBook As Integer
If HYKaHao = \ HYShengJi = False Exit Function End If
BeginTrans
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \实收金额]) as [总金额] from [售书记录] where [会员卡号]=\
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
SUMBook = CInt(Adodc1.Recordset!总金额) Else
SUMBook = 0 End If
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \会员标准] from [会员政策] where [会员级别]='★☆☆☆☆'\
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
BiaoZhun = CInt(Adodc1.Recordset!会员标准)
If SUMBook >= BiaoZhun Then
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \会员表] where [会员卡号]=\
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst
Adodc1.Recordset!会员等级 = \★☆☆☆☆\ Adodc1.Recordset.Update End If End If
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \会员标准] from [会员政策] where [会员级别]='★★☆☆☆'\
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
BiaoZhun = CInt(Adodc1.Recordset!会员标准)
If SUMBook >= BiaoZhun Then
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = \会员表] where [会员卡号]=\