通过邮件上报数据

如果你既没有SQL Server服务器,也没有FTP,也可以考虑通过邮件上报数据,只是没有那么自动。
假定各分公司每天上报当天订单。

1、将要上报的数据生成为一个Access文件,并通过邮件发送给总部:

'导出当天订单
Dim
ex As New Exporter
ex
.SourceTableName = "订单"
ex
.FilePath = "c:\temp\gd.mdb"
ex
.Filter = "日期 = #" & Date.Today & "#"
If
FileSys.FileExists(ex.FilePath) Then '如果目标文件已经存在
    FileSys
.DeleteFile(ex.FilePath) '则删除之
End
If
ex
.Export()
'通过邮件发送

Dim
m As New MailSender
m
.Host = "smtp.21cn.net"
m
.Account = "xiaoliu"
m
.Password = "xiaoliu1234567"
m.From =
"feng@32cn.net"
m.
To = "zong@21cn.ent"
m
.Title = "订单上报"
m
.Content = "订单上报"
m
.AddAttachments("c:\temp\gd.mdb") '将上报文件作为附件发送
m
.SendAsync
()

2、目前Foxtable并未提供接收邮件的功能,用户只能手工将各分公司通过邮件发来的附件保存在指定目录,然后通过下面的代码批量合并:

For Each File As String In Filesys.GetFiles("c:\temp")
    If
File.EndsWith(".mdb") '如果后缀名是mdb,说明此文件是access格式
        Dim
mg As New Merger
        mg
.SourcePath = file
        mg
.SourceTableName = "订单"
       
mg.DataTableName = "订单"
       
mg.Merge()
        Filesys
.DeleteFile(File) '合并后删除文件
    End If
Next

有了上面的代码,即使有上百个分公司上报数据,也只需单击一个按钮即可完成合并。


本页地址:http://www.foxtable.com/webhelp/topics/2284.htm