[AccessD] Embed Query Results in an Email

Mcgillivray, Don [IT] Donald.A.McGillivray at sprint.com
Tue Nov 29 18:49:05 CST 2005


Well, I wrote a little function that accepts a value, converts it to
text (if necessary), and pads and justifies it according to the
requirements of the layout.  I just pass each column's value (or header
literal) to the function along with its formatting specs, and
concatenate the results together for each row.  Terminate each row with
a CrLf as you go, and there you have it.  

Here's my function.  It works well in my controlled application, but you
might want to modify it to handle values longer than MaxLen.  

Function PadText(varValue As Variant, strDataType As String, lngMaxLen
As Long, strJustify As String) As String
'-----------------------------------------------------------------------
----------------
' Procedure : PadText
' Purpose   : builds a string from the passed value per the passed specs
' Arguments : varValue = the value to be processed
'             strDataType = the type of data being passed - acceptable
values = Text, Num, Date
'             lngMaxLen   = the maximum number of characters allowed for
the resulting string
'             strJustify  = the justification spec for the resulting
string - acceptable values = L, C, or R
' Returns   : The input value formatted as desired
'-----------------------------------------------------------------------
----------------
'
On Error GoTo ErrorHandle 
    Dim strResult As String, blnError As Boolean
    If lngMaxLen <> 0 Then
        Select Case strDataType
            Case "Text"
                strResult = varValue
            Case "Num"
                strResult = Format(varValue, "#,###")
            Case "Date"
                strResult = Format(varValue, "mm/dd/yyyy hh:nn:ss")
            Case Else
                blnError = True
        End Select
        If blnError = False Then
            Select Case strJustify
                Case "L"
                    strResult = strResult & Space(lngMaxLen -
Len(strResult))
                Case "C"
                    strResult = Space(Int((lngMaxLen - Len(strResult)) /
2)) _
                        & strResult & Space((lngMaxLen - Len(strResult))
- Int((lngMaxLen - Len(strResult)) / 2))
                Case "R"
                    strResult = Space(lngMaxLen - Len(strResult)) &
strResult
                Case Else
			  blnError = True
            End Select
        End If
    Else
        blnError = True
    End If
    If blnError = False Then PadText = strResult Else PadText = "Error"
FunctionExit:
    Exit Function
ErrorHandle:
    Select Case Err.Number
        Case Else
            MsgBox Err.Number & " " & Err.Description & vbCrLf & vbCrLf
_
                & "Error in Function 'PadText' of Module
'basSendCycleConfirmations'."
    End Select
    Resume FunctionExit
End Function



-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lonnie
Johnson
Sent: Tuesday, November 29, 2005 3:47 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Embed Query Results in an Email


How do you go about formatting and doing headers?

"Mcgillivray, Don [IT]" <Donald.A.McGillivray at sprint.com> wrote:
Lonnie,

I've done something similar to what you are trying to do. In my app, I
send out daily activity summaries using a procedure that opens a
recordset and steps through the resulting rows, formatting and appending
the values to a string variable. The procedure adds column headers and
explanatory text to the string before using it as the body of an email
message that is sent using "Blat." In my case, the process is triggered
automatically once a day, but you could just as easily put something
like this on a button.

HTH,

Don

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lonnie
Johnson
Sent: Tuesday, November 29, 2005 3:07 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Embed Query Results in an Email


The two queries hold the results of stats for case workers that are
mailed to the whole company. The requestor was wanting two embedded
tables vs attachements. The two queries are both three columns wide and
never have any more than 15 rows. It's inner office so everyone can read
HTML format.

Thanks for the response.


-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com





May God bless you beyond your imagination!
Lonnie Johnson
ProDev, Professional Development of MS Access Databases
Visit me at ==> http://www.prodev.us





 





		
---------------------------------
 Yahoo! Music Unlimited - Access over 1 million songs. Try it free.
-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com





More information about the AccessD mailing list