MS Access 2003 - 将文本文件导入MS Access数据库表

时间:2009-07-31 00:00:09

标签: ms-access vba text

在工作中我们有这个报告工具。它作为一个被锁定的MDE工具分发给每个人(VBA是不可查看的,不能导入任何表,查询,表单等)。当每个人填写其适用部分时,会有一个按钮将其合并到一个文本文件中,然后将其发送到Outlook。然后每个人都通过电子邮件发送给一个人。

所以我想在我自己的数据库中使用它:

远程员工填写一份表单,为他们创建一个powerpoint演示文稿,这部分我认为我已经确定了。这有助于我们跟踪这些演示文稿的指标,而不是员工手动创建ppt,然后我们落后并将简报中的数据输入到表单中。说得对。

这是我的问题,在办公室,这已经解决,但对于那些在外地的人我需要一个类似上面提到的工具;他们从自动生成的ppt获益,然后我可以让他们通过电子邮件发送给我文本文件,我可以添加到数据库。

以下是我的问题,因为我刚刚开始讨论这个问题:

- 表单很长,因为有很多信息进入ppt,所以我使用一个表单,其中包含不同部分的选项卡,但它们都在表中记录,并且一个ppt。如何将所有这些信息,这一条记录转换为文本文件,以及如何使用“发送到Outlook”,只需单击一下按钮就可以了?

- 当用户通过电子邮件发送文本文件时,如何将其导入数据库表?

- 如何锁定MDE以使VB无法查看,并且无法将对象导入另一个应用程序?

任何其他建议,提示,“你的疯子!”,欢迎!一如既往地谢谢!

2 个答案:

答案 0 :(得分:0)

您是否考虑过复制而不是文本文件?数据将存储在具有Access Security的复制后端文件中,该文件可以返回给您。 CDO应该适合发送电子邮件。

文字

Access具有DoCmd.TransferText,它允许您导出和导入文本文件。

<强> CDO

   Private Sub SendEmailCDO()
   'Requires reference to Microsoft CDO for Windows 2000
   Dim cdoConfig As Object
   Dim strSubject As String
   Dim strBody As String
   Dim strFile As String
   Dim cdoMessage As Object

       'Set up detail of the mail server
       Set cdoConfig = CreateObject("CDO.Configuration")
       With cdoConfig.Fields
           .Item(cdoSendUsingMethod) = 2 ''cdoSendUsingPort
           .Item(cdoSMTPServerPort) = 25
           .Item(cdoSMTPServer) = "smpt.themailserver.com"
           .Item(cdoSendUserName) = "abc@themailserver.com"
           .Item(cdoSendPassword) = "password"
           .Update
       End With

       ''This is the subject line for the email.
       strSubject = "Membership List"

       ''This is the message with a little HTML.
       strBody = "<P>Here is the membership list for <FONT color=#ff0000>" _
        & Format(Date, "mmmm yyyy") & "</FONT>.</P><P>Regards, LTD</P>"

       ''Location of Attachment
       strFile = "C:\Docs\MembershipList.rtf"

       ''Set up the email message
       Set cdoMessage = CreateObject("CDO.Message")
       With cdoMessage
           .Configuration = cdoConfig
           .Subject = strSubject
           .From = "me@here.com"
           .To = "someone@there.com"
           .HTMLBody = strBody
           .AddAttachment strFile
           .Send
       End With

   End Sub

更多信息:http://wiki.lessthandot.com/index.php/Access_and_Email

答案 1 :(得分:0)

@Justin问:

  

- 如何锁定MDE以使VB无法查看,以及对象   不能导入另一个   应用

这个问题毫无意义,除非提出要求的人未能掌握MDE是什么。在MDE中没有可见的代码。它已被删除,剩下的就是编译后的p代码。有关Access中VBA编译的有用文章,偶然解释了规范代码和编译的p代码之间的关系,请参阅Michael Kaplan的"The real deal on the /Decompile switch."

请记住,这仅适用于代码承载对象(表单/报表/模块),而不适用于表和查询。