Artemis Hothmire
Registered User.
- Local time
- Today, 08:46
- Joined
- Nov 19, 2012
- Messages
- 23
Good afternoon,
I am trying to figure out how to tab out data in VBA, to creat formatted messages through outlook. Instead of identifying the different fields with random number sapcing, i.e., 6, 7 or 10. Below is what I have for spacing in my code.
As you can see all the fields have random numbers to creat a spacing structure in the email this function creates. The problem I am running into, is that, while this works well for Windows XP it bugs in Windows 7 and throws the formatting off. How do I put Tabs in the spacing to create an even looking email in windows 7? Any help you have would be greatly appreciated.
I am trying to figure out how to tab out data in VBA, to creat formatted messages through outlook. Instead of identifying the different fields with random number sapcing, i.e., 6, 7 or 10. Below is what I have for spacing in my code.
Code:
Public Function GetF6IMRLDATA()
Dim db As Database
Dim rs As Recordset
Dim DStr As String
Dim fld As Field
Dim i As Integer
Dim FldVal As String
Dim RecLine As String
Dim Spacer As String
Set db = CurrentDb
Spacer = " "
Set rs = db.OpenRecordset("select * from qryActivityF6StatusCodes_Message;")
If rs.EOF = False Then
For Each fld In rs.Fields
If fld.Name = "AAI" Then
FldVal = Left(fld.Name & Spacer, 8)
ElseIf fld.Name = "PN" Then
FldVal = FldVal & Left(fld.Name & Spacer, 15)
ElseIf fld.Name = "CAGE" Then
FldVal = FldVal & Left(fld.Name & Spacer, 7)
ElseIf fld.Name = "EQSN" Then
FldVal = FldVal & Left(fld.Name & Spacer, 22)
ElseIf fld.Name = "STATUS" Then
FldVal = FldVal & Left(fld.Name & Spacer, 8)
ElseIf fld.Name = "NIIN" Then
FldVal = FldVal & Left(fld.Name & Spacer, 11)
ElseIf fld.Name = "TODAYS DATE" Then
FldVal = FldVal & Left(fld.Name & Spacer, 13)
ElseIf fld.Name = "DAYS F6" Then
FldVal = FldVal & Left(fld.Name & Spacer, 9)
End If
Next
End If
DStr = FldVal
While rs.EOF = False
For Each fld In rs.Fields
If IsNull(fld.Value) Then
If fld.Name = "AAI" Then
FldVal = Left(Spacer, 8)
ElseIf fld.Name = "PN" Then
FldVal = Left(Spacer, 15)
ElseIf fld.Name = "CAGE" Then
FldVal = Left(Spacer, 7)
ElseIf fld.Name = "EQSN" Then
FldVal = Left(Spacer, 22)
ElseIf fld.Name = "STATUS" Then
FldVal = Left(Spacer, 8)
ElseIf fld.Name = "NIIN" Then
FldVal = Left(Spacer, 11)
ElseIf fld.Name = "TODAYS DATE" Then
FldVal = Left(Spacer, 13)
ElseIf fld.Name = "DAYS F6" Then
FldVal = Left(Spacer, 9)
End If
Else
If fld.Name = "AAI" Then
FldVal = Left(fld.Value & Spacer, 8)
ElseIf fld.Name = "PN" Then
FldVal = Left(fld.Value & Spacer, 15)
ElseIf fld.Name = "CAGE" Then
FldVal = Left(fld.Value & Spacer, 7)
ElseIf fld.Name = "EQSN" Then
FldVal = Left(fld.Value & Spacer, 22)
ElseIf fld.Name = "STATUS" Then
FldVal = Left(fld.Value & Spacer, 8)
ElseIf fld.Name = "NIIN" Then
FldVal = Left(fld.Value & Spacer, 11)
ElseIf fld.Name = "TODAYS DATE" Then
FldVal = Left(fld.Value & Spacer, 13)
ElseIf fld.Name = "DAYS F6" Then
FldVal = Left(fld.Value & Spacer, 9)
End If
End If
RecLine = RecLine & FldVal
Next
DStr = DStr & vbCrLf & RecLine
RecLine = vbNullString
rs.MoveNext
Wend
rs.Close
GetF6IMRLDATA = DStr
End Function
As you can see all the fields have random numbers to creat a spacing structure in the email this function creates. The problem I am running into, is that, while this works well for Windows XP it bugs in Windows 7 and throws the formatting off. How do I put Tabs in the spacing to create an even looking email in windows 7? Any help you have would be greatly appreciated.
Last edited: