查询后的记录我用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

解决方案 »

  1.   

    在DataGrid的RowColChange方法里做就行如果一改变就将DataGrid里的内容放进TextBox里,我就是这样做的。
      

  2.   

    Private Sub DataGrid1_Click()
    If DataGrid1.Row = -1 Then Exit Sub
    Text1.Text = Me.DataGrid1.Columns(1).Text
    Text2.Text = Me.DataGrid1.Columns(2).TextEnd Sub
      

  3.   

    我试了一下,用datagrid控件的selchange事件也可以达到这样的效果,欢迎大家讨论!
      

  4.   

    同意 daisy8675(莫依) ,这种做法思路比较清晰
      

  5.   

    Text1.Text = rs.fields(字段)
      

  6.   

    ?????但为什么不直接用textbox直接进行绑定???