开发工具:
文件大小: 213kb
下载次数: 0
上传时间: 2010-04-16
详细说明: vb学习源码 Dim rs As ADODB.Recordset Dim SQL As String Dim msg As String Dim Index As Integer Dim flag As String '判断是新增记录还是修改记录 Private Sub Form_Load() Call LoadData '装载数据 If rs.RecordCount > 0 Then Call ShowData '显示数据 Else '移动控件不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index End If '编辑控件可用性 CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = False End Sub Private Function CheckData() As Boolean '检查数据的合法性 Dim rst As ADODB.Recordset Dim msgt As String msgt = "" '检查数据 If Trim(txtItem(0).Text) = "" Then '检查数据是否为空 msgt = "分类号为空; " ElseIf Not Len(Trim(txtItem(0).Text)) = 2 Then '检查分类号是否为2位 msgt = "分类号不是2位; " End If If Trim(txtItem(1).Text) = "" Then '检查分类名称是否为空 msgt = msgt & " 分类名称为空; " End If If Not msgt = "" Then '如果不为空,给出错误提示 MsgBox (msgt) CheckData = False '返回False Exit Function End If '检查唯一性 SQL = " select * from 文献类型表 where 分类号='" & Trim(txtItem(0).Text) & "'" Set rst = SelectSQL(SQL, msg) If flag = "Add" And rst.RecordCount > 0 Then '如果是进行添加操作且已经存在该记录,提示重复添加 MsgBox ("该分类的信息已经存在,重复添加!") rst.Close CheckData = False '返回False Exit Function End If CheckData = True '合法返回True rst.Close End Function Private Sub LoadData() '装载数据 Set rs = Nothing SQL = "SELECT * FROM 文献类型表 ORDER BY 分类号 " Set rs = SelectSQL(SQL, msg) Set Me.DataGrid1.DataSource = rs DataGrid1.Refresh End Sub Private Sub ShowData() '在控件中显示数据 If rs.RecordCount <> 0 Then '如果存在记录 '为控件赋值 For Index = 0 To 2 If rs.Fields(Index) <> "" Then '如果不为空 txtItem(Index).Text = rs.Fields(Index) Else txtItem(Index).Text = "" End If txtItem(Index).Enabled = False '控件不可用 Next Index End If End Sub Private Sub CmdMove_Click(Index As Integer) '移动记录 Select Case Index Case Is = 0 '移到第一条记录 If Not rs.BOF Then rs.MoveFirst Case Is = 1 '移到上一条记录 If rs.RecordCount <> 0 Then If rs.BOF = False Then rs.MovePrevious If rs.BOF = True Then rs.MoveFirst End If Case Is = 2 '移到下一条记录 If rs.RecordCount <> 0 Then If rs.EOF = False Then rs.MoveNext If rs.EOF = True Then rs.MoveLast End If Case Is = 3 '移到最后一条记录 If rs.RecordCount <> 0 Then If Not rs.EOF = True Then rs.MoveLast End If End Select Call ShowData End Sub Private Sub CmdAdd_Click() '添加操作 '清空文本框,文本框可用 For Index = 0 To 2 txtItem(Index).Text = "" txtItem(Index).Enabled = True Next Index '设置标志flag,表示所进行的操作为添加 flag = "Add" '所有移动按钮不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index '添加、修改、删除按钮不可用,取消、保存按钮可用 CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = True: CmdSave.Enabled = True End Sub Private Sub CmdModify_Click() '修改操作 If rs.RecordCount > 0 Then '如果存在记录 '文本框可用,分类号不可以修改 For Index = 1 To 2 txtItem(Index).Enabled = True Next Index txtItem(0).Enabled = False '设置标志flag,表示所进行的操作为修改 flag = "Modify" '移动控件不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index '添加、修改、删除按钮不可用,取消、保存按钮可用 CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = True: CmdSave.Enabled = True Else MsgBox ("没有可以修改的数据!") End If End Sub Private Sub CmdDelete_Click() '删除操作 On Error GoTo ErrMsg '错误处理 If rs.RecordCount > 0 Then msg = MsgBox("删除该条记录吗?", vbYesNo) If msg = vbYes Then rs.Delete Call LoadData '重新装载数据 '清空文本框、并不可用 For Index = 0 To 2 txtItem(Index).Text = "" txtItem(Index).Enabled = False Next Index '所有移动控件不可用 If rs.RecordCount = 0 Then For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index End If '添加、删除按钮可用,修改、取消、保存按钮不可用 CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = False MsgBox ("成功删除的数据!") End If Else MsgBox ("没有可删除的数据!") End If Exit Sub ErrMsg: '报告出错信息 MsgBox Err.Description, vbExclamation, "出错" End Sub Private Sub cmdCancel_Click() '取消操作 Call ShowData '重新在控件中显示信息 '所有移动控件可用 For Index = 0 To 3 CmdMove(Index).Enabled = True Next Index '修改、删除、添加按钮可用,保存和取消按钮不可用 CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = False End Sub Private Sub CmdSave_Click() On Error GoTo ErrMsg If Not CheckData Then Exit Sub '如果数据不合法就退出 If flag = "Modify" Then '如果是修改数据 msg = MsgBox("您确实要修改这条数据吗?", vbYesNo) If msg = vbYes Then For Index = 0 To 2 If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text txtItem(Index).Enabled = False Next Index Else Exit Sub End If ElseIf flag = "Add" Then '如果是添加新数据 rs.AddNew For Index = 0 To 2 If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text Next Index End If rs.Update '更新数据 Call LoadData '重新装载数据 '移动控件可用 For Index = 0 To 3 CmdMove(Index).Enabled = True Next Index CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = False If flag = "Add" Then MsgBox ("成功添加数据!") Else MsgBox ("成功更新数据!") End If If rs.RecordCount <> 0 Then '如果存在记录 rs.MoveFirst rs.Find ("分类号='" & Trim(txtItem(0).Text) & "'") '定位到添加或修改记录 End If Exit Sub ErrMsg: MsgBox Err.Description, vbExclamation, "出错" End Sub Private Sub CmdExit_Click() '退出操作 图书管理系统.Enabled = True rs.Close Unload Me End Sub Private Sub Form_Unload(Cancel As Integer) '退出操作 图书管理系统.Enabled = True Unload Me End Sub ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.