查询后的记录我用datagrid控件显示,现在想实现这样的功能:
选择其中的一条记录,就会在下面的一些textbox中显示对应的字段值;修改这些值后,点击保存按钮就可以将修改后的记录保存到数据库中相应的表中,并且datagrid同步更新。
请教各位高手给一些提示,最好能写下实现的代码,多谢!!
贴出部分代码参考:
Option ExplicitPublic db As ADODB.Connection
Public rs As ADODB.Recordset
Public strSql As StringPrivate Sub ConnAccessDb() Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
strSql = "select ISBN as ISBN,BookName as 书名,Author as 作者,Publisher as 出版社,Version as 版本,PublishDate as 出版日期,InitialPrice as 原价,HasCD as 光盘,BookNumber as 数量,BuyPrice as 进价,BuyDate as 购买日期,Provider as 供货商,Transactor as 经手人 from Book"
'MsgBox strSql
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\book.mdb"
rs.CursorLocation = adUseClient
rs.Open strSql, db, adOpenKeyset, adLockOptimistic
End SubPrivate Sub ConnAccessDatabase() Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
strSql = "select ISBN as ISBN,BookName as 书名,Author as 作者,Publisher as 出版社,Version as 版本,PublishDate as 出版日期,InitialPrice as 原价,HasCD as 光盘,BookNumber as 数量,BuyPrice as 进价,BuyDate as 购买日期,Provider as 供货商,Transactor as 经手人 from Book where BookName Like '%" & Trim(Text2.Text) & "%'"
'MsgBox strSql
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\book.mdb"
rs.CursorLocation = adUseClient
rs.Open strSql, db, adOpenKeyset, adLockOptimistic
End SubPrivate Sub Command1_Click() '模糊查询 If Text2.Text = "" Then
MsgBox "请填写书名.", vbOKOnly + vbInformation, "提示"
Text2.SetFocus
Exit Sub
End If
Call ConnAccessDatabase
If rs.EOF Then
MsgBox "没有找到这本书,请重新输入查询条件!", vbOKOnly + vbInformation, "提示"
Text2.Text = ""
Text2.SetFocus
Exit Sub
Else
Set DataGrid1.DataSource = rs
End IfEnd SubPrivate Sub Form_Load() Call ConnAccessDb
Set DataGrid1.DataSource = rsEnd Sub
选择其中的一条记录,就会在下面的一些textbox中显示对应的字段值;修改这些值后,点击保存按钮就可以将修改后的记录保存到数据库中相应的表中,并且datagrid同步更新。
请教各位高手给一些提示,最好能写下实现的代码,多谢!!
贴出部分代码参考:
Option ExplicitPublic db As ADODB.Connection
Public rs As ADODB.Recordset
Public strSql As StringPrivate Sub ConnAccessDb() Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
strSql = "select ISBN as ISBN,BookName as 书名,Author as 作者,Publisher as 出版社,Version as 版本,PublishDate as 出版日期,InitialPrice as 原价,HasCD as 光盘,BookNumber as 数量,BuyPrice as 进价,BuyDate as 购买日期,Provider as 供货商,Transactor as 经手人 from Book"
'MsgBox strSql
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\book.mdb"
rs.CursorLocation = adUseClient
rs.Open strSql, db, adOpenKeyset, adLockOptimistic
End SubPrivate Sub ConnAccessDatabase() Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
strSql = "select ISBN as ISBN,BookName as 书名,Author as 作者,Publisher as 出版社,Version as 版本,PublishDate as 出版日期,InitialPrice as 原价,HasCD as 光盘,BookNumber as 数量,BuyPrice as 进价,BuyDate as 购买日期,Provider as 供货商,Transactor as 经手人 from Book where BookName Like '%" & Trim(Text2.Text) & "%'"
'MsgBox strSql
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\book.mdb"
rs.CursorLocation = adUseClient
rs.Open strSql, db, adOpenKeyset, adLockOptimistic
End SubPrivate Sub Command1_Click() '模糊查询 If Text2.Text = "" Then
MsgBox "请填写书名.", vbOKOnly + vbInformation, "提示"
Text2.SetFocus
Exit Sub
End If
Call ConnAccessDatabase
If rs.EOF Then
MsgBox "没有找到这本书,请重新输入查询条件!", vbOKOnly + vbInformation, "提示"
Text2.Text = ""
Text2.SetFocus
Exit Sub
Else
Set DataGrid1.DataSource = rs
End IfEnd SubPrivate Sub Form_Load() Call ConnAccessDb
Set DataGrid1.DataSource = rsEnd Sub
解决方案 »
- 如何获取类的实例的句柄
- 如何使VB程序插入explorer进程或者别的进程里?
- VB中自带的报表打印怎么实现,我一直没有尝试成功,希望有个详细的例子,谢谢!
- 一個關於CMOS放電的問題!
- 如何使用VB编程来限制本机网速
- 98/me/2000/xp 哪几个系统自带了VB6运行库,ME 自带了吗
- VB开发的聊天室程序,有服务器端和客户端,支持emote,需要源码的请留email
- 過兩天就是女朋友的生日了,可我什麼都沒準備,各位幫我出出主意。
- 请教:如何备份数据库?
- sos!!!一个简单的问题
- 一个特别恐怖的打包问题!!!!!
- 请问怎样在DataGrid中添加一列CheckBox列,实现复选删除功能?
If DataGrid1.Row = -1 Then Exit Sub
Text1.Text = Me.DataGrid1.Columns(1).Text
Text2.Text = Me.DataGrid1.Columns(2).TextEnd Sub