我在做一个小软件,使用VB6.0+ACCESS数据库,其中使用了DBGrid来显示数据库中的“表1”的记录。现在我想当鼠标选中其中一条记录的时候,click一个button能弹出一个新的窗口,并且这条记录中所有字段相应的数据都能传到这个新的窗口中相应的变量以便显示,最后能修改并返回,并且修改有效。不知道如何下手,请哪位高手指点下,谢谢了~~

解决方案 »

  1.   

    Private Sub DataGrid1_DblClick()
        MsgBox Adodc1.Recordset.AbsolutePosition
    End Sub
      

  2.   

    1.你先要声明一个全局变量
    2.通过Sub DataGrid2_RowColChange中将关键列的值传递给全局变量;
    3.在新窗体中以传递过来的关键字检索处数据
      

  3.   

    在bottom_chick事件中写入(加入你是用ADODC)
    新窗口.text=adodc1.field(0)
    ....
      

  4.   

    你的DBGrid是与Data控件绑定的吧?'点按钮1,把当前记录赋给Form2中对应的Text
    Private Sub Command1_Click()
        With Form2
            .Text1.Text = Data1.Recordset(0)
            .Text2.Text = Data1.Recordset(1)
            .text3.Text = Data1.Recordset(2)
            '......
        End With
    End Sub要关闭Form2时,把修改后的值写回DBGrid中:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        With Form1.Data1
            .Recordset(0) = Text1.Text
            .Recordset(1) = Text2.Text
            .Recordset(1) = Text2.Text
            '......
            Data1.Recordset.Update
        End With
    End Sub
      

  5.   

    '点按钮1,把当前记录赋给Form2中对应的Text
    Private Sub Command1_Click()
        With Form2
            .Text1.Text = Data1.Recordset(0)
            .Text2.Text = Data1.Recordset(1)
            .text3.Text = Data1.Recordset(2)
            '......
        End With
        Form2.Show vbModal   '以模态方式弹出Form2
    End Sub
      

  6.   

    这段代码我试了。但是有问题弹出实时错误424。要求对象
    望指教这里DATA1是哪个对象?
      

  7.   

    用Adodc绑定DataGrid的话,这样写'点按钮1,把当前记录赋给Form2中对应的Text
    Private Sub Command1_Click()
        With Form2
            .Text1.Text = Adodc1.Recordset(0)
            .Text2.Text = Adodc1.Recordset(1)
            .text3.Text = Adodc1.Recordset(2)
            '......
            .Show vbModal   '以模态方式弹出Form2
        End With
    End Sub'要关闭Form2时,把修改后的值写回DataGrid中:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        With Form1.Adodc1
            .Recordset(0) = Text1.Text
            .Recordset(1) = Text2.Text
            .Recordset(1) = Text2.Text
            '......
            .Recordset.Update
            .Recordset.Requery
        End With
        Form1.DataGrid1.Refresh
    End Sub