我如何读出DataGrid中的第N行第M列的数据?请大家给个例子,谢谢

解决方案 »

  1.   

    Option ExplicitPublic Rs As New ADODB.Recordset
    Public Conn As New ADODB.ConnectionPublic Sub Make_Connection()
        Dim strConn As String
        
        strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=JOHN"
        Conn.CursorLocation = adUseClient
        Conn.Open strConn
        
        If Rs.State <> adStateClosed Then Rs.Close
        Rs.Open "Select * from jobs", Conn, adOpenStatic, adLockOptimistic
        
        If Not Rs.EOF Then
           Set Me.DataGrid1.DataSource = Rs
        End If
           
    End SubPrivate Sub Command1_Click()
        '读出第3行第2列的数据
        Rs.Move 3, 1          '把recordset移动到指定记录,也就是datagrid指定行
        With Me.DataGrid1
           .Col = 1           '指定第2列。datagrid 的列是从0开始
           MsgBox .Text
        End With
    End Sub
    Private Sub Form_Load()
        Call Make_Connection
    End Sub
      

  2.   

    我试了你这个方法,提示错误“Object variable or with block variable not set”,起哦以前也出现过这个错误,没明白。adOpenStatic, adLockOptimistic这两个参数有什么意思?
    有没有比上面这个方法更好的方法?
      

  3.   

    “Object variable or with block variable not set”,
    那句话错误?错误指向那句?adOpenStatic, adLockOptimistic这两个参数有什么意思?
    //去看MSDN的ADO帮助
      

  4.   

    只要这样就可以了: With DataGrid1
           .Col = 1           '指定第2列。datagrid 的列是从0开始
           .row=2             '指定第3行。datagrid 的行是从0开始
           MsgBox .Text
     End With//
    CursorType属性用到的常数
    常数 含义 
    adOpenForwardonly 提供单向移动游标和只读Recordset(默认值) 
    adOpenDynamic 提供可滚动游标,可显示其他用户对Recordset所做的改动(包括添加新记录) 
    adOpenKeyset 提供可滚动游标,只隐藏其他用户所做的改动,类似于dynaset类型的DAO.Recordset 
    adOpenStatic 提供一个位于Recordset静态拷贝上的可滚动游标,类似于snapshot类型的DAO.Recordset,但多了可更新特性 //
    LockType属性用到的常数常数 含义 
    adLockRecordOnly 指定只读访问(默认值) 
    adLockBatchOptimistic 使用批量更新模式而不是默认的立即更新模式 
    adLockOptimistic 使用乐观锁(仅在更新过程中才锁定记录或页面) 
    adLockPessimistic 使用悲观锁(编辑或更新整个过程中均锁定记录或页面) 
      

  5.   

    十分感谢GGL123()和daisy8675(莫依)的帮助,针对GGL123()的方法,我将记录在DataGrid1中显示出来了,但是我按照你的方法:Private Sub Command2_Click()
                                 With DataGrid1
                                      .Col 1
                                      .Row 2
                                      MsgBox .Text
                                 End With
                            End Sub
            提示出错,信息是:Compile error:Invalid use of property.错误停留在.Col上
    郁闷
      

  6.   

    /
      .Col 1
      .Row 2
    /
    应为:
    .Col= 1
     .Row =2
      

  7.   

    Private Sub Command2_Click()
                                 With DataGrid1
                                      .Col
                                      .Row
                                      MsgBox .Text
                                 End With
                            End Sub这样子就可以了
      

  8.   

    十分感谢GGL123()和各位的帮助,我的编程基础太薄弱了,以前学的计算机专业,现在在做CIM技术支持,没有一般的软件公司那样的训练。 晚上揭帖