代码如下,是一个打印功能代码
Dim rs As ADODB.Recordset
Dim con As New ADODB.Connection
Dim mysql As String
Dim gzxx, jj, kk, bf, hz As Node   '声明TreeView1节点
Dim i, s As Integer    's用来记录数据库的字段数,I用来作为循环变量
Private Sub Command1_Click()
prtfg1.打印 DataGrid1
End Sub
Private Sub Command2_Click()
    Me.Hide
    Command1.Enabled = False
End SubPrivate Sub Form_Load()
        Set con = New ADODB.Connection
        con.ConnectionString = "provider=Microsoft.jet.oledb.4.0;data source=gzgl.mdb;persist security info=false"
        con.CursorLocation = adUseClient
        con.Open
        mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
'设置TreeView1中所要显示的节点名称
        Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
        Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
        Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
        Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
        Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
        Set DataGrid1.DataSource = rs   '设置DataGrid1数据源
        s = rs.Fields.Count
        For i = 0 To s - 1
'循环设置DataGrid1中各列宽度
            DataGrid1.Columns(i).Width = 1300
        Next i
        Command1.Enabled = False   '只有当显示了工资条信息后"打印"按钮才可以使用
End Sub
Private Sub Form_Resize()
'窗口位置和大小布局
        TreeView1.Height = Me.Height - Toolbar1.Height
        DataGrid1.Width = Me.Width - TreeView1.Width
        DataGrid1.Height = Me.Height - Toolbar1.Height
        Toolbar1.Top = DataGrid1.Height
        Toolbar1.Width = Me.Width
        Command1.Left = Me.Width / 2 - (Command1.Width + Command2.Width) / 2
        Command2.Left = Me.Width / 2
End SubPrivate Sub TreeView1_Click()
Select Case TreeView1.SelectedItem.Index
    Case 1   '单击"工资信息"节点
        mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
        Set DataGrid1.DataSource = rs
        s = rs.Fields.Count
        For i = 0 To s - 1
            DataGrid1.Columns(i).Width = 1300
        Next i
    Case 2   '单击"奖金汇总"节点
        mysql = "select 姓名,科室,职务,奖金 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
        Set DataGrid1.DataSource = rs
        s = rs.Fields.Count
        For i = 0 To s - 1
            DataGrid1.Columns(i).Width = 3200
        Next i
    Case 3   '单击"扣款汇总"节点
        mysql = "select 姓名,科室,职务,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
        Set DataGrid1.DataSource = rs
        s = rs.Fields.Count
        For i = 0 To s - 1
            DataGrid1.Columns(i).Width = 3200
        Next i
    Case 4    '单击"补助汇总"节点
        mysql = "select 姓名,科室,职务,津贴 + 洗理 + 书报 + 交通 as 补助汇总  from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
        Set DataGrid1.DataSource = rs
        s = rs.Fields.Count
        For i = 0 To s - 1
            DataGrid1.Columns(i).Width = 3200
        Next i
    Case 5    '单击"工资条信息"节点
        mysql = "select 姓名,科室,职务,基本工资,奖金,津贴 + 洗理 + 书报 + 交通 as 补助,基本工资 + 奖金 + 津贴 + 洗理 + 书报 + 交通 as 应发工资,工资扣 as 应扣工资, 应发工资-应扣工资 as 实发工资  from 员工信息,工资总 where 员工信息.编号=工资总.编号"
        Set rs = con.Execute(mysql)
        Set DataGrid1.DataSource = rs
        s = rs.Fields.Count
        For i = 0 To s - 1
            DataGrid1.Columns(i).Width = 1445
        Next i
        Command1.Enabled = True
End Select
End Sub编译中光标停留在下面这一段代码的最后一行
        Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
        Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
        Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
        Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
        Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
        Set DataGrid1.DataSource = rs   '设置DataGrid1数据源
提示说实时错误“424”,要求对象,我觉得应该是DataGrid1的问题,可是我不知道具体怎么回事。请各位高手指点,毕业设计来的,很急