查了VB6的MSDN ,其中对DataGrid的Column集合有详细描述,就是没有对单个元素的操作,就像Delphi那样Column(n),Row(n)的进行遍历,最多就是第一行的数据,现在由于SQL数据语句本身的原因,现在就只能遍历DataGrid来截取数据,程序段如下该程序是个麻将机销售管理程序Public Sub Sqlsub(ByVal TabShop As String, ByVal Tabse As Integer)    '构建sql语句,并生成记录集
    Dim i As Integer, j As Integer
    '这个时候已经获得了具体活动的店面名称代码
    strSqlfirst = "Select after_dm as 店名,'" & strPp(0).name & "'as 品牌名,Count(after_pp) as 数量,AVG(CAST(after_je AS int)) as 均价,Count(after" _
                  & " From " & TabShop _
                  & " Where after_xh IN" _
                  & " (" _
                  & " Select after_xh" _
                  & " From " & TabShop _
                  & " Where  after_pp = '" & strPp(0).name & "' and  after_rq BETWEEN Convert(Datetime,'" & strpt1 & "') AND Convert(Datetime,'" & strpt2 & "')" _
                  & " )" _
                  & " group by after_dm"
    '第一个品牌的SQL查询语句,这里默认世纪金钻为第一个默认品牌,考虑第一品牌可能替换,故单独生成SQL语句
    strSqlLast = strSqlfirst    For i = 1 To 15 '品牌循环填充SQL语句
        '根据循环所得具体品牌名称代码填充sqladd语句
        strSqladd = " union all " _
                    & "Select after_dm as 店名,'" & strPp(i).name & "'as 品牌名,Count(after_pp) as 数量,AVG(CAST(after_je AS int)) as 均价" _
                    & " From " & TabShop _
                    & " Where after_xh IN" _
                    & " (" _
                    & " Select after_xh" _
                    & " From " & TabShop _
                    & " Where  after_pp = '" & strPp(i).name & "' and  after_rq BETWEEN Convert(Datetime,'" & strpt1 & "') AND Convert(Datetime,'" & strpt2 & "')" _
                    & " )" _
                    & " group by after_dm"
        strSqlLast = strSqlLast + strSqladd
    Next
    '构建联合查询的sql语句完毕,能够查询单店所指定所有品牌的信息
        If Modmain.CrtFilRst(Modmain.con, Modmain.Rst_CliBan, strSqlLast, adCmdText, adOpenStatic, adLockReadOnly, False) Then
        Set Me.DataGrid1(Tabse).DataSource = Modmain.Rst_CliBan '更新当前活动页面
    End If
    '析构,以便下次重新初始化
    strSqlLast = "": strSqlfirst = "": strSqladd = ""
    If Modmain.Rst_CliBan.State = adStateOpen Then
        Set Modmain.Rst_CliBan = Nothing
    End If
    'OK
   这里从DATAGrid中取数据,而不是在记录集中取数据该如何做呢?请高手指点,谢谢!
 End Sub