可以考虑使用宏.
把数据库的查询结果表示在一个文件中,然后调用WORD OR EXCEL 的宏,COPY &PRASE 到VB代码中.

解决方案 »

  1.   

    定义一个OBJECT
    如dim ss as object
    set ss=new word.appcation
    add ss.document.text
    ss.secelect.text=text1.text
      

  2.   

    dim x as word.appcation
      

  3.   

    可以下载一些关于VBA的资料看看,用VBA很容易解决这类问题
      

  4.   

    什么样的数据库呢? 
    你可以用ADO或DAO在VB中或在VBA中实现的。
    如果没无法解决可以MAIL给我。我帮你看看。 
      

  5.   

    如果我已经用ADO得到了记录集(Rs("ID")和Rs("Name")),如何将其输出到Word和Excel,按格式:
    ID    Name
    1     a
    2     b
    3     c请给出具体的代码,多谢!
      

  6.   

    一下是我工作中用到的一段代码,(系统一直在正常使用)Private Sub cmdPrint_Click()
    If MsgBox("确认填写的信息正确吗?", vbYesNo + vbQuestion, "询问") = vbNo Then
    Exit Sub
    End If
    'frmProcess是一个简单的form,当处理需要一定时间,用来显示提示
    frmProcess.lbMsg.Caption = "正在进行 OLE 处理,稍后......"
    frmProcess.Show
    Screen.MousePointer = vbHourglass
    On Error GoTo myerr
    Dim wdApp As New Word.Application 'word 应用对象
    Dim wdDoc As Document '文档对象
    Dim wdTable As Table ’表格
    Set wdDoc = wdApp.Documents.Open(App.Path + "\" + "userdoc.doc")
    Set wdTable = wdDoc.Tables(1)
    wdDoc.Words(12).Text = Trim(user_bh.Text)//一下将TEXT中的值赋给表格单元,当然你也可以用ADO记录集
    wdTable.Cell(1, 2).Range.Text = cz.Text
    wdTable.Cell(1, 4).Range.Text = yh.Text
    wdTable.Cell(1, 6).Range.Text = gcrq.Text
    wdTable.Cell(2, 3).Range.Text = cph.Text
    wdTable.Cell(2, 5).Range.Text = cjh.Text
    wdTable.Cell(2, 7).Range.Text = fdjh.Text
    wdTable.Cell(3, 2).Range.Text = ys.Text
    wdTable.Cell(3, 4).Range.Text = gcdd.Text
    wdTable.Cell(3, 6).Range.Text = hgzh.Text
    wdTable.Cell(4, 2).Range.Text = cx.Text
    wdTable.Cell(4, 4).Range.Text = bdh.Text
    wdTable.Cell(4, 6).Range.Text = nsrq.Text
    wdTable.Cell(5, 2).Range.Text = hth.Text
    wdTable.Cell(5, 4).Range.Text = kahao.Text
    wdTable.Cell(5, 6).Range.Text = fkfs.Text
    wdTable.Cell(6, 2).Range.Text = sprq.Text
    wdTable.Cell(6, 4).Range.Text = bxgs.Text
    wdTable.Cell(6, 6).Range.Text = fjx.Text
    wdTable.Cell(7, 2).Range.Text = sxr.Text
    wdTable.Cell(7, 4).Range.Text = slr.Text
    wdTable.Cell(8, 3).Range.Text = yh.Text
    wdTable.Cell(8, 5).Range.Text = xb.Text
    wdTable.Cell(8, 7).Range.Text = sr.Text
    wdTable.Cell(9, 2).Range.Text = lxdh.Text & "  " & lxsj.Text
    wdTable.Cell(9, 4).Range.Text = jg.Text
    wdTable.Cell(10, 2).Range.Text = sfzh.Text
    wdTable.Cell(10, 4).Range.Text = zy.Text
    wdTable.Cell(11, 2).Range.Text = gzdw.Text
    wdTable.Cell(11, 4).Range.Text = syqy.Text
    wdTable.Cell(12, 2).Range.Text = txdz.Text
    wdTable.Cell(13, 2).Range.Text = jtzk.Text
    wdTable.Cell(14, 2).Range.Text = bz.Text
    If rs.State = adStateOpen Then
    rs.Close
    End If
    '读服务记录
    Dim sSql As String
    sSql = "select * from servicerec where user_bh='" & user_bh.Text & "' order by fwrq"
    rs.Open sSql, conn, adOpenStatic, adLockReadOnly
    Dim nLoop As Integer
    Dim I As Integer
    If rs.RecordCount > 16 Then
    nLoop = 16
    Else
    nLoop = rs.RecordCount
    End If
    //以下就是通过ADO记录集来填数据的
    For I = 1 To nLoop '填服务记录到模板
        wdTable.Cell(16 + I, 1).Range.Text = rs("fwrq")
        wdTable.Cell(16 + I, 2).Range.Text = rs("fwnr")
    rs.MoveNext
    Next I
    wdDoc.SaveAs App.Path & "\" & "temp.doc"
    wdDoc.PrintOut ’打印
    'wdDoc.SaveAs App.Path & "\" & "temp.doc"
    Unload frmProcess
    Screen.MousePointer = vbDefault
    wdDoc.Close
    'wdApp.Quit 要此句的话,要提示
    Exit Sub
    myerr:
    Unload frmProcess
    Screen.MousePointer = vbDefault
    DisplayVbErr
    End Sub
    你可以到word或excel里录制宏,看生存的宏代码,对你很有帮助!