大家好,我在VB窗体上放了查询按钮,下面是datagrid显示查询出来的记录,我想把记录打印出来,怎么写代码啊,我还想添加个保存按钮,能够把查询出来的记录另存为Excel文件,代码怎么写啊,请大家帮忙啊,谢谢

解决方案 »

  1.   

    查询相对简单,直接用一个记录集,查完后set DataGrid1.datasource=记录集,或者用个adodc控件绑定(不细述)
    既然考虑了导出到excel,何不用excel现成的打印功能.导出excel:
    Private Sub Command9_Click()
        Dim i As Long, j As Long
        Dim xlsApp As Excel.Application
        Dim xlsBook As Excel.Workbook
        Dim xlssheet As Excel.Worksheet
        Set xlsApp = New Excel.Application
        Set xlsApp = CreateObject("Excel.Application")
        xlsApp.Visible = True
        xlsApp.Workbooks.Add
        xlsApp.Sheets("Sheet1").Select    
        DataGrid1.Row = 0
        i = 1
        Do While DataGrid1.Row >= 0
            If i = DataGrid1.Row Then Exit Do
            i = DataGrid1.Row        For j = 0 To DataGrid1.Columns.Count - 1
                With xlsApp
                    .Cells(DataGrid1.Row + 1, j + 1) = DataGrid1.Columns(j).Text
                End With
            Next
            DataGrid1.Row = DataGrid1.Row + 1
        Loop    If xlsApp.ActiveWorkbook.Saved = False Then
            xlsApp.ActiveWorkbook.SaveAs App.Path & "\mmm0.xls"
        End If
        xlsApp.Quit
        Set xlsApp = Nothing
      

  2.   

    提示错误啊:runtime error'6148'
    invalid row numer
    错误定位在了:DataGrid1.Row = DataGrid1.Row + 1“黄色底色”
    另外我的表中有身份证字段:并不是所有的字段显示身份证,而是以科学计数法来显示3.7063E+17
    也有几条记录显示正确身份证,请大侠帮忙解决
      

  3.   

    On Error Resume Next
    Dim i As Long, j As Long