|
Function ParseCodes_withOneTable()
'[Hypertensive], [RxCodes], [HomeopathicMeds], [OTCounterMeds],
[OtherMedCondList], etc.
On
Error GoTo Err_ParseCodes_withOneTable
Dim qryStr As String, strCode
As String, Char As String, qryStrtmp As String, pDocNumb
As String, pID As String
Dim X As Integer, Y As Integer, qryStrLen As Integer,
FirstLen As Integer, MidStart As Integer
Dim dbs As Database, rst1
As Recordset, rst2 As Recordset, rstAssocTbl As Recordset,
rstAssocQry As Recordset
Dim strAssocQry As String,
strParserField As String, ParserField As Field, qdf As QueryDef,
sql As String
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryClear_tmpHyperTCodes"
DoCmd.OpenQuery "qryBLOCK_EOF"
Set dbs = CurrentDb
Set rstAssocQry = dbs.OpenRecordset("qryAssociated_field_qry_tbl")
Do Until rstAssocQry.EOF
Set ParserField = rstAssocQry![ParserField]
'ParserField ID DocNumb
strAssocQry = rstAssocQry![AssociatedQuery] 'TEST:
strAssocQry = "qryParseHypertensiveCodes"
Set rst2 = dbs.OpenRecordset(strAssocQry)
Do Until rst2.EOF
MidStart = 1
FirstLen = 0
Y = 0
pID = rst2![ID]
pDocNumb = rst2![DocNumb]
qryStr = rst2(0)
qryStrLen = Len(qryStr)
For X = 1 To qryStrLen
Char = Mid(qryStr, X, 1) 'Debug.Print Char
If Char = ";"
Then
FirstLen = X - 1
qryStrtmp = Mid(qryStr, MidStart, (FirstLen - Y))
strCode = qryStrtmp
MidStart = FirstLen + 3
Y = FirstLen + 2
For Each qdf In dbs.QueryDefs
If qdf.Name =
"qryCodesInsert" Then dbs.QueryDefs.Delete qdf.Name
Next qdf
sql = "INSERT INTO tblParserCodes " &
"(" + ParserField + ", tblMainID, DocNumb) VALUES
" + "('" + strCode + "'," + "'" + pID + "',"
+ "'" + pDocNumb + "');" ‘
Debug.Print sql
Set qdf = dbs.CreateQueryDef("qryCodesInsert",
sql)
qdf.Execute
End If
Next X
rst2.MoveNext
JumpToLoop:
Loop
rst2.Close
rstAssocQry.MoveNext
Loop
rstAssocQry.Close
Set dbs = Nothing
DoCmd.SetWarnings True
Exit Function
Exit_ParseCodes_withOneTable:
Exit Function
Err_ParseCodes_withOneTable:
DoCmd.SetWarnings True
MsgBox Err.Description
Resume Exit_ParseCodes_withOneTable
End Function
|