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

Ms access MS Access 2003-将文本文件导入MS Access数据库表,ms-access,vba,text,Ms Access,Vba,Text,在工作中,我们有这个报告工具。它作为一个MDE工具分发给每个人,被很好地锁定(VBA不可查看,无法导入任何表、查询、表单等)。当每个人填写他们的适用部分时,会有一个按钮将其转换为文本文件,然后发送到Outlook。然后每个人都通过电子邮件发送给一个人 因此,我提出了在我自己的数据库中使用此功能的必要性: 远程员工填写一张表格,为他们创建power point演示文稿,我想我已经确定了这一部分。这有助于我们跟踪这些演示文稿的指标,而不是让员工在ppt上手动创建一个模板,然后我们会将简报中的数据手动

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

因此,我提出了在我自己的数据库中使用此功能的必要性:

远程员工填写一张表格,为他们创建power point演示文稿,我想我已经确定了这一部分。这有助于我们跟踪这些演示文稿的指标,而不是让员工在ppt上手动创建一个模板,然后我们会将简报中的数据手动输入到表单中。这是有道理的

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

以下是我的问题,因为我刚刚开始:

-表单很长,因为ppt中有很多信息,所以我使用一个表单,不同部分都有选项卡,但所有内容都记录在表中,一个ppt。如何将所有这些信息(这一条记录)转换为文本文件,如何使用“发送到Outlook”,只需单击一个按钮

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

-如何锁定MDE,使VB无法查看,并且无法将对象导入其他应用程序


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

您是否考虑过复制而不是文本文件?数据将存储在一个具有访问安全性的复制后端文件中,该文件可以返回给您。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
Private Sub sendmailcdo()
'需要参考适用于Windows 2000的Microsoft CDO
将cdoConfig设置为对象
作为字符串的Dim strSubject
像弦一样暗的链子
作为字符串的Dim strFile
Dim cdoMessage作为对象
'设置邮件服务器的详细信息
设置cdoConfig=CreateObject(“CDO.Configuration”)
使用cdoConfig.Fields
.项目(CDOSensingMethod)=2''CDOSensingPort
.项目(cdoSMTPServerPort)=25
.Item(cdoSMTPServer)=“smpt.themailserver.com”
.Item(cdoSendUserName)=”abc@themailserver.com"
.Item(cdoSendPassword)=“密码”
.更新
以
“这是电子邮件的主题行。
strSubject=“成员列表”
''这是带有一点HTML的消息。
strBody=“

这是您的成员列表”_ &格式(日期,“mmmm yyyy”)和“

问候,有限公司” “附件的位置 strFile=“C:\Docs\MembershipList.rtf” ''设置电子邮件消息 设置cdoMessage=CreateObject(“CDO.Message”) 用cdoMessage .Configuration=cdoConfig .Subject=strSubject .From=”me@here.com" .To=”someone@there.com" .HTMLBody=strBody .AddAttachment strFile .发送 以 端接头


进一步信息:

您是否考虑过复制而不是文本文件?数据将存储在一个具有访问安全性的复制后端文件中,该文件可以返回给您。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
Private Sub sendmailcdo()
'需要参考适用于Windows 2000的Microsoft CDO
将cdoConfig设置为对象
作为字符串的Dim strSubject
像弦一样暗的链子
作为字符串的Dim strFile
Dim cdoMessage作为对象
'设置邮件服务器的详细信息
设置cdoConfig=CreateObject(“CDO.Configuration”)
使用cdoConfig.Fields
.项目(CDOSensingMethod)=2''CDOSensingPort
.项目(cdoSMTPServerPort)=25
.Item(cdoSMTPServer)=“smpt.themailserver.com”
.Item(cdoSendUserName)=”abc@themailserver.com"
.Item(cdoSendPassword)=“密码”
.更新
以
“这是电子邮件的主题行。
strSubject=“成员列表”
''这是带有一点HTML的消息。
strBody=“

这是您的成员列表”_ &格式(日期,“mmmm yyyy”)和“

问候,有限公司” “附件的位置 strFile=“C:\Docs\MembershipList.rtf” ''设置电子邮件消息 设置cdoMessage=CreateObject(“CDO.Message”) 用cdoMessage .Configuration=cdoConfig .Subject=strSubject .From=”me@here.com" .To=”someone@there.com" .HTMLBody=strBody .AddAttachment strFile .发送 以 端接头

更多信息:

@Justin询问:

-如何锁定MDE,使VB不可见,而对象 无法导入到另一个 申请

这个问题毫无意义,除非提出问题的人没有理解MDE是什么。MDE中没有可查看的代码。它已经被剥离,剩下的就是编译后的p代码。有关Access中VBA编译的有用文章,顺便解释了规范代码和编译的p代码之间的关系,请参阅Michael Kaplan的

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

@Justin询问:

-你觉得我怎么样