s吧,在VB中可以用DAO来对数据库进行操作。DAO为你提供了一个比较友好的数据库编程对象模型,可以用较少的代码实现你想要的大部分功能。虽然它有一些局限性,但对于这样的小应用已是绰绰有余的了。因为它也是以对象库的形式被VB所引用的,所以在使用它之前也必须在工程加上对其的引用。 在开始之前,我们需要一个Access数据库,其中包含了邮件列表的客户信息。数据库的文件名为Contacts.mdb,内有一个Contacts表。包含了关于客户的姓名,电子邮件地址,城市等等信息,由于结构比较简单,这儿就不列出了。
新建一个Visual Basic标准EXE工程,然后为工程添加Microsoft Outlook和Microsoft DAO这两个对象库的引用,DAO对象库能够让你操作Microsoft的Jet数据库引擎。
打开工程菜单,点击On the Project menu, click on Components and select the Windows Common Controls 1 library.
添加一个命令按钮和一个进度条道窗体上。
在Command1的click事件处理部分,输入下面的代码:
Private Sub Command1_Click()
Dim Dbs As Database
Dim Rst As Recordset
Dim objOutlook As New Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
注释:打开数据库
Set Dbs = OpenDatabase(App.Path & "Contacts.mdb")
Set Rst = Dbs.OpenRecordset("Contacts")
Rst.MoveFirst
ProgressBar1.Visible = True
注释:对数据表中的每个数据进行操作
Do Until Rst.EOF
ProgressBar1.Value = Rst.PercentPosition
注释:建立新的邮件
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
.To = Rst!email 注释:给出收信人的邮件地址
.Subject = "Address Check" 注释:给出邮件的主题
注释:下面是邮件的正文部分
.body = "Dear " & Rst!Title & " " & Rst!LastName & vbNewLine & vbNewLine
.body = .body & "This is an email to confirm your address. "
.body = .body & "Please check the address below to make sure "
.body = .body & "that it is correct" & vbNewLine & vbNewLine
.body = .body & Rst!Address & vbNewLine & Rst!City & vbNewLine
.body = .body & Rst!StateOrProvince & vbNewLine & Rst!PostalCode
.body = .body & vbNewLine & Rst!Country & vbNewLine & vbNewLine
.body = .body & "Tel: " & Rst!PhoneNumber
.Importance = olImportanceHigh
.Send
End With
注释:取消对对象的引用
Set objOutlookMsg = Nothing
Rst.MoveNext
Loop
ProgressBar1.Visible = False
注释:取消对对象的引用,这一步很重要。
Set objOutlook = Nothing
注释:关闭数据库Dbs.Close
MsgBox "Auto Email Complete", vbInformation
Set Dbs = Nothing
Set Rst = Nothing
End Sub
在你按下开始键之后,所有再数据库中的客户都被发送了一封确认信,你可以通过检查发件箱来发现这一点。
最后,关于应用程序的发布要做一点说明。如果你决定在你的应用程序中使用诸如Outlook这样的OLE服务器,你就必须考虑到,应用程序的最终使用者可能并没有在电脑中安装Outlook,或者安装的版本不符,这样的话程序式不能够运行的。但是,你还是可以在你自己的电脑