Office中国论坛/Access中国论坛

标题: 用Access发邮件时的问题,帮忙看下 [打印本页]

作者: cloudsky    时间: 2003-8-15 23:41
标题: 用Access发邮件时的问题,帮忙看下
我写了一个发邮件的函数,奇怪的是:如果只发少数几封邮件,很正常可以收得到,但是如果连续发20封的话,只会发出一两封,然后会弹出一个窗口提示内存不够,以后就再也发不出去了,必段重新启动ACCESS才可以发,但也只能发出一两封
源代码如下:
'------------------------------------------------------------
' SendMail
'------------------------------------------------------------
Function SendMail(id As Integer, UserName As String, EmailAddr As String)
On Error GoTo SendMail_Err
    'Dim id As Integer
    Dim cont As String 'condition for open report
    Dim subject As String
    cont = "[id]=" & id
    subject = UserName & ",Please find attached your pay slip for " & Month(Now())
    DoCmd.SetWarnings False
    DoCmd.OpenReport "Report_2003", acPreview, "", cont
    DoCmd.SendObject acReport, "Report_2003", "SnapshotFormat(*.snp)", EmailAddr, "", "", subject, "", False, ""
    DoCmd.Close acReport, "Report_2003"


SendMail_Exit:
    Exit Function

SendMail_Err:
    MsgBox Err.Description
    Resume SendMail_Exit

End Function


send 按钮单击事件代码
Private Sub Send_Click()
On Error GoTo Err_Send_Click
    Dim db1 As DAO.Database
    Dim User As DAO.Recordset
   
    Set db1 = Application.CurrentDb
    Set User = db1.OpenRecordset("Transfer", dbOpenTable)
   
    Dim FailUser As String
    FailUser = "There some user's email is empty!  "
    With User
        Do While Not User.EOF
            If IsNull(![E-mail Address]) Then
                FailUser = FailUser & "      " & ![EMPLOYEE NAME]
            Else
                SendMail ![id], ![EMPLOYEE NAME], ![E-mail Address]
            End If
            .MoveNext
        Loop
    End With
    MsgBox FailUser
Exit_Send_Click:
    Exit Sub

Err_Send_Click:
    MsgBox Err.Description
    Resume Exit_Send_Click
End Sub

高手帮帮忙吧!
作者: eio    时间: 2003-8-16 04:02
将程序发上来看看吧
作者: cloudsky    时间: 2003-8-17 00:02
[attach]1454[/attach]
这是源文件。
多谢!
作者: eio    时间: 2003-8-17 00:19
控件丢失:msadox.dll
作者: cloudsky    时间: 2003-8-18 21:32
加了以后还是一样啊
eie,请问你那可以正常发邮件吗?
作者: cloudsky    时间: 2003-8-18 22:05
出错提示
[attach]1460[/attach]
作者: cloudsky    时间: 2003-8-18 22:07
准确的说是每次发了两封就不行了
作者: eio    时间: 2003-8-18 22:08
我是说,我没有控件,无法调试阿?
作者: cloudsky    时间: 2003-8-18 22:44
[attach]1461[/attach]
请将文件名改为msadox.dll复制到你的机器上
多谢你了






[此贴子已经被作者于2003-8-18 14:46:57编辑过]


作者: eio    时间: 2003-8-18 22:46
哇哇,怎么不改RAR?
作者: cloudsky    时间: 2003-8-18 22:48
sorry,忘了
作者: cloudsky    时间: 2003-8-18 22:48
eio,thanks
作者: eio    时间: 2003-8-18 22:49
标题: 一条都发不出!


继续试试!
作者: eio    时间: 2003-8-18 22:53
装个OULOKK EXPRESS再试试
作者: cloudsky    时间: 2003-8-18 22:53
你觉得是什么原因呢?
你的outlook可以发邮件吗?
作者: cloudsky    时间: 2003-8-18 22:54
多谢啦!
麻烦就算了,不好意思
作者: cloudsky    时间: 2003-8-19 00:46
[B][U]我想可能是版本的问题吧,因为我的OUtlook升级后可以正常发送了,eio,谢谢你的帮助[/U][/B]


[此贴子已经被作者于2003-8-18 16:46:26编辑过]


作者: wang_jeffson    时间: 2008-3-25 00:04
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk[:34]
作者: stevenwang008    时间: 2009-1-22 09:22
看看
作者: boyboyvox    时间: 2009-3-24 12:45
我也想知道怎么带着附件发邮件阿,急
作者: lamber    时间: 2015-2-4 17:09
先下载看看




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3