2010-11-03 72 views
2

我需要从Lotus表单中获取3个特定字段,并将其转换为静态Access表,从中我可以执行更多查询(其中2个字段构成主键,因此我可以加入第3个与其他东西)。在下面的伪代码中,我已经充实了一个功能来做到这一点,但我无法弄清楚细节(我不认为我会了解Lotus如何在没有正式培训的情况下工作)。请帮我完成这个程序?如何使用VBA搜索Lotus文档

Function GetFromLotusDocs() As String 
    Dim NtS As New NotesSession 
    Dim NtDb As New NotesDatabase 
    Dim NtF As New NotesForm 
    NtS.Initialize 
    Set NtDb = NtS.GetDatabase("MyServer", "MyDB.nsf") 
    Set NtF = NtDb.GetForm("MyForm") 

    For each document in NtDB 
     DoCmd.RunSQL _ 
     "INSERT INTO TmpTbl (Fld1,Fld2,Fld3) SELECT " & _ 
     Fld1 & "," & Fld2 & "," & Fld3 & ";"  
    Next document 
End Function 

回答

1

如果您只是需要从Notes和Access中获取数据,我建议您安装和配置Lotus Notes SQL驱动程序。我已经多次使用它来将数据提取到Access中,通常是为了在将数据移动到SQL或SQL Express数据库之前进行清理。

这里是链接:http://www.ibm.com/developerworks/lotus/products/notesdomino/notessql/

+0

这就是我通常从莲花中提取数据的方式。但我不知道要连接哪个“表格”(我感兴趣的领域不是任何视图,只是文档本身)。 Lotus中基表''的名称是什么? “All_Documents”? – PowerUser 2010-11-04 12:45:59

+0

解决。我通过创建临时私人视图并将其导出到文本文件来解决整个代码问题。然而,你会得到绿色检查,因为这是你的建议应该是人们尝试的第一件事。 – PowerUser 2010-11-04 14:09:58

+0

应该有一个选项来检索表单数据,但最坏的情况下,您可以创建一个包含所需数据的视图,然后将其连接到Access。很高兴你找到了解决方法! – 2010-11-04 14:58:13