Standard Jet DBnb` Ugr@?~1y0̝cßFNl7Ӝ(K!` {6߱/cC83ly["|*|mՂf_Љ$g'DeFx -bT4.0dv YS  Y   Y Y  Y Y  Y  Y  Y  r Y s Y E Y a Y d Y 2Y  Y   Y  jY ConnectDatabaseDateCreateDateUpdate FlagsForeignNameIdLvLvExtraLvModule LvPropName OwnerParentIdRmtInfoLongRmtInfoShortTypeniLmSSmLSmLLmSYYIdParentIdName        OYJȕbcSY Y Y  Y 2ACMFInheritableObjectIdSIDT$T$ YObjectId YSY  Y Y Y  Y L Y mY  Y AttributeExpressionFlagLvExtra Name1 Name2ObjectId Ordernzf edY"ObjectIdAttribute -YSY Y Y  Y L Y Lm Y mS Y S Y Lccolumn grbiticolumnszColumnszObject$szReferencedColumn$szReferencedObjectszRelationshipSmLSmLS LmSSmLSmLS LmSSmLSmLS LmSYYYszObject$szReferencedObjectszRelationshipYv1b N  : k & W  C t/ @@   @   @@@kf^JkWLJkJomdQuQMLJkMd``dbSY^QLJk^Yb\QOmJL^QkOJmJJMMQkkfJUQkOJmJLJkQkSdi`k `dOo^Qk iQ^JmYdbkWYfkiQfdimk kMiYfmk kvkiQ^ mJL^Qk`kvkJMMQkkdL[QMmk`kvkJMQk`kvkdL[QMmk`kvkhoQiYQk`kvkiQ^JmYdbkWYfkmL^OQ`dmL^^JLm^\fMidkksJ^\JMMQkk^Jvdom`kvkOLko``JivYbSdokQiOQSYbQO?  @ @ @            @ @ @ @ @ @ @ @ @))))))))) ) ) ) )))))))))))))$)% )& )' )( )) )* )+ ), )- ). )/ )0 )1 )A )B )C)D)E)F)G)H)I)8)9):)6)7);)<)=)>)?)@)2)3)4)5)))) )) ))))!)")#    td _ Z g  ~  } $ fVX| @X| @ tlkpCrosswalkWC:\CDEMS\cdem_dta.mdbtlkpCrosswalk* @'yyy__<: %?4 @?4 @ tblLabWC:\CDEMS\cdem_dta.mdbtblLab @&iiii]]]QQ., %  @' @ tblDemoWC:\CDEMS\cdem_dta.mdbtblDemo$CJmmmmaaaSS0. %('@('@MSysAccessObjectsWDDDDDDDDDDB  lR@`]@basLinkedTablesW@@@@@@@@@@>  lR@`]@basCommonFileW<<<<<<<<<<:  lR@`]@basAutoExecW88888888886  ilR@`]@splashW..........,  {DlR@ilR@UserDefinedWA@+DDD88888886 @ {DlR@1lR@SummaryInfoW@+DDD88888886 @ _ ?lR@'@AccessLayoutW4MR2KeepLocal T@*zz:::::::8 @lR@lR@SysRelW.........., lR@lR@ScriptsW0000000000. lR@lR@ReportsW0000000000. lR@lR@ModulesW0000000000. lR@lR@FormsW,,,,,,,,,,* lR@lR@DataAccessPagesW@@@@@@@@@@>  lR@ lR@MSysRelationshipsVDDDDDDDDDDB  lR@ %tR@MSysQueriesV88888888886  lR@ %tR@MSysACEsV22222222220  lR@ lR@MSysObjectsV88888888886  lR@`]@MSysDbW@+:::......., @ lR@ lR@RelationshipsV<<<<<<<<<<:  lR@ lR@DatabasesV44444444442  lR@ lR@TablesV..........,  YNY Y DataID(YAOIndexv1K[L0@ctLLS@LLVV4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V4V@PpVMSysAccounts  H  H  H    tU@oS  z%VUCT '[C:\CDEMS\cdem_dta.mdb].' & szRelationship as szRel, grbit + 4 as grbit2, ccolumn, icolumn, T1.Name as szObject, szColumn, T2.Name as szReferencedObject, szReferencedColumn FROM [C:\CDEMS\cdem_dta.mdb].MSysRelationships as R, MSysObjects as T1, MSysObjects as T2 WHERE R.szObject = T1.ForeignName AND R.szReferencedObject = T2.ForeignName AND T1.ParentId = 251658241 AND T1.database = 'C:\CDEMS\cdem_dta.mdb' AND T1.Connect Is Null AND T2.ParentId = 251658241 AND T2.database = 'C:\CDEMS\cdem_dta.mdb' AND T2.Connect Is Null AND (T1.Name = 'tblDemo' OR T2.Name = 'tblDemo') ((PxV MSysObjectsWJ05%  tU@oS   K[ࡱ> 2v t !"#$%&'()*+,-./01u456789:;<=>?@ABCDEFGHIJKLMOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsw~xyz{|}Root Entry@#&VBA@#@#VBAProject @#@#VBA@#@#dir_VBA_PROJECTsBFBENKGMRIERYDTBPMNOGTDNPSJN: FHKBUDIKSUYRBEAVCHHXDQQMTWDM:/  !"#$%&'()*+,-./0123456789:;<=>?@ACDEFGHIJLMPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0* pHd paml1 @8= Vh @DE J< rstdole>stdole h%^*\G{00020430-C 0046}#2.0#0#C:\WINDOWS\System32\STDOLE2.TLB# Automation#`DAO>JDAO5A A5E01A5AProgram Files\CommonMicrosoft Shared\;\dao360.dll# 3.6 Object Li`braryHVBIDE> VBIDE\\E157\3N).VBA\6E6EXT.OW/Visual Basic for Applic]s Extensibility 5.3+Bh@basLin@kedTabTGasLink(dT@bsFHKBUDIKSUYRBEAVCHHXDQQMTWDM28AHKNUNI@SUPYR@EVDCHX@QPQMWMMB1¸'"%΁,0(7!B+B Form_splashGrm_3p/5h0YBMIUKDHCCGNVDXFKYQWENTPBQVE0Y*M~U/ D$C,GNV)XF@Y.WN/P@ QE06`(``2hPExecb1ATuxo x`2cBFBENKGMRIERYDTBPMNOGTDNPSJNB@BKG,R@E0YTP`(NO`T NPSJ<090 KstGCC1m1oKFKIIEZATKHXYXBQXDOPJGLJ_ULQBRXCI@ZZGT.FY@GB/HOJL_LLB@X 6':b2h9xMEK[p "am  *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}#9.0#0#C:\Program Files\Microsoft Office\Office\MSACC9.OLB#Microsoft Access 9.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\System32\STDOLE2.TLB#OLE Automation*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll#Microsoft DAO 3.6 Object LibraryZ*\G{0002E157-0000-0000-C000-000000000046}#5.3#0#C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB#Microsoft Visual Basic for Applications Extensibility 5.3 DEh8FHKBUDIKSUYRBEAVCHHXDQQMTWDM034544b865basLinkedTables7'"8YBMIUKDHCCGNVDXFKYQWENTPBQVE024544b865Form_splash68BFBENKGMRIERYDTBPMNOGTDNPSJN044544b865 basAutoExec908IEZATKHXYXBQXDOPJGLJ_ULQBRXC054544b865,basCommonFile:H'hH0#-AXԁ;h N7Emw1%+P/qChPN>ߗbYL!hYHEAccessVBAWin16~Win32MacVBA6#paml1DAOstdole`VBIDEAbasLinkedTablesd _Evaluate CheckLinkZstrTablervarRet CurrentDbS TableDefs%iFields7ErroGetDBDir GetDBDirErr dbCurrent= strDbName strProcNameƣRight UCase5  GetDBDirDoneMsgBoxRNumber- Description vbOKOnly vbCritical+}adhVerifyLinksstrDataDatabase6strSampleTableadhVerifyLinksErrd varReturn`DstrDBDir#strMsgG&DB\ varFileNametdfTableDefmintI\ intNumTablesIX strFilterӥlngFlags adhVerifyLinksDonemChrK~adhAddFilterItemadhOFN_HIDEREADONLYXOadhOFN_NOCHANGEDIRadhCommonFileOpenSaveOpenFileFilter;Flagso DialogTitle߄IsNull adhTrimNullCount0vSysCmdGacSysCmdInitMeterm!Connect\ RefreshLinkntacSysCmdUpdateMeter acSysCmdRemoveMeter Form_splashgCommand1_ClickVErr_Command1_ClickrstCodes RecordsetrstqryNew{)QueryDeftblNew[fldNewK[Field3FileNamejTextLinestrSQLF ClinicCode[ClinicIDă LocationCode:TestCode%TestNameTypeTest< TestResultCollectionDate AmendedResult ResultComment3LastName FirstNamedob cnt_records?cnt_totrecords cnt_personsd cnt_filesS cnt_tableswp cnt_amendedu strInputFile cnt_errors;9PatID^ CreateTableDefj CreateFielddbText dbDate= OpenRecordset| Application* FileSearchD NewSearchfLookInPSearchSubFoldersExecuteY FoundFilesEOFParseBOFy MoveFirstNraw_codeK=AddNewa clinic_code- chart_numberSresultur service_date status_flag IsEmpty amendedw First_name? Last_nameIsDate2UpdatetxtCntRepaintRefreshCreateQueryDefzNvbLfT%RecordsAffectedP vbInformationnExit_Command1_ClickiinstringYsectionG component"cnt+position position2j basAutoExecHAutoExec AutoExecErru AutoExecDone1DoCmdƧ Hourglassb basCommonFiletagOPENFILENAMEy lStructSize/r hWndOwner hInstance strCustomFilterژnMaxCustFilter` NFilterIndexcstrFile XnMaxFile strFileTitle nMaxFileTitleym strInitialDir/(strTitle nFileOffsetInFileExtension9 strDefExtHA lCustData'5lpfnHooklpTemplateNametadh_apiGetOpenFileNameHofn) comdlg32.dll?adh_apiGetSaveFileNameCommDlgExtendedErrorsadhOFN_READONLYadhOFN_OVERWRITEPROMPTadhOFN_SHOWHELPیadhOFN_NOVALIDATEadhOFN_ALLOWMULTISELECTJadhOFN_EXTENSIONDIFFERENTf4adhOFN_PATHMUSTEXISTVadhOFN_FILEMUSTEXISTFadhOFN_CREATEPROMPTadhOFN_SHAREAWAREiadhOFN_NOREADONLYRETURN2adhOFN_NOTESTFILECREATE;adhOFN_NONETWORKBUTTONadhOFN_NOLONGNAMES.WadhOFN_EXPLORERzadhOFN_NODEREFERENCELINKSXadhOFN_LONGNAMES InitialDir1 FilterIndex˟ DefaultExty strFilenameefResult IsMissing hWndAccessAppstrDescriptiondvarItem vbNullCharYstrItemintPosrFormDetail2Label0,Command1Label2,exampleh"Click_B_var_example%og^hardvQcodedx!  -H --` ilbe P5  * ,8 ,h 2 B    *  ,P ,       < X ` $h      (J0  $ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved.s\")Use database order for string comparisons1912  Purpose: Do all startup duties$ From Access 97K[ Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In: None Out: Return value: none History:5 Created 09/14/94 pel; Last Modified 12/20/95 pel$]@ cdem_dta.mdbtblLab$>' varRet = adhInitAutoNum()'"d8'"k(&  $v' (B@*z$ "S Error# "!6:  "!8 : < AutoExecA@4nx&pih`Attribute VB_Name = "basAutoExec" ' From Access 97 Developer's HandbookLby Litwin, Getz 4 Gilbert. (Sybex)NCopyright 1997. All Rs Res@erved.' Option Compare Datae 'Use dorder for sng cA1isonsEExplicit FuncZ%t(L , ' Purpose: Do aRstartup dutie-F  DIn ^None Out Return value: nH HistoryJ Created 09/14/94 pel; Last @Modifi12/20/95ZA&On ErrgGoTo ]QDim r@# As Varia&nBjAva= adhVerifyLinks("cdem_dta.mdb", "tblLab"rIfThen@'IInitA$NumA)ĈTruOElsD FaFEnd If6D@UQBuNex9$SysCmd(acRemoveMeter5A Do.Hourgla@Y0CHzzi@hilbeiBight`F serv`H I`JrTab L%`N  P %`T`V`,`X`ZXx3d   * ,8 ,h 2  B    0 (( P *X , ,   $ ( <8 x <   8 : P p  B   > 8 8 *@ ,p ,     > H <X   K[      ( 8@H PX`Bh  B  8 @  >`  * , , 8 @ :P <  >  <0 p x            ,  ( 0 8 @  @H   0   6 F8  b p  B  6H    @ ,  2(` (V    L X p x   6 .  0 :P 4    20 (h   $     ( 08@PX `hpBx $ From Access 97 Developer's HandbookC9.% by Litwin, Getz and Gilbert. (Sybex).0% Copyright 1997. All Rights Reserved.)Use database order for string comparisons  Purpose:) Checks the Link for the named table.! Based on code from Ken Getz.$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In: strTable - table to check Out:6 Return Value - True if successful; False otherwise History:6 Created 09/13/94 pel; Last Modified 07/10/96 pel]`(2 Check for failure. If can't determine the name of4 the first field in the table, the link must be bad.  %% !' "'dp'k`iXx Purpose:7 Gets the directory of the currently open database.2 Based on code originally from Mike Gunderloy.$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In: None Out:8 Return Value - The name of the directory as a string History:6 Created 09/13/94 pel; Last Modified 12/20/95 pel&`]]]GetDBDir', .( (!'* *$ .\b * * $ '* *$ 0'$2z& "S Error# "!6:  "!8 : < ,A@42Hn@i8 Purpose:1 Check status of Links and relinks if broken.9 If broken, first try the current database directory.7 If that fails, present user with file open dialog.$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In:4 strDataDatabase - Name of backend data database6 strSampleTable - Name of a K[linked table to check Out:7 Return Value - True if successful; False otherwise History:6 Created 09/13/94 pel; Last Modified 12/20/95 pelD]]]]]]](]@]X]p]adhVerifyLinks',% Verify Links using one sample table. B$'F F'>\k9 Get name of folder where application database is located$$'H H @$ ~* Data database found in current directory. H @'Nd0 Let user find data database using common dialog The required file ' @' could not be found.'J J! You can use the next dialog box "to locate the file on your system. $^ $^ $^'J J! If you cannot find this file or #are unsure what to do choose CANCEL'J J! at the next screen and call the 4local database administrator, or program developer:  $^ $^'J J( Washington State Department of Health $^'J J Diabetes Control Program $^'J J (360) 236-3738'J J : < ,A@49 Display Open File dialog using the adhCommonFileOpenSave% function in the basCommonfile module XAccess (*.mdb)*.mdb$`'X b b d'Z   h Xj ZlLocate Data database filen$f'N N$p  User pressed Cancel. -You can't run database until you can locate ' @'.'J J : < ,A@4'>\dx N$r'Nk`kX0Rebuild Links. Check for number of tables first. .L L!!t'V xRelinking tables V$v'F Loop through all tables.4 Reattach those with nonzero-length Connect strings.'T P L!- If connect is blank, its not an Linked table P!z T 'T ;DATABASE= N P(z + The RefreshLink might fail if the new path ! isn't OK. So trap errors inline.h PB@| If one link bad, return False "'>\kk ~ T $v'F P'>\  $v'F z D "S  Error# "!6:  "!8 : < ,A@4n8 \0 i( {Attribute VB_Name = "basLinkedTables" ' From Access 97 Developer's Han dbookLby Litwin,@ Getz 4 Gilbert. (Sybex)NCopyright 1997.@ All Rs Reserved.' Option Compare Datae 'Use dorder for sng c1isons GExp licitPub Func1heck}(!~ As S')Boolean > ' Purpose: C$s the,nkKnd Y`len' @Based sc ode fKen/FÃ, c E"In 0 Theı !_.E/#g5dnd@)E eikDBDir(bijcSiidirec?($c ly n&ko inal@blMike Gun loy?m0#' ?mc?mE=C+mNonfajN"&G(as a/jj12/2j5jfGoT~o"?OCndbdXAoDAO.CADb"&Proc څOcSetφHjF= fi#Do WhileC$o#, 1r)m"\= LeftLejn) 1L8oop&tUC`( D@D +10Exit iutSel}6 QPsZAMsgBox "@or#" &.Num ": 5Descri|, _ vbPOKOn@9+Critical,)TXG3 H~adhVerifyAOrS''(I SampleOs Integer%_L1sbstatusKbI‘re^s obrokenK [S, btryO=that fAis, prnt u withP+SialogC' OK[POPOP韑OP#'4&- r@ofrc`d !6a rx?/+ ???' V ??V +>-`9)TӃTڎVz/c>mx DBQ[QFQm tdfU'intI6QFs_`P ЙlngFlagLong9ekP^s ' sE5rs6iX sDD6gQAA`Fb]q@ۛaי"x;a RIT U efolqwheapa҆is lo~cp~pUZ(P  (`k&&^< 0g+ 1G ";DATABASE=(ISV'f 9h! Pmigh0|a06ife new pathisn9OK. So trap err@ors in e 1On Esume N{q Re@3 " bad, r%7 <o;o;;s;A 7 00Up e0.! P%w^ ` :Oxt/ & Rem|ov# f1Exit F{_DSelq6CaP/OX"0or6#+.F!J& &"1De ipAl%c Rfe2) YFN_NODEREFERENCELINKSXadhOFN_LONGNAMES InitialDir1 FilterIndex˟ DefaultExty strFilenameefResultIEZATKHXYXBQXDOPJGLJ_ULQBRXC: 35YBMIUKDHCCGNVDXFKYQWENTPBQVE:NKPROJECT BPROJECTwmKl` P,h 'h:|XGetOpenFileNameAX<GetSaveFileNameAXd(CommDlgExtendedErrorxMEP(<.<< < .h00h2Hh4`hXxh6h8h:h<h>h@hB hD87 DehFPhlhtz ahHhJ7. AhLhNhP OhR+T`8  )VX%+Z ( )V%+\K[P ʐbLʐbXLʐdLʐh8LʐlLʐn`LʐrLʐvHLʐxLʐ|L0H|LH~L+fx ^^il 0i Pij pi i i in ih  V(%``@` +`iXii +rXi`hʐ^Lʐ`Lʐd0LʐfLʐjLʐpLʐt LʐzpLʐ~L` p0X`x8H  * ,8 ,h   (08@HPX H`HpH            ( 8 HXhx BL* < 8( $`  * , ,   ( F8 : : 0 >0 <p F , >( ,h :  < (08@ (Hp  68"p >     (  0 @  H X ` h p 8x       8 :8 x      : : .P  6 : 4 :8 x       B . B( :p 8  * ,  ,P   , 4   *0 `,  B K[ <  * ,8 ,h   :  > @ H Xh   $ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved.s\"XP^^0^H^`^x^^^^^^^ ^8^P^h^^^^^p` ]$ ]$ ]$]$]$0*]$X]$ ]$]$8]$]$ ]$@`]$]$]$ ]$H]$]$p]$   !'-6 This is the entry point you'll use to call the common1 file open/save dialog. The parameters are listed below, and all are optional.$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In:@ Flags: one or more of the adhOFN_* constants, OR'd together.4 InitialDir: the directory in which to first look4 Filter: a set of file filters, set up by calling) AddFilterItem. See examples.8 FilterIndex: 1-based integer indicating which filter5 set to use, by default (1 if unspecified)? DefaultExt: Extension to use if the user doesn't enter one.& Only useful on file saves.7 FileName: Default value for the file name text box.& DialogTitle: Title for the dialog.3 OpenFile: Boolean(True=Open File/False=Save As) Out:6 Return Value: Either Null or the selected filename]]0]H]`! Give the dialog a caption title. $G'j j$G'jj $G'j l$G'lj $G'j $G'j n$G'nj h$G'hj0 Allocate string space for the returned strings. $\$'$\'@7 Set up the data structure before you call the function V V90 !92 j9X 9: 9< 9> @9@ @9B n9F l9l 9L L9D1 Didn't think most people would want to deal with these options.94$\96989Pq1 This will pass the desired data structure to the3 Windows API, which will in turn it uses to display the Open/Save As Dialog. h V$T'dH V$Z'k04 The function call filled in the strFileTitle member4 of the structure. You'll have to write special code' to retrieve that if you're interested. 0 You might care to check the Flags member of the4 structure to get information about the chosen file.. In this example, if you bothered to pass in a4 value for Flags, we'll fill it in with the outgoing Flags value. l$G V!l'lj V!<$r'fd0'fk ix' Tack a new chunk onto the file filter.< That is, take the old value, stick onto it the description,3 (like "Databases"), a null character, the skeleton1 (like "*.mdb;*.mda") and a final null character.$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyr K[ight 1997. All Rights Reserved. In:& strFilter: existing file filter- strDescription: new filter description varItem: new filter Out:$ Return value: new file filter $G*.*'j X    '`iH5 Trims the Null from a string returned by an API call$ From Access 97 Developer's Handbook% by Litwin, Getz and Gilbert. (Sybex)% Copyright 1997. All Rights Reserved. In:4 strItem: string that contains null terminator Out:8 Return value: same string without null terminator]x  '    $'rdx 'rkhi`XAttribute VB_Name = "basCommonFi@le" ' From Access 97 Developer's HandbookLby Litwin, Getz 4 Gilbert. (@Sybex)NCopyright 1997. All Rs Reserved.' Option pare PDataeExplicit Type tagOPENFILENAME  lStructSize A@s LonghWndOwner Instancэstrt*i$ CustomnMaxCN IndexD8C7'PeTitl InitialDiBCM7Flags,OffsetAIntegerD\Extensvc!Def lOAH.`lpfnH@TemplateEEnd AADeclFuncšadh_apbiOpe+Lib "comdlg32.dll" _@4Alias "L A" (Xofn$ )Boolean Savew#I C6lmDlgb3dedErrory (0 Pu.b@p@tf 'OFN_READONDLY&H1sOVERWRITE@PROMPTB2SHIDEJ 4NOCHANGE(DIR 8SH@OWHELPb10u VALIDA TEALLOWMULTISE(LEC0EXTENSIONDIFF`N4PATHMUSTEXISC8UAK10uC) /VSHAW TNO>RET8URNTE|ST!NETWORKBUhTTO 2LONGAS" TEXPL`DFY P6CELINK# bT k  ݡnoy("Cal ByRef Variant,V@ 9@_nBSViç0[aultt[JYhogVgZUt2Jq^a' This  the entry point you'0uso ca!^k' f PHn/sY d .90e Љs dlistedurbw,oralP "' d$In: ': one 0aDmoof !adh_* cots, OR'd toger% q):directo`in w0hich`prst l2Q'A(: a Q@A,BupAVG1Add-tem. Se@ xa0esY D: 1-d P"Apdicat #q to 0%,q defa2 (1 if unspecifie !>spa-r2( &50e#= LefLt(B & "(256, 0), 4.tS%=7 S@NQ9datPJtQuXbe ealkfͳWp2/a.lSStructSize = Len(ofn) .hWndOwnerxApplication\Access*^strFilt^ 8N"Inde>xAKenamenMax9$ TitlJK(Dialog&Flagsk (DefExtÀ ault Init*DiHCur ' Didn't think most peopmwould wano deal withth@ese ops. .hInsthancAH0@,CustomCh-ing(255, 0IEAc F HlpfnHookEnd W( ' This,ll pass8e1sired `data @#u`re toA Windows API, whichCin turn it useEisplayED Open/Save As@WgtFCIf4e@'enCfReso3adh_a`piGetA NElsA3@HIfGe funco caaIfill@G:heGAmember,' ofSFP. You'@h>Swrit pecO codD'a-retrie $that if y0in{`ested)&%T h &'! mig ht`c8checkCfcg-'+?ge`nformA" aboube chosen "e$ ' ICAaKexam@e,D bo@K BN)avalu`.or Ke&.JAl"`go@cJNot IsMissi)L J. MCommon'D,dTs, tak` co 0,@Ii` A dg,c ' (li@"Dba`p"), @,a8rac nke0letoD&*.mdb;a")T a yan@nFrom A 97 Dnloper's H b@Eby Litwin, "z Gil~t. K[(Sybexd@' Copyrbo1997. A@Rs erveAx3'In:4v: exist+1r~:`1]5!; #OutRe]R66$66"*.*" 2- &-0-& vbA4CharXcx /6] =ByV@#u26o2pNA`nP) f$bs@\pbp#anro2dV'e''r 'd ''l~ ' @['1:` hc8 0 r'LeftD- 1^#+ &]Q'S Rfi୳AuspmdSCa`2" requdV.'!qq L&:q"'unot fo.`&&pvYou]Bbn0q] bAL+ X6hJQN Rn=0*o[L+3׫xME( SLS S<<<<< <,< <$<0<4<8<<<(  X  R$ N0{30BE3D6E-CADF-11D6-9A87-00AA002AB2F7}  X`| X % x % L`s\"% ly "% 1912% %`` of `umbe`t fi`m li`in s`pend`H@``%``` `x````0```@`h~`|`x`v`p,` &&iiii  ****`****``ng r`%hX % % `X`<  " 2 . T Lx , J LH L    (08@H PX `hp x     ( 8H ` px* * < :8 ,x$    $( 80 h $x$ $$0 X"x"    *  K[ ^@  J8P Rp  .0 @   BX  (, * H  X Th T T Tp N   T( N $ T T8 *  \ 8 2@ x    0   P `H      @ *0 8H P p  "     8  H Xh x      (8 ( @0P(        $( 8 H$Px  B & @ LH ,  8B   8  H  @X,      & B ,P ` x (   B  F B0 Bx B  ( (8 2` 4  , 20H  (x 2  &8@ HXZh  0xp(Program loaded into same folder as cdemsinkH ilUTD'olde9FFiles named sequentially "{17 numbers}.res" eg. 200111191200026000.dat&each file can contain multiple recordsDProgram counts of OBX records equals number of results in input fileilbeEprogram links to cdem_dta.mdb in same directory and appends new labs. IEalso create a cdems style copy of every tracked lab in the input filewith name tblLabs_mmddyy_xW]@]`]]]]]]]0]H]`]x]]]]]]] ]8]P]h]]]]]]]](!new dlk 9/4/01]@DAT'unk'S*$\' .L''''''to assign the new table name#===================================5Creates an output table name (eg., "tblLabs012505_1")3these need to be manually erased or they accumulatetblLabs Z_ $a  ' tblLabs Z_ '  L%. Create a new TableDef object. 2 Create fields and append them to the new TableDef object. clinic_code 75 B@ chart_nu K[mber 75 B@raw_code 75 B@result 75 B@ service_date 75 B@ status_flag 75 B@amended 75 B@ Last_name 75 B@ First_name 75 B@DOB 75 B@q  L!B@  L%.#===================================*. 9("clinicid='dat' from setting above' !C@K.FileName = "HL7result.txt" 'this is example of hard coded file name9C@(MsgBox " found cnt " & .FoundFiles.Count7 5!t<************************************************************the file parsing routine: 72 Open file.$b" Loop until end of file. " Read line into variable. $PIDKT  $ $ $  $'  $ $ $  $'  $ $ $  $'  $ $ $  $' $/ $/ $'OBRKT  $ $ $  $' $/ $/ $'OBXKT  $ $ $  $'  $ $ $  $'   $ $' $0C  '2HMsgBox "result/amended result field " & TestResult & "/" & AmendedResultkh Comment9to capture hdl comments'd 'k  TRIG. >400<to report uncalc ldlUTP'k ------------get cdems labcodes0SELECT tlkpCrosswalk.raw_code FROM tlkpCrosswalk" WHERE (((tlkpCrosswalk.lab_code)=' '));'  L%. ! !A"is this lab raw_code in Crosswalk? B@ "'2only returns one recorddPna'k8--------------------- na  B@  )8cliniccode='unk' ===========   )dblank )kh ===========  )  )  )c ) =========== $ F )d  )k ===========  )  ) $ X )kH B@  '3lab results tracked reportedk  '4total labs reportedS n ' B@ V Close file. steps through filesall done' B@d8 There were no files found.A@4k q L!B@;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++===============================:data now in me.tblLabsXX/xx/xx_x - but has no clinic codesEthis section fills in clinic code and chart number using lastname&dob========[tblLabs Z_ ]'  UPDATE tblDemo INNER JOIN  ON (tblDemo.dob =  .dob) AND (tblDemo.last_name =  .last_name) SET  ).chart_number = [tblDemo].[chart_number], '.clinic_code = [tblDemo].[clinic_code]  WHERE ((( .clinic_code)='unk'));'  L% . B@ K[ L!B@:matches on chart_number only those records still unmatched[tblLabs Z_ ]'  UPDATE  INNER JOIN tblDemo ON  '.[chart_number] = tblDemo.chart_number SET  ).[clinic_code] = [tblDemo].[clinic_code]  WHERE ((( .[clinic_code]) = 'unk'));'  L% . B@===============================<data now in me.tblLab - need to append to tblLab of dta file[tblLabs Z_ ];' 9INSERT INTO tblLab (clinic_code, chart_number, raw_code, 7result, service_date, status_flag) SELECT clinic_code, @chart_number, raw_code, result, service_date, status_flag FROM  '  L% . B@==== All done. $ ^Total patients in input file:   $ ^!Total lab records in input file:    Lab Records in measurement set:   $ ^Records appended:  ! A@4.L.L| "!8A@4oX@Steps through a string input looking for character "|" (Chr$124);when the count of Chr$(124) characters found equals section;Start looking from that point on for character "^" Chr$(94);When the count of Chr$94) characters found equals componentreturn the positionInput! instring = the string to parse+ section = the number of Chr(124) to find- component = the number of Chr$(94) to find&Returns the column position as variant]]0#holds col for desired nth Chr$(124)]H"holds col for desired nth Chr$(94)"find the column of the desired "|"''  a  '  $|$^G  'jxfind the col of the desired "^" ''  a  '  $^$^  $|$ ^G  'j 'iMPut downloaded files into subfolder under CDEMS eg.,"c:\cdems\labcorp_files\"Wsearches for new downloaded labcorp lab files in CDEMS directory and in sub directories$$9(: example of hardcoded path- .Lookin = 'c:\cdems\lab_files'th+Works with labcorp internet-based hypersendҷAttribute VB_Name = "Form_splash" Bas0{30BE3D6E-CADF-11D6-9A87-00AA002AB2F7} |@GlobalSpacFalse dCreataDblTru Predecla Id"Expose_Tem܀teDerivCustomizD$ Option CompB DV >licitP1"aSubma nd1_Ck() 'Works with labcorp internet-b)d hype rsendProgram load[o sfolder as cdemsut down`files-ubunCDEMS eg.,"c:\\"_ R\@q'Fnd sequentially "{17 numb@)@}.res" 200191026000.da@D'each  can contain multip@|reAd@0;counts of OBX D !w@A9:p?ApIEMinZtoH_dta.mdb PditoryB h app\s newfs.G@e aZ sty-copyA evetrackgQAthe#B{AR tblLabs_mmd`dyy_x@n Error GhoTo_@ Cl@CDim rstCod@zAs DAO.RCSe^ r WDBZ%qryN!Qu`DefTffldFiel`Z K S` ng TextpLine)strSQL-gn8nicA#IDqLoca}qi/1Test1T{Res@ZCollec!5r"Am XedW#aKya BoolHeanLaWFiMdob cnt_x=Igertot]ons Rod MInyAVQex \'dlk 9/4/01#xPatoP&TD|AT "SuLnk&e= c(83, "*" !Set }= CurrDbSS = 0G?JzJ#= t0 'Yassign 7S" SQ'=w3 'rPpfoLutX (o "$X0125054_1%'