<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=80.248.10.233</id>
		<title>Code4Lib - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=80.248.10.233"/>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/Special:Contributions/80.248.10.233"/>
		<updated>2026-06-24T21:48:01Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_talk:Community_Portal&amp;diff=2732</id>
		<title>Code4Lib talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_talk:Community_Portal&amp;diff=2732"/>
				<updated>2009-04-20T21:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;80.248.10.233: New section: Knossesog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;part 2 of OCLC Connexion cataloging macro.&lt;br /&gt;
&lt;br /&gt;
====================================&lt;br /&gt;
&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************   &lt;br /&gt;
&lt;br /&gt;
'              CHANGE 049 LINE TO REFLECT BRANCH (NHMM, NHMR, NHMC, ETC)&lt;br /&gt;
' Remove existing 049, then put a new one in with the correct ending letter.&lt;br /&gt;
&lt;br /&gt;
   bool% = CS.GetField(&amp;quot;049&amp;quot;, 1, wholeline$)  &lt;br /&gt;
   if bool% = TRUE then&lt;br /&gt;
      bool% = CS.DeleteField (&amp;quot;049&amp;quot;, 1)&lt;br /&gt;
      if bool% = False then&lt;br /&gt;
         msgbox &amp;quot;PROBLEM: program couldn't remove old 049 tag.  Program ending.&amp;quot;&lt;br /&gt;
         goto Done&lt;br /&gt;
      Else&lt;br /&gt;
         bool% = CS.AddField( 1, st49$)&lt;br /&gt;
         if bool% = False then&lt;br /&gt;
            msgbox &amp;quot;PROBLEM: program couldn't add new 049 tag.  Program ending.&amp;quot;&lt;br /&gt;
            goto Done&lt;br /&gt;
         End If&lt;br /&gt;
      End If         &lt;br /&gt;
   else&lt;br /&gt;
      msgbox(&amp;quot;Program error.  Can't find 049 Tag.  Program ending.&amp;quot;)&lt;br /&gt;
      goto Done&lt;br /&gt;
   end if         &lt;br /&gt;
   &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
&lt;br /&gt;
 '                   FASTCATTERS: CHECK FOR DLC DLC, IF CALL # = 050.  If not found call CheckPcc&lt;br /&gt;
 if fastCatter% = TRUE then &lt;br /&gt;
     call CheckDlc (dlc%)    &lt;br /&gt;
     if dlc% = FALSE then&lt;br /&gt;
          call CheckPcc (pcc%)      &lt;br /&gt;
          if pcc% = FALSE then&lt;br /&gt;
             msgbox &amp;quot;This is neither a DLC DLC nor a PCC record.&amp;quot;&lt;br /&gt;
             answer% = Dialog (YesNo)          &lt;br /&gt;
             if answer% = 2 then goto Done      'IE END PROGRAM, IF USER CHOOSES.&lt;br /&gt;
          end if                                            ' ON if pcc% = FALSE      &lt;br /&gt;
     end if                                                 ' ON if dlc% = FALSE     &lt;br /&gt;
  end if &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
&lt;br /&gt;
'                       CHECK FOR SERIES TAGS, CHECK SERIES PUNCTUATION&lt;br /&gt;
     Call CheckSeries&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 '&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;br /&gt;
 '                    GOTO GOTO GOTO GOTO GOTO GOTO GOTO GOTO GOTO &lt;br /&gt;
 '                    PROGRAM JUMPS AHEAD, IF ANALYTIC IS CHOSEN&lt;br /&gt;
 '&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;br /&gt;
 &lt;br /&gt;
  '               SKIP CALL # STUFF, ITEM LINE STUFF, IF ANALYTIC  &lt;br /&gt;
  if analytic% = TRUE then goto Addlines&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' *************************************************************************** &lt;br /&gt;
   &lt;br /&gt;
'                  ADD DELIMITER FOR RETROCON (INSERT |r 2 IN ITEM LINE)&lt;br /&gt;
   if mydialog.checkRet = 1 then item1$ =  &amp;quot; 949 1ßr 2 ßg 1 ßc &amp;quot;&lt;br /&gt;
   SaveItem1$ = item1$&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
  '                FIND CALL NUMBER, BASED ON WHERE USER SAID TO LOOK&lt;br /&gt;
                                             &lt;br /&gt;
      Call GetCallNo(callTag$, TagSubstitute%, GotIt%)&lt;br /&gt;
     &lt;br /&gt;
      if GotIt% = FALSE then&lt;br /&gt;
           if mydialog.checkLevel &amp;lt; 2 then&lt;br /&gt;
              msgbox &amp;quot;Program either couldn't find &amp;quot; + callTag$ + &amp;quot; or couldn't find a call# there.  Program Ending.&amp;quot;&lt;br /&gt;
              goto Done&lt;br /&gt;
           else&lt;br /&gt;
              msgbox &amp;quot;Program either couldn't find &amp;quot; + callTag$ + &amp;quot; or couldn't find a call# there.&amp;quot;&lt;br /&gt;
              Dialog YesNo&lt;br /&gt;
              if YesNo.BG1 = 1 then goto Done                              'TOPCATTER CHOOSES TO END PROGRAM&lt;br /&gt;
           end if&lt;br /&gt;
      end if &lt;br /&gt;
                                                                                     &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
   &lt;br /&gt;
   '             FIND CALL # DATE, 260 DATE, COMPARE TO FIXED FIELD DATE&lt;br /&gt;
   &lt;br /&gt;
   call CheckDates(dateFF1$, dateProblem%) &lt;br /&gt;
   &lt;br /&gt;
   If dateProblem% = TRUE then                        'Change on 11/22/4&lt;br /&gt;
      Dialog YesNo&lt;br /&gt;
      if YesNo.BG1 = 1 then goto Done                        'USER CHOOSES TO ABORT PROGRAM&lt;br /&gt;
   End If&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' CHECK FOR MORE THAN ONE CALL NUMBER IN LINE THAT HOLDS CALL NUMBER.  IF FASTCATTING, END PROGRAM.&lt;br /&gt;
' OTHERWISE, WARN &amp;amp; ADVISE USER.&lt;br /&gt;
  &lt;br /&gt;
  if instr(fCallno$, &amp;quot;ßa&amp;quot;) &amp;gt; 0 then  &lt;br /&gt;
     if fastCatter% = True then&lt;br /&gt;
        msgbox &amp;quot;PROBLEM: 2 call numbers in call# tag - Program Ending.&amp;quot;&lt;br /&gt;
        goto Done&lt;br /&gt;
     else&lt;br /&gt;
        msgbox &amp;quot;PROBLEM: 2 call numbers in call# tag&amp;quot; &amp;amp; _&lt;br /&gt;
               chr$(13) &amp;amp; _&lt;br /&gt;
               &amp;quot;Correct call number should be put in 090 field.&amp;quot;&lt;br /&gt;
        Dialog YesNo&lt;br /&gt;
        if YesNo.BG1 = 1 then goto Done    'USER CHOOSES TO END PROGRAM&lt;br /&gt;
     end if&lt;br /&gt;
  end if &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
'CHECK FOR A CALL NUMBER STARTING WITH Z, AND A FOLLOWING NUMBER &amp;gt;= 1200&lt;br /&gt;
  &lt;br /&gt;
  Call CheckCallZ(badZ%)&lt;br /&gt;
  &lt;br /&gt;
  if badZ% = TRUE then&lt;br /&gt;
     if fastCatter% = True then&lt;br /&gt;
        msgbox &amp;quot;PROBLEM: Z call number above 1199  - Program Ending.&amp;quot;&lt;br /&gt;
        goto Done&lt;br /&gt;
     else &lt;br /&gt;
        msgbox &amp;quot;PROBLEM: Z call number above 1199&amp;quot;&lt;br /&gt;
        Dialog YesNo&lt;br /&gt;
        if YesNo.BG1 = 1 then goto Done    'USER CHOOSES TO END PROGRAM&lt;br /&gt;
     end if&lt;br /&gt;
  end if&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************       &lt;br /&gt;
  '            CHANGE ITEM LOCATION, IF CALL # 1ST LETTER &amp;lt; M AND &amp;gt;= A, AND BRANCH = MAIN&lt;br /&gt;
  '            ALSO, GET 1ST TWO LETTERS FOR PZ CHECK (PZ INDICATES JUVENILE BOOK)&lt;br /&gt;
  '            ALSO ALSO: IF CALL # STARTS WITH M9 (9 = ANY NUMBER), FORCE OVERSIZE&lt;br /&gt;
  '                          NOTE: MAKE THIS A SUB PROGRAM&lt;br /&gt;
   &lt;br /&gt;
   Firstlet$ = mid(fCallno$, 1, 1)                              'GET 1ST LETTER FOR LOCATION CHANGE (MLS, MLS1)&lt;br /&gt;
   twolet$ = mid(fCallno$, 1, 2)                                                'GETS 1ST TWO LETTERS OF CALL #&lt;br /&gt;
   let2$ = mid(fCallno$, 2, 1)                                        'ISOLATE 2ND LETTER FOR M9 OVERSIZE CHECK&lt;br /&gt;
 &lt;br /&gt;
   if mydialog.branch = 0 then                                                                   'BRANCH = MAIN     &lt;br /&gt;
       if Firstlet$ &amp;lt; &amp;quot;M&amp;quot; and Firstlet$ &amp;gt;= &amp;quot;A&amp;quot; then&lt;br /&gt;
           locate$ = locate$ + &amp;quot;1&amp;quot;                                                         'IE mls BECOMES mls1&lt;br /&gt;
       end if&lt;br /&gt;
       if LCase(twolet$) = &amp;quot;pz&amp;quot; then chksize%  = FALSE                        'NO SIZE CHECK FOR JUVENILE BOOKS&lt;br /&gt;
   end if                              ' [mydialog.branch = 0]&lt;br /&gt;
     &lt;br /&gt;
     '                    MINIATURE SCORE CALL#s MUST BEGIN WITH 'MS'&lt;br /&gt;
   if paperBrnch$ = &amp;quot;[]&amp;quot; then                                                               'IE MINIATURE SCORE&lt;br /&gt;
       if lcase(twolet$) &amp;lt;&amp;gt; &amp;quot;ms&amp;quot; then&lt;br /&gt;
           msgbox &amp;quot;For Miniatures Scores, 1st two letters of call number, in 099 tag, &amp;quot; _&lt;br /&gt;
                  &amp;amp; &amp;quot; MUST be 'MS'.  Program ending.&amp;quot;&lt;br /&gt;
           goto Done&lt;br /&gt;
       end if&lt;br /&gt;
   Else                                                                 'I DON'T THINK THIS else EVER GETS USED&lt;br /&gt;
       if lcase(twolet$) = &amp;quot;ms&amp;quot; then&lt;br /&gt;
           msgbox &amp;quot;If 1st two letters of call number, in 099 tag, are MS, then branch/location should be &amp;quot; &amp;amp; _&lt;br /&gt;
                  &amp;quot;Miniatures Scores.  Program ending.&amp;quot;&lt;br /&gt;
           goto Done&lt;br /&gt;
       End If&lt;br /&gt;
      &lt;br /&gt;
   End If&lt;br /&gt;
   &lt;br /&gt;
   '                  NOTE: if call # starts with pz1 - pz4, needs reclassing&lt;br /&gt;
   '                        if call # starts with pz5 - pz10, Audn: needs juvenile indication&lt;br /&gt;
   '                        if call # starts with &amp;gt; pz10, it should be brought to a professional&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
  '                  CHECK 300 TAG FIELD FOR BOOK SIZE.                                       &lt;br /&gt;
&lt;br /&gt;
  if chksize% = TRUE then call SizeCheck(ovNote$, locate$, endnote$, stnote$, over%, ovmsg$, _&lt;br /&gt;
                                         let2$, Firstlet$, paperBrnch$)          'debug&lt;br /&gt;
  labelsize$ = ovnote$                 'LABELSIZE$ USED FOR &amp;quot;OVERSIZE&amp;quot; IN SLB LABEL PRINTOUT&lt;br /&gt;
                                       '           PROCESS&lt;br /&gt;
     &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************   &lt;br /&gt;
'                     GET NUMBER OF VOLUMES, IF MORE THAN 1  &lt;br /&gt;
   if mydialog.checkVol = 1  then&lt;br /&gt;
         msgtext$=&amp;quot;Enter number of volumes, 1 to 40: &amp;quot;&lt;br /&gt;
         Do&lt;br /&gt;
             again% = FALSE&lt;br /&gt;
             volumeNumber$ = InputBox$(msgtext)&lt;br /&gt;
             if IsNumber(volumeNumber$) = 1 then&lt;br /&gt;
                 numVol% = Val(volumeNumber$)                                           &lt;br /&gt;
                 if numVol% &amp;lt; 1 OR numVol% &amp;gt; 40 then&lt;br /&gt;
                     msgbox &amp;quot;Please enter a number between 1 and 40&amp;quot;&lt;br /&gt;
                     again% = TRUE&lt;br /&gt;
                 end if&lt;br /&gt;
             else&lt;br /&gt;
                 msgbox &amp;quot;Please enter a NUMBER between 1 and 40&amp;quot;&lt;br /&gt;
                 again% = TRUE&lt;br /&gt;
             end if &lt;br /&gt;
         Loop While again% = TRUE       &lt;br /&gt;
   end if                                              'FOR if mydialog.checkVol = 1&lt;br /&gt;
   &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
   '             MATERIALS FOR SPECIAL COLLECTIONS GET NO BARCODE, SO&lt;br /&gt;
   '                           MAKE bcodestrt$ NULL. &lt;br /&gt;
   '             END OF BARCODE (bCode$) INITIALIZED HERE&lt;br /&gt;
   bCode$ = &amp;quot;&amp;quot;   &lt;br /&gt;
   If doBarcode% = FALSE Then bcodestrt$ = &amp;quot;&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
'               GET PRICE FROM USER&lt;br /&gt;
&lt;br /&gt;
      Call GetPrice(money$)&lt;br /&gt;
      If money$ &amp;lt;&amp;gt; &amp;quot;&amp;quot; then price$ = price$ &amp;amp; money$ &amp;amp; &amp;quot; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
 '              BUILD AND ADD ITEM LINES TO RECORD, FOR MULTI AND SINGLE VOLUMES&lt;br /&gt;
 '                             NOTE: MAKE THIS A SUB PROGRAM&lt;br /&gt;
          &lt;br /&gt;
   if numVol% &amp;gt; 1 then                                   ' MAKE AN ITEM LINE FOR EACH VOLUME&lt;br /&gt;
         &lt;br /&gt;
       for j% = 1 to numVol%             &lt;br /&gt;
            item1$ = item1$ &amp;amp; (&amp;quot;v.&amp;quot; &amp;amp; Cstr(j%) &amp;amp; &amp;quot; &amp;quot;)  'CHANGE PART OF ITEM LINE FOR EACH VOLUME&lt;br /&gt;
           &lt;br /&gt;
            '             THIS PUTS THE TIEM LINE COMPONENTS TOGETHER AND ADDS &lt;br /&gt;
            '             IT TO THE RECORD, ONCE FOR EACH VOLUME.   &lt;br /&gt;
            bool% = cs.addfield (j%, (item1$ &amp;amp; circ$ &amp;amp; _   &lt;br /&gt;
                    stnote$ &amp;amp; ovnote$ &amp;amp; price$ &amp;amp; locate$ &amp;amp; status$ &amp;amp; bcodeStrt$ &amp;amp; _&lt;br /&gt;
                    item2$ &amp;amp; fCallno$))&lt;br /&gt;
                                      &lt;br /&gt;
            item1$ = SaveItem1$             'RESET START OF ITEM LINE, SO FOR NEXT VOLUME&lt;br /&gt;
       next j%                                                'LOOP BACK TO PROCESS NEXT VOLUME &lt;br /&gt;
                   &lt;br /&gt;
   else                                                                   'MAKE ONLY 1 ITEM LINE&lt;br /&gt;
   &lt;br /&gt;
        '                 GET END OF BARCODE (OR ALL OF BARCODE, &lt;br /&gt;
        '                 IF BARCODE READER BOX IS CHECKED)&lt;br /&gt;
        '   THERE HAS BEEN A SPORADIC PROBLEM OF BARCODE NOT BEING WRITTEM TO&lt;br /&gt;
        '   RECORD? OR NOT BEING DOWNLOADED FROM OCLC, WITH THE REST OF THE RECORD.&lt;br /&gt;
        '   SUSPECT THIS MIGHT BE DUE TO ALTERNATING BETWEEN USING A&lt;br /&gt;
        '   BARCODE READER AND NOT USING IT, AND/OR DOING A MULTI-VOLUME SET.&lt;br /&gt;
        '   SO HERE, THE WHOLE BARCODE IS CHECKED FOR LENGTH AND NUMBER&lt;br /&gt;
        '   CONTENT, JUST BEFORE IT IS WRITTEN TO THE RECORD.&lt;br /&gt;
        '   ALSO, SPECIAL COLLECTIONS MATERIALS GET NO BARCODE, SO IT WOULD BE&lt;br /&gt;
        '   SET TO NULL, AND NULL WOULD BE WRITTEN TO MEMORYER.TXT.  NEXT TIME&lt;br /&gt;
        '   PROGRAM RUNS, THERE WILL BE NO BARCODE READ FROM THAT FILE.&lt;br /&gt;
               &lt;br /&gt;
        If doBarcode% = TRUE Then &lt;br /&gt;
            Call GetBCEnd(bcode$, notMain%, reader%, bcodestrt$)                &lt;br /&gt;
            completeBarCode$ = BCodeStrt$ &amp;amp; bcode$&lt;br /&gt;
            if len(completeBarCode$) &amp;lt;&amp;gt; 14 then&lt;br /&gt;
               Msgbox &amp;quot;PROBLEM: Barcode isn't 14 characters long.  STOP: tell Mike or Kathryn.&amp;quot;&lt;br /&gt;
            End If&lt;br /&gt;
            if IsNumber(completeBarCode$) &amp;lt;&amp;gt; 1 then&lt;br /&gt;
               Msgbox &amp;quot;PROBLEM: Barcode isn't only numbers.  STOP: tell Mike or Kathryn.&amp;quot;&lt;br /&gt;
            End If&lt;br /&gt;
        End If    &lt;br /&gt;
        '                   CONSTRUCT AND ADD SINGLE ITEM LINE TO RECORD   &lt;br /&gt;
        bool% = cs.addfield (1, (item1$ &amp;amp; circ$ &amp;amp; _    &lt;br /&gt;
                stnote$ &amp;amp; ovnote$ &amp;amp; price$ &amp;amp; locate$ &amp;amp; status$ &amp;amp; completeBarCode$ &amp;amp; _&lt;br /&gt;
                item2$ &amp;amp; fCallno$))&lt;br /&gt;
                &lt;br /&gt;
   end if                                         'ON [numVol &amp;gt; 1]&lt;br /&gt;
   &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************    &lt;br /&gt;
    '                    REMIND USER ABOUT REQUIREMENTS FOR MULTI VOLUMES &lt;br /&gt;
    if numVol% &amp;gt; 1 AND doBarcode% = TRUE then            &lt;br /&gt;
        msgtitle$ = &amp;quot;Multivolume Reminder&amp;quot;&lt;br /&gt;
        msgtext$ =  &amp;quot;Each volume needs a barcode label.&amp;quot; &lt;br /&gt;
        if mydialog.checkReader = 0 then                        'IE NO BARCODE READER USED       &lt;br /&gt;
            msgtext$ = msgtext$ &amp;amp; chr$(13) &amp;amp; &amp;quot;Barcode in each item line needs last 4 numbers.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            msgtext$ = msgtext$ &amp;amp; chr$(13) &amp;amp; &amp;quot;Each item line needs whole barcode number.&amp;quot;&lt;br /&gt;
        end if                                &lt;br /&gt;
        msgbox msgtext$, , msgtitle$                       'THIS PUTS MESSAGEBOX ON SCREEN      &lt;br /&gt;
    end if&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************    &lt;br /&gt;
    '                       ADD DISC/FLOPPY INFORMATION &lt;br /&gt;
    '                       *IF* THERE IS ONLY ONE VOLUME&lt;br /&gt;
    if mydialog.CheckDis = 1 then&lt;br /&gt;
        if mydialog.checkVol = 1 AND numVol% &amp;gt; 1 then&lt;br /&gt;
            diskItem$ = &amp;quot;0&amp;quot;&lt;br /&gt;
            msgbox &amp;quot;This program doesn't add disk information to item records &amp;quot; _&lt;br /&gt;
                   &amp;amp; &amp;quot;for more than 1 volume.&amp;quot; &amp;amp; vbcrlf &amp;amp; vbcrlf _&lt;br /&gt;
                   &amp;amp; &amp;quot;REMEMBER:  add e.g. &amp;gt; &amp;quot; &amp;amp; chr$(135) &amp;amp; &amp;quot;c &amp;amp; 1 disc &amp;quot; &amp;amp; chr$(135) _&lt;br /&gt;
                   &amp;amp; &amp;quot;u d &amp;lt; to each 949/item record for which the volume has a disk, or disc.&amp;quot; &lt;br /&gt;
        else&lt;br /&gt;
            diskItem$ = &amp;quot;1&amp;quot;&lt;br /&gt;
        end if&lt;br /&gt;
        '            SEND FLAG (via diskFile) FOR MACRO NEW!DISC_FLOPPY&lt;br /&gt;
        open diskFile for output as #2&lt;br /&gt;
        print #2, diskItem$&lt;br /&gt;
        close #2&lt;br /&gt;
        '            RUN MACRO NEW!DISC_FLOPPY&lt;br /&gt;
        bool = cs.RunMacro (&amp;quot;New!Disc_floppy&amp;quot;)&lt;br /&gt;
        '            'GET DISK INFO  (via diskFile) FOR PRINTED LABEL FROM NEW!DISC_FLOPPY&lt;br /&gt;
        open diskFile$ for input as #2&lt;br /&gt;
        line input #2, labelEnd$&lt;br /&gt;
        close #2&lt;br /&gt;
    end if&lt;br /&gt;
    &lt;br /&gt;
' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&lt;br /&gt;
' GOTO HERE GOTO HERE GOTO HERE        PROGRAM SKIPS TO HERE FOR ANALYTICS &lt;br /&gt;
' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ &lt;br /&gt;
&lt;br /&gt;
Addlines:&lt;br /&gt;
 &lt;br /&gt;
    '                 PUT 910 (SHORT INITIALS) LINE TOGETHER, &lt;br /&gt;
    '                 DEPENDING ON ANALYTIC/RETROCON STATUS&lt;br /&gt;
        &lt;br /&gt;
    If analytic% then &lt;br /&gt;
        nineten$  =  &amp;quot;910  &amp;quot;  &amp;amp; &amp;quot;analytic &amp;quot; &amp;amp; init910$&lt;br /&gt;
    Elseif retro% = 1 then          'RETROCON        &lt;br /&gt;
        nineten$  =  &amp;quot;910  &amp;quot;  &amp;amp; &amp;quot;retro &amp;quot; &amp;amp; init910$&lt;br /&gt;
    Else&lt;br /&gt;
        nineten$  =  &amp;quot;910  &amp;quot; &amp;amp; init910$&lt;br /&gt;
    End If&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '                 PUT RECSBIN LINE TOGETHER&lt;br /&gt;
    recsbin$  =  &amp;quot;949  *recs=b;ins=&amp;quot; &amp;amp; initrec$ &amp;amp; &amp;quot;;ov=.&amp;quot; &amp;amp; fBnumber &amp;amp; &amp;quot;;&amp;quot;    &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************                          &lt;br /&gt;
    '                 ADD 910 LINE TO RECORD&lt;br /&gt;
    &lt;br /&gt;
    If init910$ = &amp;quot;&amp;quot; then&lt;br /&gt;
      Msgbox &amp;quot;PROBLEM: Initials for 910 line are blank. STOP; tell Mike or Kathryn.&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
            &lt;br /&gt;
    bool% = cs.addfield (1, nineten$)&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************    &lt;br /&gt;
    '                 ADD RECSBIN LINE TO RECORD&lt;br /&gt;
    If initrec$ = &amp;quot;&amp;quot; then&lt;br /&gt;
      Msgbox &amp;quot;PROBLEM: Initials for recs-bin line are blank. STOP; tell Mike or Kathryn.&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
    &lt;br /&gt;
    bool% = cs.addfield (10, recsbin$)&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
    '                  REMIND USER ABOUT PUTTING CALL # IN 090,&lt;br /&gt;
    '                  IF BRANCH ANALYTIC&lt;br /&gt;
    if analytic AND mydialog.branch &amp;lt;&amp;gt; 0 then&lt;br /&gt;
        msgbox(&amp;quot;REMEMBER: write call # in 090 tag&amp;quot; &amp;amp; vbcrlf$ _&lt;br /&gt;
                &amp;amp; &amp;quot;(For Shelf List card for branch library)&amp;quot;)&lt;br /&gt;
    end if&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' *************************************************************************** &lt;br /&gt;
  '                    CALL UP SLB SCREEN AND PRINT LABEL&lt;br /&gt;
      call PrintLabel(endnote$, labelSize$, numVol%, branch%, st49$, row049%, _&lt;br /&gt;
                      labelEnd$, space$, paperBrnch$)&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' *************************************************************************** &lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
  doSpellCheck% = TRUE   '  Don't do the spellcheck if the program skips to Done, because&lt;br /&gt;
                         '   that means there was probably some problem.  Only check spelling&lt;br /&gt;
                         '   if this program runs without hitch.  Change on 9/10/4&lt;br /&gt;
  &lt;br /&gt;
Done:&lt;br /&gt;
       &lt;br /&gt;
      &lt;br /&gt;
'  WRITE CHOICES BACK TO FILE FOR NEXT RUN &lt;br /&gt;
'This creates a new file, effectively removing the old choices by replacing&lt;br /&gt;
'them with the new file, and the (maybe) new choices.&lt;br /&gt;
    &lt;br /&gt;
   open filename$ for output as #4      &lt;br /&gt;
   print #4, init910$                                         '910 INITIALS&lt;br /&gt;
   print #4, initrec$                                     'RECSBIN INITIALS&lt;br /&gt;
   print #4, bcodestrt$                                   'START OF BARCODE&lt;br /&gt;
   print #4, mydialog.checkLevel         'FASTCAT, MONOGRAPH, TOPCAT CHOICE&lt;br /&gt;
   print #4, mydialog.Tag                                  'BRANCH LOCATION&lt;br /&gt;
   print #4, mydialog.checkRet                             'RETROCON CHOICE&lt;br /&gt;
   print #4, mydialog.checkReader                   'BARCODER READER CHOICE      &lt;br /&gt;
   close #4      &lt;br /&gt;
                   'WRITE &amp;quot;OTHER&amp;quot; CHOICE TO FILE AS NEW DEFAULT%&lt;br /&gt;
   open choice2File$ for output as #4&lt;br /&gt;
   print #4, choice2%&lt;br /&gt;
   close #4 &lt;br /&gt;
   &lt;br /&gt;
  &lt;br /&gt;
   msgbox &amp;quot;Program complete&amp;quot; &lt;br /&gt;
   Clipboard.Clear                              'DON'T LET A .B# GET USED &amp;gt; ONCE.  Change on 5/21/4 &amp;amp; 11/22/4                    &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' *************************************************************************** &lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   'CALL UP SPELL CHECKER                          'Change on 9/10/4  NO SPELL CHECKER IN CONNEXION TO DATE 2/17/5&lt;br /&gt;
   'If doSpellCheck% = TRUE then&lt;br /&gt;
   '   cmd$ = &amp;quot;%tp&amp;quot; &lt;br /&gt;
   '   sendkeys cmd$, 1&lt;br /&gt;
   'End If&lt;br /&gt;
    &lt;br /&gt;
end sub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************  &lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
'                          END OF MAIN PROGRAM&lt;br /&gt;
'                  FUNCTIONS AND SUB PROGRAMS START HERE&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
' ***************************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub Checkcall (callno$, callgood%)&lt;br /&gt;
'                   FUNCTION JUDGES CALL # GOOD IF IT HAS &amp;gt; 6 CHARACTERS&lt;br /&gt;
'                   &amp;amp; STARTS WITH A LETTER&lt;br /&gt;
'                       NOTE: callgood% IS SET TRUE BEFORE THIS SUB IS CALLED&lt;br /&gt;
'                       NOTE: THIS FUNCTION DOESN'T WORK WITH DEWEY CALL NUMBERS.&lt;br /&gt;
  dim Firstlet$&lt;br /&gt;
  &lt;br /&gt;
  Firstlet$ = trim(mid$(callno$, 1, 1))&lt;br /&gt;
  &lt;br /&gt;
  if len(callno$) &amp;lt; 7 OR _&lt;br /&gt;
     Firstlet$ &amp;gt; &amp;quot;Z&amp;quot; OR _&lt;br /&gt;
     Firstlet$ &amp;lt; &amp;quot;A&amp;quot; then callgood% = FALSE&lt;br /&gt;
end Sub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
function Checkdlc (dlc%)    &lt;br /&gt;
'                     LOOK FOR &amp;quot;DLC |b DLC&amp;quot; in 040 tag, if fastcat&lt;br /&gt;
&lt;br /&gt;
   dim cs as object&lt;br /&gt;
   dim wholeline$, bool% &lt;br /&gt;
   Set CS = CreateObject(&amp;quot;Connex.Client&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
   bool% = CS.GetField(&amp;quot;040&amp;quot;, 1, wholeline$)&lt;br /&gt;
   if bool% = TRUE then                                  'FOUND 040 LINE&lt;br /&gt;
      if instr(wholeline$, &amp;quot;DLC ßc DLC&amp;quot;) &amp;gt; 0 then dlc% = TRUE&lt;br /&gt;
   end if  &lt;br /&gt;
  &lt;br /&gt;
end function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
function CheckPcc (pcc%)    &lt;br /&gt;
'                      LOOK FOR PCC in 042 tag, if fastcat, and &amp;quot;DLC |b DLC&amp;quot; isn't found in 040 tag.&lt;br /&gt;
&lt;br /&gt;
   dim cs as object&lt;br /&gt;
   dim wholeline$, bool% &lt;br /&gt;
   Set CS = CreateObject(&amp;quot;Connex.Client&amp;quot;)&lt;br /&gt;
  &lt;br /&gt;
   bool% = CS.GetField(&amp;quot;042&amp;quot;, 1, wholeline$)&lt;br /&gt;
   if bool% = TRUE then                                   'FOUND 042 LINE&lt;br /&gt;
      if instr(wholeline$, &amp;quot;pcc&amp;quot;) &amp;gt; 0 then pcc% = TRUE        &lt;br /&gt;
   end if  &lt;br /&gt;
  &lt;br /&gt;
end function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub WriteBCode(bcodestrt$)&lt;br /&gt;
'                  THIS SUB PROGRAM ASKS USER FOR DIGITS 7-10 OF &lt;br /&gt;
'                  BARCODE, AND ADDS THEM TO THE USUAL 346000, &lt;br /&gt;
'                  TO FORM THE FIRST PART OF THE BARCODE.&lt;br /&gt;
   dim newBCode$, msgtext$, badInput%, j%, i$, vbcrlf$ &lt;br /&gt;
   vbcrlf$ = chr$(13)  &lt;br /&gt;
   msgtext$ = &amp;quot;Enter digits 7-10 of new barcode (exclude initial 3 4600 0):&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   Do &lt;br /&gt;
       badInput% = FALSE    &lt;br /&gt;
       newBCode$ = InputBox$ (msgtext$)    &lt;br /&gt;
    &lt;br /&gt;
       '                 LEAVE SUB PROGRAM IF CANCEL BUTTON CLICKED, OR NOTHING ENTERED&lt;br /&gt;
       if newBCode$ = &amp;quot;&amp;quot; then Exit Sub&lt;br /&gt;
    &lt;br /&gt;
       '                 MAKE SURE INPUT IS 4 CHARACTERS&lt;br /&gt;
       if len(newBCode$) &amp;lt;&amp;gt; 4 then&lt;br /&gt;
           badInput% = TRUE &lt;br /&gt;
           msgbox &amp;quot;Number of digits entered is not 4&amp;quot; _ &lt;br /&gt;
                  &amp;amp; vbcrlf$ &amp;amp; &amp;quot;Please enter exactly 4 digits&amp;quot;&lt;br /&gt;
       end if    &lt;br /&gt;
    &lt;br /&gt;
       '                  MAKE SURE ALL CHARACTERS ENTERED ARE NUMBERS    &lt;br /&gt;
       if IsNumber(newBCode$) = 0 then&lt;br /&gt;
           badInput% = TRUE           &lt;br /&gt;
           msgbox &amp;quot;Non-numeric characters entered&amp;quot; _ &lt;br /&gt;
                &amp;amp; vbcrlf$ &amp;amp; &amp;quot;Please enter numbers only.&amp;quot;&lt;br /&gt;
       end if  &lt;br /&gt;
  &lt;br /&gt;
    Loop while badInput% = TRUE &lt;br /&gt;
    &lt;br /&gt;
    bcodestrt$ = &amp;quot;346000&amp;quot; &amp;amp; newBCode$ &lt;br /&gt;
 &lt;br /&gt;
   &lt;br /&gt;
end sub            ' Sub WriteBCode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub ChngeInit(init910$, initrec$)&lt;br /&gt;
'                      GETS INITIALS FOR 910 LINE AND RECS/BIN LINE&lt;br /&gt;
    dim msgtext$&lt;br /&gt;
      &lt;br /&gt;
    msgtext$ = &amp;quot;Enter (short) initials for 910 field:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Get910:    &lt;br /&gt;
    init910$ = InputBox$(msgtext$)    &lt;br /&gt;
    if Init910$ = &amp;quot;&amp;quot; then &lt;br /&gt;
       msgbox &amp;quot;Initials are required for this field.&amp;quot;&lt;br /&gt;
       goto Get910&lt;br /&gt;
    end if&lt;br /&gt;
    &lt;br /&gt;
' *******************************************************************************&lt;br /&gt;
' ******************************************************************************* &lt;br /&gt;
    &lt;br /&gt;
    msgtext$ = &amp;quot;Enter (long) initials for 949 field:&amp;quot;    &lt;br /&gt;
     &lt;br /&gt;
Getrecsbin:    &lt;br /&gt;
    initrec$ = InputBox$ (msgtext$)    &lt;br /&gt;
    if initrec$ = &amp;quot;&amp;quot; then &lt;br /&gt;
       msgbox &amp;quot;Initials are required for this field.&amp;quot;&lt;br /&gt;
       goto Getrecsbin&lt;br /&gt;
    end if &lt;br /&gt;
   &lt;br /&gt;
end sub           ' Sub ChngeInit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
sub GetBCEnd(bcode$, notMain%, reader%, bcodestrt$)&lt;br /&gt;
'                     GETS LAST PART OF BARCODE, MAKES SURE IT HAS EXACT NUMBER&lt;br /&gt;
'                     OF DIGITS,  IF BARCODE READER CHECKBOX IS CHECKED, OR START&lt;br /&gt;
'                     OF BARCODE WAS NOT READ FROM MEMORYER.TXT, 14 DIGITS ARE &lt;br /&gt;
'                     REQUIRED.  OTHERWISE, 4 DIGITS ARE REQUIRED.&lt;br /&gt;
&lt;br /&gt;
dim msgtext$, i$, j%, badInput%, vbcrlf$, bcodeSize%&lt;br /&gt;
&lt;br /&gt;
  vbcrlf$ = chr$(13)&lt;br /&gt;
  &lt;br /&gt;
  If reader% = 0 AND bcodestrt$ &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then        'USER DID NOT CHECK BARCODE READER BOX&lt;br /&gt;
      msgtext$=&amp;quot;Enter last 4 digits of barcode: &amp;quot;  &amp;amp; vbcrlf  &amp;amp; vbcrlf &amp;amp; _&lt;br /&gt;
               &amp;quot;Barcode goes on COVER!!&amp;quot;&lt;br /&gt;
      bcodeSize%= 4&lt;br /&gt;
  Else                                                 'BARCODE READER BOX WAS CHECKED&lt;br /&gt;
      msgtext$=&amp;quot;Enter whole barcode - 14 digits:&amp;quot;  &amp;amp; vbcrlf  &amp;amp; vbcrlf &amp;amp; _&lt;br /&gt;
               &amp;quot;Barcode goes on COVER!!&amp;quot;&lt;br /&gt;
      bcodeSize%= 14&lt;br /&gt;
      bcodestrt$ = &amp;quot;&amp;quot;&lt;br /&gt;
  End If&lt;br /&gt;
        &lt;br /&gt;
  Do&lt;br /&gt;
      badInput% = FALSE  &lt;br /&gt;
      bCode$ = InputBox$ (msgtext$)&lt;br /&gt;
    &lt;br /&gt;
      '                   MAKE SURE REQUIRED NUMBER OF DIGITS ARE ENTERED&lt;br /&gt;
      if len(bCode$) &amp;lt;&amp;gt; bcodeSize% then&lt;br /&gt;
          badInput% = TRUE&lt;br /&gt;
          msgbox &amp;quot;Number of digits entered is not &amp;quot; &amp;amp;  cstr(bcodeSize%) _ &lt;br /&gt;
                 &amp;amp; vbcrlf$ &amp;amp; &amp;quot;Please enter exactly &amp;quot; &amp;amp;  cstr(bcodeSize%) &amp;amp; &amp;quot; digits&amp;quot;&lt;br /&gt;
      end if&lt;br /&gt;
  &lt;br /&gt;
      '                   MAKE SURE ALL CHARACTERS ENTERED ARE NUMBERS&lt;br /&gt;
      If IsNumber(bCode$) = 0 then &lt;br /&gt;
          badInput% = TRUE&lt;br /&gt;
          msgbox &amp;quot;Non-numeric characters entered.&amp;quot; _ &lt;br /&gt;
                 &amp;amp; vbcrlf$ &amp;amp; &amp;quot;Please enter numbers only.&amp;quot;&lt;br /&gt;
      end if&lt;br /&gt;
      &lt;br /&gt;
  Loop While badInput% = TRUE&lt;br /&gt;
  &lt;br /&gt;
End sub          ' sub GetBCEnd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub GetFxdFlds&lt;br /&gt;
'                      THIS SUB BREAKS OUT INDIVIDUAL FIXED FIELDS, USING THE BUILT IN&lt;br /&gt;
'                      CS.GetFixedField FUNCTION/METHOD.  I DON'T NEED ALL OF THEM&lt;br /&gt;
'                      EXTRACTED.&lt;br /&gt;
    &lt;br /&gt;
   Dim WholeLine$, BOOL%         &lt;br /&gt;
   Dim CS as Object &lt;br /&gt;
   Set CS = CreateObject(&amp;quot;Connex.Client&amp;quot;)   &lt;br /&gt;
&lt;br /&gt;
   CS.GetFixedField &amp;quot;Type&amp;quot;, typee$    &lt;br /&gt;
   CS.GetFixedField &amp;quot;BLvl&amp;quot;, blvl$    &lt;br /&gt;
   CS.GetFixedField &amp;quot;Desc&amp;quot;, desc$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;ELvl&amp;quot;, elvl$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;Form&amp;quot;, form$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;Cont&amp;quot;, cont$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;Ills&amp;quot;, ills$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Srce&amp;quot;, srce$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Conf&amp;quot;, conf$&lt;br /&gt;
   CS.GetFixedField &amp;quot;GPub&amp;quot;, gpub$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Fest&amp;quot;, fest$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;Audn&amp;quot;, audn$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;Biog&amp;quot;, biog$&lt;br /&gt;
   CS.GetFixedField &amp;quot;LitF&amp;quot;, fict$&lt;br /&gt;
      'CS.GetFixedField &amp;quot;Ctrl&amp;quot;,       'I'VE NOT USED THESE, SO DON'T EXTRACT THEM&lt;br /&gt;
      'CS.GetFixedField &amp;quot;MRec&amp;quot;, &lt;br /&gt;
   CS.GetFixedField &amp;quot;Indx&amp;quot;, indx$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Lang&amp;quot;, lang$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Ctry&amp;quot;, ctry$   &lt;br /&gt;
   CS.GetFixedField &amp;quot;dtst&amp;quot;, dtst$&lt;br /&gt;
   CS.GetFixedField &amp;quot;Dates&amp;quot;, dateFF1$&lt;br /&gt;
   CS.GetFixedField &amp;quot;,&amp;quot;, dateFF2$            'THIS IS HOW TO GET THE 2ND DATE !!!&lt;br /&gt;
&lt;br /&gt;
End sub           ' Sub GetFxdFlds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub CheckSeries&lt;br /&gt;
'                  THIS SUB LOOKS FOR SERIES TAGS &amp;amp; CHECKS PUNCTUATION THEREIN&lt;br /&gt;
&lt;br /&gt;
' PUNCTUATION: There should NOT be &amp;quot;, ßv&amp;quot;;  it should be &amp;quot;; ßv&amp;quot; (semicolon vs comma).  This&lt;br /&gt;
'              subfield is for volume information.  Aside from being incorrect, and having&lt;br /&gt;
'              (to me) unknown repercussions, it makes it impossible for series checking &lt;br /&gt;
'              software to correctly extract the series title from the volume information, and&lt;br /&gt;
'              thus makes it necessary to check all such titles manually, instead of with&lt;br /&gt;
'              that software.&lt;br /&gt;
&lt;br /&gt;
   dim cs as object&lt;br /&gt;
   Set CS = CreateObject(&amp;quot;Connex.Client&amp;quot;)    &lt;br /&gt;
   &lt;br /&gt;
   dim seriesTag$ (9)             ' AN ARRAY!&lt;br /&gt;
   dim wholeline$, i%, informed%, bool%&lt;br /&gt;
  &lt;br /&gt;
   seriesTag$ (0) = &amp;quot;400&amp;quot;&lt;br /&gt;
   seriesTag$ (1) = &amp;quot;410&amp;quot;&lt;br /&gt;
   seriesTag$ (2) = &amp;quot;411&amp;quot;&lt;br /&gt;
   seriesTag$ (3) = &amp;quot;440&amp;quot;&lt;br /&gt;
   seriesTag$ (4) = &amp;quot;490&amp;quot;&lt;br /&gt;
   seriesTag$ (5) = &amp;quot;800&amp;quot;&lt;br /&gt;
   seriesTag$ (6) = &amp;quot;810&amp;quot;&lt;br /&gt;
   seriesTag$ (7) = &amp;quot;811&amp;quot;&lt;br /&gt;
   seriesTag$ (8) = &amp;quot;830&amp;quot;&lt;br /&gt;
   informed% = FALSE&lt;br /&gt;
    &lt;br /&gt;
' *******************************************************************************&lt;br /&gt;
' ******************************************************************************* &lt;br /&gt;
&lt;br /&gt;
   for i% = 0 to 9 &lt;br /&gt;
       bool% = CS.GetField(seriesTag(i%), 1, wholeline$)             &lt;br /&gt;
       if bool% = TRUE then&lt;br /&gt;
       &lt;br /&gt;
                   'TELL USER ABOUT FIRST SERIES TAG ONLY&lt;br /&gt;
           if informed% = FALSE then&lt;br /&gt;
               msgbox &amp;quot;Record has series title tag(s). &amp;gt; &amp;quot; &amp;amp;  seriesTag(i%) &amp;amp; &amp;quot; &amp;lt; Series titles should be &amp;quot; &amp;amp; _&lt;br /&gt;
                      &amp;quot;checked against book.&amp;quot;&lt;br /&gt;
               informed% = TRUE&lt;br /&gt;
           end if&lt;br /&gt;
           &lt;br /&gt;
                  'CHECK PUNCTUATION OF SERIES LINE, WARN USER&lt;br /&gt;
           if instr(wholeline$, &amp;quot;, ßv&amp;quot;) &amp;gt; 0 then&lt;br /&gt;
               msgbox seriestag$(i%) &amp;amp; &amp;quot;  has  , |v &amp;quot; &amp;amp; chr$(13) &amp;amp; _   &lt;br /&gt;
                      &amp;quot;; |v  is correct&amp;quot; &amp;amp; chr$(13) &amp;amp; _&lt;br /&gt;
                      &amp;quot;   (semicolon instead of comma).&amp;quot;&lt;br /&gt;
           end if&lt;br /&gt;
           &lt;br /&gt;
       end if         ' On if bool% = TRUE&lt;br /&gt;
            &lt;br /&gt;
    next i%&lt;br /&gt;
&lt;br /&gt;
end sub           ' sub CheckSeries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sub CheckDates(dateFF1$, dateProblem%)&lt;br /&gt;
  '                  FIND CALL NUMBER DATE AND 260 DATE, COMPARE TO FIXED FIELD DATE  &lt;br /&gt;
  '                  THIS CALLS ANOTHER FUNCTION (GetDate) TO PULL THE DATES OUT OF THE CALL &lt;br /&gt;
  '                  NUMBER, AND ALSO FROM THE END OF THE 260 LINE, BECAUSE THE STEPS&lt;br /&gt;
  '                  INVOLVED ARE THE SAME.&lt;br /&gt;
  &lt;br /&gt;
  dim cs as object&lt;br /&gt;
  Set CS = CreateObject(&amp;quot;Connex.Client&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  dim wholeline$, date260Line$, date260$, targetLine$, callDate$&lt;br /&gt;
  dim vbcrlf$, bool%&lt;br /&gt;
  &lt;br /&gt;
  vbcrlf$ = chr$(13)&lt;br /&gt;
  dateProblem% = FALSE&lt;br /&gt;
  &lt;br /&gt;
  '================================================================================&lt;br /&gt;
  '          CHECK ON FIXED FIELD DATE (FIRST DATE ONLY)&lt;br /&gt;
  '================================================================================&lt;br /&gt;
&lt;br /&gt;
  dateFF1$ = trim(dateFF1$)&lt;br /&gt;
  If dateFF1$ = &amp;quot;&amp;quot; then&lt;br /&gt;
      msgbox &amp;quot;Program couldn't find Fixed Field date(s) for date checking.&amp;quot; _ &lt;br /&gt;
             &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
             &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
      dateProblem% = TRUE&lt;br /&gt;
      goto Done&lt;br /&gt;
  End If&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  '================================================================================&lt;br /&gt;
  '                      GET CALL NUMBER DATE &lt;br /&gt;
  '================================================================================ &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  if fCallno$ = &amp;quot;&amp;quot; then&lt;br /&gt;
      msgbox &amp;quot;Program couldn't find call number tag for date checking.&amp;quot; _ &lt;br /&gt;
             &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
             &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
      goto Done&lt;br /&gt;
  Else&lt;br /&gt;
      targetLine$ = fCallno$&lt;br /&gt;
  End If&lt;br /&gt;
                  &lt;br /&gt;
  callDate$ = GetDate(targetLine$)&lt;br /&gt;
  &lt;br /&gt;
  if callDate$ = &amp;quot;&amp;quot; then&lt;br /&gt;
      msgbox &amp;quot;Program couldn't find Call Number Date.&amp;quot; _ &lt;br /&gt;
             &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
             &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
      dateProblem% = TRUE&lt;br /&gt;
      goto Done&lt;br /&gt;
  end if            &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  '================================================================================&lt;br /&gt;
  '                              FIND 260 DATE &lt;br /&gt;
  '================================================================================  &lt;br /&gt;
   &lt;br /&gt;
  bool% = CS.GetField(&amp;quot;260&amp;quot;, 1, wholeline$)&lt;br /&gt;
  if bool% = FALSE then&lt;br /&gt;
      msgbox &amp;quot;Program couldn't find 260 tag for date checking.&amp;quot; _ &lt;br /&gt;
             &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
             &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
             &lt;br /&gt;
      dateProblem% = TRUE&lt;br /&gt;
      goto Done&lt;br /&gt;
  end if &lt;br /&gt;
  targetLine$ = wholeline$ &lt;br /&gt;
  &lt;br /&gt;
  date260$ = GetDate(targetLine$)                       'EXTRACT DATE FROM LINE OF TEXT &lt;br /&gt;
  &lt;br /&gt;
  if Date260$ = &amp;quot;&amp;quot; then&lt;br /&gt;
     msgbox &amp;quot;Program couldn't find 260 Date.&amp;quot; _ &lt;br /&gt;
             &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
             &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
     dateProblem% = TRUE&lt;br /&gt;
     goto Done&lt;br /&gt;
  end if&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
' ********************************************************************************&lt;br /&gt;
' ********************************************************************************&lt;br /&gt;
'                   COMPARE 260 DATE TO CALL # DATE AND FIXED FIELDS DATE&lt;br /&gt;
  if date260$ = dateFF1$ AND callDate$ = dateFF1$ then  &lt;br /&gt;
     msgbox &amp;quot;Dates match&amp;quot; _ &lt;br /&gt;
            &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _&lt;br /&gt;
            &amp;amp; &amp;quot;    Fixed Fields Date:   - &amp;quot; &amp;amp; dateFF1$  _ &lt;br /&gt;
            &amp;amp; vbcrlf$ _ &lt;br /&gt;
            &amp;amp; &amp;quot;    Call Number Date:  - &amp;quot; &amp;amp; callDate$ _ &lt;br /&gt;
            &amp;amp; vbcrlf$ _  &lt;br /&gt;
            &amp;amp; &amp;quot;    260 date:                - &amp;quot; &amp;amp; Date260$&lt;br /&gt;
            &lt;br /&gt;
  else&lt;br /&gt;
     msgbox &amp;quot;Dates do NOT match!&amp;quot; _ &lt;br /&gt;
            &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _&lt;br /&gt;
            &amp;amp; &amp;quot;    Fixed Fields Date:   - &amp;quot; &amp;amp; dateFF1$  _ &lt;br /&gt;
            &amp;amp; vbcrlf$ _ &lt;br /&gt;
            &amp;amp; &amp;quot;    Call Number Date:  - &amp;quot; &amp;amp; callDate$ _ &lt;br /&gt;
            &amp;amp; vbcrlf$ _  &lt;br /&gt;
            &amp;amp; &amp;quot;    260 date:                - &amp;quot; &amp;amp; Date260$ _ &lt;br /&gt;
            &amp;amp; vbcrlf$ &amp;amp; vbcrlf$ _ &lt;br /&gt;
            &amp;amp; &amp;quot;Please check dates visually.&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
      dateProblem% = TRUE&lt;br /&gt;
                    &lt;br /&gt;
  end if    &lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
&lt;br /&gt;
end sub             ' Sub CheckDates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function GetDate (targetLine$)&lt;br /&gt;
'                      PULLS DATES OUT FROM REST OF LINE&lt;br /&gt;
'                      - CALLED BY CHECKDATES SUB PROGRAM&lt;br /&gt;
&lt;br /&gt;
    dim i%, lineLength%, start%, dateLength%, one$, extDate$&lt;br /&gt;
&lt;br /&gt;
    GetDate = &amp;quot;&amp;quot;&lt;br /&gt;
    lineLength% = len(targetLine$) &lt;br /&gt;
    &lt;br /&gt;
' *************************************************************************&lt;br /&gt;
' *************************************************************************  &lt;br /&gt;
    '                  FIND SPACE PRECEDING DATE &lt;br /&gt;
    '                  ALSO, LOOK FOR 'c' PRECEDING DATE, IN 260 LINE (INDICATES&lt;br /&gt;
    '                  COPYRIGHT DATE)&lt;br /&gt;
    for i% = (lineLength%-2) to (lineLength% - 8) step -1&lt;br /&gt;
       one$ = Mid(targetLine$, i%, 1)&lt;br /&gt;
       if one$ = &amp;quot; &amp;quot; OR _ &lt;br /&gt;
          one$ = &amp;quot;c&amp;quot; then&lt;br /&gt;
             start% = i% + 1 &lt;br /&gt;
             dateLength% = lineLength% - i%&lt;br /&gt;
             exit for&lt;br /&gt;
       end if&lt;br /&gt;
    next i%  &lt;br /&gt;
   &lt;br /&gt;
' *************************************************************************&lt;br /&gt;
' *************************************************************************  &lt;br /&gt;
  '                        EXTRACT DATE FROM LINE&lt;br /&gt;
  extDate$ = Mid(targetLine$, start%, dateLength%)  &lt;br /&gt;
   &lt;br /&gt;
' *************************************************************************&lt;br /&gt;
' *************************************************************************  &lt;br /&gt;
  '                        NAKE SURE IT STARTS WITH A NUMBER&lt;br /&gt;
  one$ = mid$(extDate$, 1, 1)&lt;br /&gt;
  if IsNumber(one$) = 0 then Exit Function&lt;br /&gt;
   &lt;br /&gt;
' *************************************************************************&lt;br /&gt;
' *************************************************************************  &lt;br /&gt;
  '                        REMOVE LAST CHARACTER FROM DATE, IF NOT A NUMBER&lt;br /&gt;
  if len(ExtDate$) &amp;gt; 4 then              &lt;br /&gt;
     one$ = Mid(ExtDate$, len(ExtDate$), 1)&lt;br /&gt;
     if IsNumber(one$) = 0 then ExtDate$ = Mid(ExtDate$, 1, (len(ExtDate$)-1))     &lt;br /&gt;
  end if&lt;br /&gt;
     &lt;br /&gt;
' *************************************************************************&lt;br /&gt;
' ************************************************************************* &lt;br /&gt;
  &lt;br /&gt;
  GetDate = ExtDate$&lt;br /&gt;
&lt;br /&gt;
end function           'Function GetDate&lt;br /&gt;
&lt;br /&gt;
== Knossesog ==&lt;br /&gt;
&lt;br /&gt;
74411 , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1976#1&amp;gt;hydrocodone&amp;lt;/a&amp;gt; nb. &lt;br /&gt;
, &amp;lt;a href=http://www.boards.us/forums/member.php?u=1977#1&amp;gt;buy adipex online&amp;lt;/a&amp;gt; frdrdrd , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1978#1&amp;gt;ambien&amp;lt;/a&amp;gt; jjbvc , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1979#1&amp;gt;ativan cheap&amp;lt;/a&amp;gt; 55 , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1980#1&amp;gt;purchase ephedra&amp;lt;/a&amp;gt; (: , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1981#1&amp;gt;xanax online&amp;lt;/a&amp;gt; mpwbnho , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1982#1&amp;gt;alprazolam effects side xanax&amp;lt;/a&amp;gt; bxgxg$ , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1983#1&amp;gt;carisoprodol online&amp;lt;/a&amp;gt; ygt , &amp;lt;a href=http://www.boards.us/forums/member.php?u=1984#1&amp;gt;cheap diazepam&amp;lt;/a&amp;gt;&lt;/div&gt;</summary>
		<author><name>80.248.10.233</name></author>	</entry>

	</feed>