Private Sub CmdOK_Click()Dim dbs As Database
Dim userDB As Database
Dim userRD As Recordset
Dim dbName As String
Dim strSQL As StringOn Error GoTo errEnddbName = App.Path
If Right(dbName, 1) <> "\" Then dbName = dbName + "\"
dbName = dbName + "DataBase\book.mdb"
strSQL = "select 状态 from 图书信息 where 图书编号=""" & TxtNo.Text & """ AND 状态=""借出"""Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)Set userRD = userDB.OpenRecordset(strSQL, dbOpenSnapshot)If userRD.Fields("状态") = "借出" Then
MsgBox "此书已借出!", vbOKOnly + vbExclamation, "借阅图书"
Else
userRD.Close
Set userRD = Nothing
Set dbs = OpenDatabase("database\book.mdb")
dbs.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型) " _
& "select 图书编号,图书名称,作者,出版社,类型 from 图书信息 where 图书编号=""" & TxtNo.Text & """"
dbs.Execute " UPDATE 借书记录 SET 读者名称=""" & userName & """,借阅时间=date(),反还时间=""未还"""
dbs.Execute " UPDATE 图书信息 SET 图书编号=""" & TxtNo.Text & """,状态=""借出"""
MsgBox "借阅超作成功完成!", vbOKOnly + vbExclamation, "借阅图书"
End If
Exit SuberrEnd:
MsgBox Err.Description, vbOKOnly + vbExclamation, "数据出错"End Sub--------------------------------------------------------------------
先从图书信息里查询书籍[状态]是否为“借出”,如果没有借出则把记录COPY到另一个表中.....
就是判断[状态]是否为“借出”那里有问题,请大虾指教
Dim userDB As Database
Dim userRD As Recordset
Dim dbName As String
Dim strSQL As StringOn Error GoTo errEnddbName = App.Path
If Right(dbName, 1) <> "\" Then dbName = dbName + "\"
dbName = dbName + "DataBase\book.mdb"
strSQL = "select 状态 from 图书信息 where 图书编号=""" & TxtNo.Text & """ AND 状态=""借出"""Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)Set userRD = userDB.OpenRecordset(strSQL, dbOpenSnapshot)If userRD.Fields("状态") = "借出" Then
MsgBox "此书已借出!", vbOKOnly + vbExclamation, "借阅图书"
Else
userRD.Close
Set userRD = Nothing
Set dbs = OpenDatabase("database\book.mdb")
dbs.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型) " _
& "select 图书编号,图书名称,作者,出版社,类型 from 图书信息 where 图书编号=""" & TxtNo.Text & """"
dbs.Execute " UPDATE 借书记录 SET 读者名称=""" & userName & """,借阅时间=date(),反还时间=""未还"""
dbs.Execute " UPDATE 图书信息 SET 图书编号=""" & TxtNo.Text & """,状态=""借出"""
MsgBox "借阅超作成功完成!", vbOKOnly + vbExclamation, "借阅图书"
End If
Exit SuberrEnd:
MsgBox Err.Description, vbOKOnly + vbExclamation, "数据出错"End Sub--------------------------------------------------------------------
先从图书信息里查询书籍[状态]是否为“借出”,如果没有借出则把记录COPY到另一个表中.....
就是判断[状态]是否为“借出”那里有问题,请大虾指教
解决方案 »
- 求子窗體關閉后保存父窗體控件狀態的方法
- 我是菜鸟,请问怎样打开一个EXCEL文件,十万火急
- 高手请进,如何得到mshflexgrid中的数据
- 2点多了 还这么多人在 呵呵
- Doevents 使用中的疑问???
- 急急急!为什么无法将在VSFlexGrid7.0控件中改动的数据保存到数据库中?
- DriveListBox、DirListBox、FileListBox三者如何如何关联起来?
- 到底该怎么办?
- ado 的find 问题,请各位指点
- VB、VC中有直接读写硬件的控件吗?抑或API函数?
- 如何实现取得另一台电脑的屏幕?
- 事情没有做完(不允许用户退出),用户点击窗口上的关闭按钮弹出一个消息框提示不允许.如何做?
Dim userDB As Database
Dim userRD As Recordset
Dim dbName As String
Dim strSQL As String
Dim UserName As String
On Error GoTo errEnd
dbName = App.path
If Right(dbName, 1) <> "\" Then dbName = dbName + "\"
dbName = dbName + "DataBase\book.mdb"
strSQL = "select 状态 from 图书信息 where 图书编号='" & Trim(TxtNo.Text) & "'"
Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)
Set userRD = userDB.OpenRecordset(strSQL, dbOpenSnapshot)
If userRD.Fields("状态") = "借出" Then
MsgBox "此书已借出!", vbOKOnly + vbExclamation, "借阅图书"
userRD.Close
Set userRD = Nothing
Else
userRD.Close
Set userRD = Nothing
userDB.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型) " _
& "select 图书编号,图书名称,作者,出版社,类型 from 图书信息 where 图书编号='" & Trim(TxtNo.Text) & "'"
userDB.Execute " UPDATE 借书记录 SET 读者名称='" & UserName & "',借阅时间='" & Date & "',反还时间='未还'"
userDB.Execute " UPDATE 图书信息 SET 状态='借出' Where 图书编号='" & Trim(TxtNo.Text) & "'"
userDB.Close
Set userDB = Nothing
MsgBox "借阅超作成功完成!", vbOKOnly + vbExclamation, "借阅图书"
End If
Exit Sub
errEnd:
MsgBox Err.Description, vbOKOnly + vbExclamation, "数据出错"End Sub
& "select 图书编号,图书名称,作者,出版社,类型 from 图书信息 where 图书编号='" & Trim(TxtNo.Text) & "'"
userDB.Execute " UPDATE 借书记录 SET 读者名称='" & UserName & "',借阅时间='" & Date & "',反还时间='未还'"改成:
userDB.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型,读者名称,借阅时间,返还时间) " _
& "select 图书编号,图书名称,作者,出版社,类型,'" & UserName & "','" & Date & "','未还'" _
& "from 图书信息 where 图书编号='" & Trim(TxtNo.Text) & "'"
就是insert into语句好象没有起作用?
借书记录表里除了借阅时间,其它都是文本字段
如果我不加判断,直接用
dbs.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型) " _
& "select 图书编号,图书名称,作者,出版社,类型 from 图书信息 where 图书编号=""" & TxtNo.Text & """"
dbs.Execute " UPDATE 借书记录 SET 读者名称=""" & userName & """,借阅时间=date(),反还时间=""未还"""
dbs.Execute " UPDATE 图书信息 SET 图书编号=""" & TxtNo.Text & """,状态=""借出"""是可以添加记录的
userDB.Execute " INSERT INTO 借书记录(图书编号,图书名称,作者,出版社,类型,读者名称,借阅时间,返还时间) " _
& "select 图书编号,图书名称,作者,出版社,类型,'" & UserName & "','" & Date & "','未还'" _
& "from 图书信息 where 图书编号='" & Trim(TxtNo.Text) & "'"
加不上记录,为什么啊?