Private Sub ComHistory_Click() '查询历史数据的过程
'On Error Resume Next
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from Tabres order by 编号 desc", cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
 '***************开始在 Picture1中调用DataGrid1中显示出来的数据进行画图。
   Picture1 = rs.DataSource
   Dim j As Integer
   Picture1.Cls   '首先清除picture1内的图形
   Picture1.ScaleMode = 0   'Scale方法设定用户坐标系,坐标原点在Picture1中心
    Picture1.Scale (0, 50)-(720, 0)
   Picture1.DrawWidth = 1    '设置绘线宽度
    Picture1.ForeColor = vbBlue
   For j = 2 To 720  'X坐标标定的数字
     Picture1.CurrentX = j * 0.5 '指定数字的显示位置
     Picture1.CurrentY = -0.5
     Picture1.Print j
   Next j
   For j = 1 To 50  'Y坐标标定的数字
     Picture1.CurrentX = -(0.5) '指定数字的显示位置
     Picture1.CurrentY = 2 * j
     Picture1.Print j
   Next j
    Picture1.CurrentX = 0.5  '指定“1”的显示位置
    Picture1.CurrentY = -0.5
    Picture1.Print "1"
    Picture1.DrawWidth = 2   '重设绘线宽度
    Dim DataStr() As String
    Dim X As Single, Yi As Double
    Dim i, dx As Long
    ReDim DataStr(1 To rs.RecordCount)
    '************************************ 横坐标取时设置
      dx = 1
      For i = 0 To rs.RecordCount '设定X坐标的数字间距
        X = X + dx
        Yi = DataStr(i)
        Picture1.CurrentX = X  '指定位置显示原点O
        Picture1.CurrentY = Yi
        Picture1.Print Yi
      Next i
      '***************************************
      dx = 1
      X = 0
      Yi = 0
      i = 0
      For i = 0 To rs.RecordCount  '设定X坐标的数字间距
       X = X + dx
       Yi = DataStr(i)
       Picture1.Line -(X, Yi)  '相当于确定所画直线的斜率
    Next i
    Picture1.CurrentX = 2  '指定位置显示描述文字
    Picture1.CurrentY = -3
    Picture1.ForeColor = vbBlack
    Picture1.Print "通道1数值的曲线示意"
End Sub

运行以上代码,发现出的图形是混乱的,而且还报错“下标越界”和“不能绑定到字段或数据成员:通道1”
  非常郁闷,不知道错在哪里,请各位高手帮帮忙,改一改!