'---------------------------------------------------------------------------------------
' Procedure : convertRowToCols
' Author : mellon
' Date : 21/01/2015
' Purpose : To convert data identified in
'http://www.access-programmers.co.uk/forums/showthread.php?t=273818
'into records usable by Access.
'This sub procedure reads a record of the incoming data and determines the record sequence
' and based on findings places the data value into the appropriate field in the record.
'
'---------------------------------------------------------------------------------------
'
Sub convertRowToCols()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rt As DAO.Recordset
Dim r1 As String 'record type 1
Dim r2 As String 'record type 2
Dim r3 As String 'record type 3
Dim r4 As String 'record type 4
Dim r5 As String 'record type 5
On Error GoTo convertRowToCols_Error
r1 = "Patient Id" '10
r2 = "Patient Name" '12
r3 = "Send Reason" '11
r4 = "Provider Name" '13
r5 = "Visit Number" '12
'these variables hold the related data by record type.
Dim r1d As String
Dim r2d As String
Dim r3d As String
Dim r4d As String
Dim r5d As String
Set db = CurrentDb
Set rs = db.OpenRecordset("recordsFive")
Set rt = db.OpenRecordset("realRecs")
Do While Not rs.EOF
If Left(rs!fieldraw, 10) = r1 Then
'r1
r1d = Trim(Mid(rs!fieldraw, 11))
ElseIf Left(rs!fieldraw, 12) = r2 Then
'r2
r2d = Trim(Mid(rs!fieldraw, 13))
ElseIf Left(rs!fieldraw, 11) = r3 Then
'r3
r3d = Trim(Mid(rs!fieldraw, 12))
ElseIf Left(rs!fieldraw, 13) = r4 Then
'r4
r4d = Trim(Mid(rs!fieldraw, 14))
ElseIf Left(rs!fieldraw, 12) = r5 Then
'r5
r5d = Trim(Mid(rs!fieldraw, 13))
'we're finished with the prerequisites so write a record to RealRecs table
rt.AddNew
rt.Fields(1) = r1d
rt.Fields(2) = r2d
rt.Fields(3) = r3d
rt.Fields(4) = r4d
rt.Fields(5) = r5d
rt.Update
Else
MsgBox "unrecognized record type"
End If
rs.MoveNext
Loop
On Error GoTo 0
Exit Sub
convertRowToCols_Error:
MsgBox "Error " & Err.number & " (" & Err.Description & ") in procedure convertRowToCols of Module AWF_Related"
End Sub