Office中国论坛/Access中国论坛

标题: 在Word获得在同一目录的Access文件中的资料,然后插入到文档中。 [打印本页]

作者: fan0217    时间: 2006-1-22 04:20
标题: 在Word获得在同一目录的Access文件中的资料,然后插入到文档中。



在Word中建立了个用户窗体,然后在窗体中输入查询单词,通过ADO查询Access数据库中的表,并返回查询结果至用户窗体,或插入文档中。

Word中需要启用宏,降低安全级别才可以运行。[attach]15543[/attach]


[此贴子已经被作者于2006-1-23 19:00:52编辑过]


作者: 情比金坚    时间: 2006-1-22 05:20
没看懂啊,你那个word中的按钮按了没反应啊。直接点击access上《用word发布》按钮不就行了,
作者: koreazheng    时间: 2006-1-22 17:56
我按着ACCESS的帮助做了一个,速度还行,但用代码生成的结果在ACCESS中(生成的查询)是没错的,但在WORD中却有些词查不出来,造成没有结果插入。可能是我的textbox的值有问题,现在搞不清楚怎么回事。

你看看有没有什么参考价值。另请帮忙改进一下。因为我那个记库太大,数百万词条与解释(压缩后400多兆),无法上传。请你把一个表user的字段设成korean,chinese,meaning就行了。

Private Sub CommandButton1_Click()
   Dim dbsCurrent As Database
   Dim qdfBestSellers As QueryDef
   Dim qdfBonusEarners As QueryDef
   Dim rstTopSeller As Recordset
   Dim rstBonusRecipients As Recordset
   Dim strAuthorList As String
   Dim dicstr As String
   Dim mysql, inter As String
   
   
   On Error GoTo Err_zjy
   dicstr = ""
''插入各词间的分隔符   

inter = "______________________________________________________________________________"
   
   Set docNew = ActiveDocument
   ' Open a database from which QueryDef objects can be
   ' created.
   Set dbsCurrent = OpenDatabase("D:\software\kordicworks\词典\korea.mdb")
   Set qdfBestSellers = dbsCurrent.CreateQueryDef("")

   mysql = TextBox1.Text
   With qdfBestSellers
      '.Connect = "ODBC;DATABASE=user;DSN=Korean"
      .SQL = "select korean.korean,korean.chinese,korean.meaning from korean where korean like '" & mysql & "';"
      Set rstTopSeller = .OpenRecordset()
      rstTopSeller.MoveFirst
   End With


   ' Build the output string.
   With rstTopSeller
      Do While Not .EOF

''插入到WORD文件中
         'docNew.Content.InsertAfter Text:=.Fields(1).Value
         'docNew.Content.InsertParagraphAfter
         dicstr = dicstr + inter + Chr(10) + Chr(13) + .Fields(0).Value + Chr(10) + Chr(13) + .Fields(1).Value + Chr(10) + Chr(13) + .Fields(2).Value
         .MoveNext
      Loop
   End With
   TextBox2.Text = dicstr
   MsgBox "共" & rstTopSeller.RecordCount & "条记录"
   rstTopSeller.Close
   dbsCurrent.Close
'下面一句也有问题,其实有结果时也报这句,可能是到最后记录了吧。晕

Err_zjy:
   'MsgBox "查无此词,请重新输入吧!"
   Exit Sub
  
End Sub

Private Sub CommandButton2_Click()
End
End Sub
作者: fan0217    时间: 2006-1-22 18:37
以下是引用情比金坚在2006-1-21 21:20:00的发言:



没看懂啊,你那个word中的按钮按了没反应啊。

在Word中需要启用宏,降低安全级别才可以运行。

[此贴子已经被作者于2006-1-22 10:55:53编辑过]


作者: fan0217    时间: 2006-1-22 18:51
以下是引用情比金坚在2006-1-21 21:20:00的发言:


直接点击access上《用word发布》按钮不就行了,

但如果Access数据库不在本地,就无法直接用“用word发布”了啊!

[此贴子已经被作者于2006-1-22 10:51:26编辑过]


作者: 方漠    时间: 2006-1-22 20:27
以前有个仁兄有做过一个用Word域读取ACCESS数据的报表,个人认为做得很好,且速度很快,自己找找,好像是什么贵州凯里电力系统的。
作者: fan0217    时间: 2006-1-24 20:59
重新设计了一下,附件在顶楼。
作者: lyzlzldj    时间: 2006-8-28 20:48
我想看看啊
作者: lyzlzldj    时间: 2006-8-28 20:49
我正在做一个access数据库中多个表插入word的报表
作者: lyzlzldj    时间: 2006-8-28 20:50
能否下载看看
作者: REORX    时间: 2007-12-20 09:41
关注一下,感谢分享!
作者: Cherian    时间: 2009-10-1 03:59
谢谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3