Hi,Guys:
Here is how I done this part. It is working perfet. I can auto fax hundred of fax at same time.
1. Install the "Fax Mail Transport" on your OutLook.( I suppose you have a moden installed on your computer)
2. at report design view setup your printer is FAX.
3. Modify code like bellow to suit for yours.
I hope it will help you.
Also thank you so much for everyone answer my question, it help me a lot. Now I would like to help others.
If you have any question about this issue, I would like to help you all.
Ann
*******************
Private Sub cmdFaxAll_Click()
Dim strSub As String
Dim cmdFax As ADODB.Command
Dim rsFax As ADODB.Recordset
Dim strRqt As String
Dim strFaxTo As String
strRqt = "Select * From QryFCarrierFax" ''==' WHERE CityCarrier Like 'D%'"
Set cmdFax = New ADODB.Command
cmdFax.ActiveConnection = CurrentProject.Connection
cmdFax.CommandType = adCmdText
cmdFax.CommandTimeout = 10
cmdFax.CommandText = strRqt
Set rsFax = cmdFax.Execute()
If rsFax.EOF Or rsFax.BOF Then
MsgBox "No Carrier List Can Be Fax.", vbCritical, "Administrator"
rsFax.Close
Set rsFax = Nothing
Exit Sub
Else
'DoCmd.Hourglass True
rsFax.MoveFirst
Do While Not rsFax.EOF
If Not IsNull(rsFax.Fields("CarrierFax")) Then
strSub = "" ''=="Request " & rsFax.Fields("CityCarrier") & "'s WSIB & Insurance"
strFaxTo = getFaxNum(rsFax.Fields("CarrierFax"))
DoCmd.SendObject acReport, "RptRequestWSIB", acFormatSNP, "[FAX:" & strFaxTo & "]", , , strSub, , False
End If
rsFax.MoveNext
Loop
rsFax.Close
Set rsFax = Nothing
End If
End Sub
Function getFaxNum(strFaxNum) As String
Dim strFSQL As String
Dim rsFNum As ADODB.Recordset
Dim cmdFNum As ADODB.Command
Dim strArea As String
Dim strPreF As String
strFaxNum = Replace(strFaxNum, "(", "")
strFaxNum = Replace(strFaxNum, ")", "")
strFaxNum = Replace(strFaxNum, "-", "")
strFaxNum = Replace(strFaxNum, " ", "")
'Me.txtFax = strFaxNum
''== check Long distance
strArea = Left(strFaxNum, 3)
Select Case strArea
Case "416"
getFaxNum = strFaxNum
Case "647"
getFaxNum = strFaxNum
Case "905"
strPreF = MID(strFaxNum, 4, 3)
''==MsgBox strPreF
Set cmdFNum = New ADODB.Command
cmdFNum.ActiveConnection = CurrentProject.Connection
cmdFNum.CommandTimeout = 10
cmdFNum.CommandType = adCmdText
cmdFNum.CommandText = "SELECT * FROM tblAreaRule WHERE PreFix=?"
Set rsFNum = cmdFNum.Execute(, strPreF)
If rsFNum.EOF Or rsFNum.BOF Then
''== not local number
getFaxNum = "1" & strFaxNum
Else
''==Local number
getFaxNum = strFaxNum
End If
rsFNum.Close
Set rsFNum = Nothing
Case Else
getFaxNum = "1" & strFaxNum
End Select
End Function