'Run the following functions:createCodeToDocFlds() & createCodeToDocFlds_morecomplete() 'Take the exported functions' output files in C:\temp and stack them and insert into this module Option Compare Database Option Explicit ' ignore this first line Public Function fcnColDataType(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "autoNumber" Case "COMMNAME_ID" strRet = "Long Integer" Case "reference_ID" strRet = "Long Integer" Case "commDescription" strRet = "Memo" Case "accessionCode" strRet = "text" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "autoNumber" Case "COMMSTATUS_ID" strRet = "Long Integer" Case "COMMCONCEPT_ID" strRet = "Long Integer" Case "commConvergence" strRet = "text" Case "correlationStart" strRet = "date/time" Case "correlationStop" strRet = "date/time" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "autoNumber" Case "parentCommStatus_ID" strRet = "Long Integer" Case "childCommStatus_ID" strRet = "Long Integer" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "autoNumber" Case "commName" strRet = "Memo" Case "reference_ID" strRet = "Long Integer" Case "dateEntered" strRet = "date/time" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "autoNumber" Case "COMMCONCEPT_ID" strRet = "Long Integer" Case "reference_ID" strRet = "Long Integer" Case "commConceptStatus" strRet = "text" Case "commParent_ID" strRet = "Long Integer" Case "commLevel" strRet = "text" Case "startDate" strRet = "date/time" Case "stopDate" strRet = "date/time" Case "commPartyComments" strRet = "Memo" Case "PARTY_ID" strRet = "Long Integer" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "autoNumber" Case "COMMNAME_ID" strRet = "Long Integer" Case "usageStart" strRet = "date/time" Case "usageStop" strRet = "date/time" Case "commNameStatus" strRet = "text" Case "classSystem" strRet = "text" Case "COMMSTATUS_ID" strRet = "Long Integer" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "autoNumber" Case "PLANTNAME_ID" strRet = "Long Integer" Case "reference_ID" strRet = "Long Integer" Case "plantDescription" strRet = "Memo" Case "accessionCode" strRet = "text" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "autoNumber" Case "PLANTSTATUS_ID" strRet = "Long Integer" Case "PLANTCONCEPT_ID" strRet = "Long Integer" Case "plantConvergence" strRet = "text" Case "correlationStart" strRet = "date/time" Case "correlationStop" strRet = "date/time" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "autoNumber" Case "childPlantStatus_ID" strRet = "Long Integer" Case "parentPlantStatus_ID" strRet = "Long Integer" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "autoNumber" Case "plantName" strRet = "text" Case "reference_ID" strRet = "Long Integer" Case "dateEntered" strRet = "date/time" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "autoNumber" Case "PLANTCONCEPT_ID" strRet = "Long Integer" Case "reference_ID" strRet = "Long Integer" Case "plantConceptStatus" strRet = "text" Case "startDate" strRet = "date/time" Case "stopDate" strRet = "date/time" Case "plantPartyComments" strRet = "Memo" Case "plantParent_ID" strRet = "Long Integer" Case "plantLevel" strRet = "text" Case "PARTY_ID" strRet = "Long Integer" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "autoNumber" Case "PLANTNAME_ID" strRet = "Long Integer" Case "usageStart" strRet = "date/time" Case "usageStop" strRet = "date/time" Case "plantNameStatus" strRet = "text" Case "classSystem" strRet = "text" Case "PLANTSTATUS_ID" strRet = "Long Integer" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "autoNumber" Case "party_ID" strRet = "Long Integer" Case "organization_ID" strRet = "Long Integer" Case "orgPosition" strRet = "text" Case "email" strRet = "text" Case "deliveryPoint" strRet = "text" Case "city" strRet = "text" Case "administrativeArea" strRet = "text" Case "postalCode" strRet = "text" Case "country" strRet = "text" Case "currentFlag" strRet = "yes/no" Case "addressStartDate" strRet = "date/time" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "autoNumber" Case "roleCode" strRet = "text" Case "roleDescription" strRet = "text" Case "accessionCode" strRet = "Text" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "autoNumber" Case "shortName" strRet = "text" Case "fulltext" strRet = "Memo" Case "referenceType" strRet = "text" Case "title" strRet = "text" Case "titleSuperior" strRet = "text" Case "pubDate" strRet = "date/time" Case "accessDate" strRet = "date/time" Case "conferenceDate" strRet = "date/time" Case "referenceJournal_ID" strRet = "Long Integer" Case "volume" strRet = "text" Case "issue" strRet = "text" Case "pageRange" strRet = "text" Case "totalPages" strRet = "Long Integer" Case "publisher" strRet = "text" Case "publicationPlace" strRet = "text" Case "isbn" strRet = "text" Case "edition" strRet = "text" Case "numberOfVolumes" strRet = "Long Integer" Case "chapterNumber" strRet = "Long Integer" Case "reportNumber" strRet = "Long Integer" Case "communicationType" strRet = "text" Case "degree" strRet = "text" Case "url" strRet = "Memo" Case "doi" strRet = "Memo" Case "additionalInfo" strRet = "Memo" Case "accessionCode" strRet = "text" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "autoNumber" Case "reference_ID" strRet = "Long Integer" Case "system" strRet = "text" Case "identifier" strRet = "text" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "autoNumber" Case "reference_ID" strRet = "Long Integer" Case "referenceParty_ID" strRet = "Long Integer" Case "roleType" strRet = "text" Case "position" strRet = "Long Integer" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "autoNumber" Case "type" strRet = "text" Case "positionName" strRet = "text" Case "salutation" strRet = "text" Case "givenName" strRet = "text" Case "surname" strRet = "text" Case "suffix" strRet = "text" Case "organizationName" strRet = "text" Case "currentParty_ID" strRet = "Long Integer" Case "accessionCode" strRet = "Text" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "autoNumber" Case "journal" strRet = "text" Case "issn" strRet = "text" Case "abbreviation" strRet = "text" Case "accessionCode" strRet = "Text" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "autoNumber" Case "COMMCLASS_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "classStartDate" strRet = "date/time" Case "classStopDate" strRet = "date/time" Case "inspection" strRet = "yes/no" Case "tableAnalysis" strRet = "yes/no" Case "multivariateAnalysis" strRet = "yes/no" Case "expertSystem" strRet = "yes/no" Case "classPublication_ID" strRet = "Long Integer" Case "classNotes" strRet = "Memo" Case "accessionCode" strRet = "Text" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "autoNumber" Case "COMMCLASS_ID" strRet = "Long Integer" Case "COMMCONCEPT_ID" strRet = "Long Integer" Case "classFit" strRet = "text" Case "classConfidence" strRet = "text" Case "commAuthority_ID" strRet = "Long Integer" Case "notes" strRet = "Memo" Case "type" strRet = "yes/no" Case "nomenclaturalType" strRet = "yes/no" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "autoNumber" Case "COVERMETHOD_ID" strRet = "Long Integer" Case "coverCode" strRet = "text" Case "upperLimit" strRet = "Double" Case "lowerLimit" strRet = "Double" Case "coverPercent" strRet = "Double" Case "indexDescription" strRet = "Memo" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "autoNumber" Case "reference_ID" strRet = "Long Integer" Case "coverType" strRet = "text" Case "coverEstimationMethod" strRet = "Text" Case "accessionCode" strRet = "Text" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "autoNumber" Case "USERDEFINED_ID" strRet = "Long Integer" Case "tableRecord_ID" strRet = "Long Integer" Case "definedValue" strRet = "Memo" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "disturbanceType" strRet = "text" Case "disturbanceIntensity" strRet = "text" Case "disturbanceAge" strRet = "Double" Case "disturbanceExtent" strRet = "Double" Case "disturbanceComment" strRet = "Memo" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "graphicName" strRet = "text" Case "graphicLocation" strRet = "Memo" Case "graphicDescription" strRet = "Memo" Case "graphicType" strRet = "text" Case "graphicDate" strRet = "date/time" Case "graphicData" strRet = "OLE Object" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "autoNumber" Case "placeSystem" strRet = "text" Case "placeName" strRet = "text" Case "placeDescription" strRet = "Memo" Case "placeCode" strRet = "text" Case "owner" strRet = "text" Case "reference_ID" strRet = "Long Integer" Case "accessionCode" strRet = "Text" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "autoNumber" Case "NOTELINK_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" Case "noteDate" strRet = "date/time" Case "noteType" strRet = "text" Case "noteText" strRet = "Memo" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "autoNumber" Case "tableName" strRet = "text" Case "attributeName" strRet = "text" Case "tableRecord" strRet = "Long Integer" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "autoNumber" Case "PREVIOUSOBS_ID" strRet = "Long Integer" Case "PLOT_ID" strRet = "Long Integer" Case "PROJECT_ID" strRet = "Long Integer" Case "authorObsCode" strRet = "text" Case "obsStartDate" strRet = "date/time" Case "obsEndDate" strRet = "date/time" Case "dateAccuracy" strRet = "text" Case "dateEntered" strRet = "date/time" Case "COVERMETHOD_ID" strRet = "Long Integer" Case "coverDispersion" strRet = "text" Case "autoTaxonCover" strRet = "yes/no" Case "STRATUMMETHOD_ID" strRet = "Long Integer" Case "methodNarrative" strRet = "Memo" Case "taxonObservationArea" strRet = "Double" Case "stemSizeLimit" strRet = "Double" Case "stemObservationArea" strRet = "Double" Case "stemSampleMethod" strRet = "text" Case "originalData" strRet = "Memo" Case "effortLevel" strRet = "text" Case "plotValidationLevel" strRet = "Long Integer" Case "floristicQuality" strRet = "text" Case "bryophyteQuality" strRet = "text" Case "lichenQuality" strRet = "text" Case "observationNarrative" strRet = "Memo" Case "landscapeNarrative" strRet = "Memo" Case "homogeneity" strRet = "text" Case "phenologicAspect" strRet = "text" Case "representativeness" strRet = "text" Case "standMaturity" strRet = "text" Case "successionalStatus" strRet = "Memo" Case "basalArea" strRet = "Double" Case "hydrologicRegime" strRet = "text" Case "soilMoistureRegime" strRet = "text" Case "soilDrainage" strRet = "text" Case "waterSalinity" strRet = "text" Case "waterDepth" strRet = "Double" Case "shoreDistance" strRet = "Double" Case "soilDepth" strRet = "Double" Case "organicDepth" strRet = "Double" Case "SOILTAXON_ID" strRet = "Long Integer" Case "soilTaxonSrc" strRet = "text" Case "percentBedRock" strRet = "Double" Case "percentRockGravel" strRet = "Double" Case "percentWood" strRet = "Double" Case "percentLitter" strRet = "Double" Case "percentBareSoil" strRet = "Double" Case "percentWater" strRet = "Double" Case "percentOther" strRet = "Double" Case "nameOther" strRet = "text" Case "treeHt" strRet = "Double" Case "shrubHt" strRet = "Double" Case "fieldHt" strRet = "Double" Case "nonvascularHt" strRet = "Double" Case "submergedHt" strRet = "Double" Case "treeCover" strRet = "Double" Case "shrubCover" strRet = "Double" Case "fieldCover" strRet = "Double" Case "nonvascularCover" strRet = "Double" Case "floatingCover" strRet = "Double" Case "submergedCover" strRet = "Double" Case "dominantStratum" strRet = "text" Case "growthform1Type" strRet = "text" Case "growthform2Type" strRet = "text" Case "growthform3Type" strRet = "text" Case "growthform1Cover" strRet = "Double" Case "growthform2Cover" strRet = "Double" Case "growthform3Cover" strRet = "Double" Case "totalCover" strRet = "Double" Case "accessionCode" strRet = "Text" Case "notesPublic" strRet = "yes/no" Case "notesMgt" strRet = "yes/no" Case "revisions" strRet = "yes/no" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" Case "contributionDate" strRet = "date/time" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "autoNumber" Case "synonymObservation_ID" strRet = "Long Integer" Case "primaryObservation_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" Case "classStartDate" strRet = "date/time" Case "classStopDate" strRet = "date/time" Case "synonymComment" strRet = "Memo" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "autoNumber" Case "salutation" strRet = "text" Case "givenName" strRet = "text" Case "middleName" strRet = "text" Case "surName" strRet = "text" Case "organizationName" strRet = "text" Case "currentName_ID" strRet = "Long Integer" Case "contactInstructions" strRet = "Memo" Case "accessionCode" strRet = "text" Case "partyType" strRet = "Text" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "autoNumber" Case "PLOT_ID" strRet = "Long Integer" Case "calculated" strRet = "yes/no" Case "NAMEDPLACE_ID" strRet = "Long Integer" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "autoNumber" Case "authorPlotCode" strRet = "text" Case "reference_ID" strRet = "Long Integer" Case "PARENT_ID" strRet = "Long Integer" Case "realLatitude" strRet = "Double" Case "realLongitude" strRet = "Double" Case "locationAccuracy" strRet = "Double" Case "confidentialityStatus" strRet = "Long Integer" Case "confidentialityReason" strRet = "text" Case "latitude" strRet = "Double" Case "longitude" strRet = "Double" Case "authorE" strRet = "text" Case "authorN" strRet = "text" Case "authorZone" strRet = "text" Case "authorDatum" strRet = "text" Case "authorLocation" strRet = "text" Case "locationNarrative" strRet = "Memo" Case "azimuth" strRet = "Double" Case "dsgpoly" strRet = "Memo" Case "shape" strRet = "text" Case "area" strRet = "Double" Case "standSize" strRet = "text" Case "placementMethod" strRet = "text" Case "permanence" strRet = "yes/no" Case "layoutNarrative" strRet = "Memo" Case "elevation" strRet = "Double" Case "elevationAccuracy" strRet = "Double" Case "elevationRange" strRet = "Double" Case "slopeAspect" strRet = "Double" Case "minSlopeAspect" strRet = "Double" Case "maxSlopeAspect" strRet = "Double" Case "slopeGradient" strRet = "Double" Case "minSlopeGradient" strRet = "Double" Case "maxSlopeGradient" strRet = "Double" Case "topoPosition" strRet = "text" Case "landform" strRet = "text" Case "surficialDeposits" strRet = "text" Case "rockType" strRet = "text" Case "accessionCode" strRet = "Text" Case "notesPublic" strRet = "yes/no" Case "notesMgt" strRet = "yes/no" Case "revisions" strRet = "yes/no" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "autoNumber" Case "projectName" strRet = "text" Case "projectDescription" strRet = "Memo" Case "startDate" strRet = "date/time" Case "stopDate" strRet = "date/time" Case "accessionCode" strRet = "Text" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "autoNumber" Case "PROJECT_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "autoNumber" Case "tableName" strRet = "text" Case "tableAttribute" strRet = "text" Case "tableRecord" strRet = "Long Integer" Case "revisionDate" strRet = "date/time" Case "previousValueText" strRet = "Memo" Case "previousValueType" strRet = "text" Case "previousRevision_ID" strRet = "Long Integer" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "soilHorizon" strRet = "text" Case "soilDepthTop" strRet = "Double" Case "soilDepthBottom" strRet = "Double" Case "soilColor" strRet = "text" Case "soilOrganic" strRet = "Double" Case "soilTexture" strRet = "text" Case "soilSand" strRet = "Double" Case "soilSilt" strRet = "Double" Case "soilClay" strRet = "Double" Case "soilCoarse" strRet = "Double" Case "soilPH" strRet = "Double" Case "exchangeCapacity" strRet = "Double" Case "baseSaturation" strRet = "Double" Case "soilDescription" strRet = "Memo" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "autoNumber" Case "soilCode" strRet = "text" Case "soilName" strRet = "text" Case "soilLevel" strRet = "Long Integer" Case "SOILPARENT_ID" strRet = "Long Integer" Case "soilFramework" strRet = "text" Case "accessionCode" strRet = "Text" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "autoNumber" Case "TAXONIMPORTANCE_ID" strRet = "Long Integer" Case "stemDiameter" strRet = "Double" Case "stemDiameterAccuracy" strRet = "Double" Case "stemHeight" strRet = "Double" Case "stemHeightAccuracy" strRet = "Double" Case "stemCount" strRet = "Long Integer" Case "stemTaxonArea" strRet = "Double" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "autoNumber" Case "STEMCOUNT_ID" strRet = "Long Integer" Case "stemCode" strRet = "text" Case "stemXPosition" strRet = "Double" Case "stemYPosition" strRet = "Double" Case "stemHealth" strRet = "text" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "STRATUMTYPE_ID" strRet = "Long Integer" Case "stratumHeight" strRet = "Double" Case "stratumBase" strRet = "Double" Case "stratumCover" strRet = "Double" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "autoNumber" Case "reference_ID" strRet = "Long Integer" Case "stratumMethodName" strRet = "text" Case "stratumMethodDescription" strRet = "Memo" Case "stratumAssignment" strRet = "Text" Case "accessionCode" strRet = "Text" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "autoNumber" Case "STRATUMMETHOD_ID" strRet = "Long Integer" Case "stratumIndex" strRet = "text" Case "stratumName" strRet = "text" Case "stratumDescription" strRet = "Memo" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "autoNumber" Case "TAXONOBSERVATION_ID" strRet = "Long Integer" Case "stemLocation_ID" strRet = "Long Integer" Case "PLANTCONCEPT_ID" strRet = "Long Integer" Case "interpretationDate" strRet = "date/time" Case "PLANTNAME_ID" strRet = "Long Integer" Case "PARTY_ID" strRet = "Long Integer" Case "ROLE_ID" strRet = "Long Integer" Case "interpretationType" strRet = "text" Case "reference_ID" strRet = "Long Integer" Case "originalInterpretation" strRet = "yes/no" Case "currentInterpretation" strRet = "yes/no" Case "taxonFit" strRet = "text" Case "taxonConfidence" strRet = "text" Case "collector_ID" strRet = "Long Integer" Case "collectionNumber" strRet = "text" Case "collectionDate" strRet = "date/time" Case "museum_ID" strRet = "Long Integer" Case "museumAccessionNumber" strRet = "text" Case "groupType" strRet = "text" Case "notes" strRet = "Memo" Case "notesPublic" strRet = "yes/no" Case "notesMgt" strRet = "yes/no" Case "revisions" strRet = "yes/no" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "autoNumber" Case "OBSERVATION_ID" strRet = "Long Integer" Case "authorPlantName" strRet = "text" Case "reference_ID" strRet = "Long Integer" Case "taxonInferenceArea" strRet = "Double" Case "accessionCode" strRet = "Text" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "autoNumber" Case "PARTY_ID" strRet = "Long Integer" Case "phoneNumber" strRet = "text" Case "phoneType" strRet = "text" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "autoNumber" Case "userDefinedName" strRet = "text" Case "userDefinedMetadata" strRet = "Memo" Case "userDefinedCategory" strRet = "text" Case "userDefinedType" strRet = "text" Case "tableName" strRet = "text" Case "accessionCode" strRet = "Text" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "AutoNumber" Case "taxonInterpretation_ID" strRet = "Long Integer" Case "plantConcept_ID" strRet = "Long Integer" Case "taxonAltFit" strRet = "text" Case "taxonAltConfidence" strRet = "text" Case "taxonAltNotes" strRet = "Memo" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "AutoNumber" Case "plot_ID" strRet = "Long Integer" Case "embargoReason" strRet = "Memo" Case "embargoStart" strRet = "Date/Time" Case "embargoStop" strRet = "Date/Time" Case "defaultStatus" strRet = "Long Integer" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "AutoNumber" Case "taxonObservation_ID" strRet = "Long Integer" Case "stratum_ID" strRet = "Long Integer" Case "cover" strRet = "Double" Case "basalArea" strRet = "Double" Case "biomass" strRet = "Double" Case "inferenceArea" strRet = "Double" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "AutoNumber" Case "parentParty_ID" strRet = "Long Integer" Case "childParty_ID" strRet = "Long Integer" Case "role_ID" strRet = "Long Integer" Case "memberStart" strRet = "Date/Time" Case "memberStop" strRet = "Date/Time" End Select 'field End Select 'table fcnColDataType = strRet End Function Public Function fcnColkey(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "PK" Case "COMMNAME_ID" strRet = "FK" Case "reference_ID" strRet = "FK" Case "commDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "PK" Case "COMMSTATUS_ID" strRet = "FK" Case "COMMCONCEPT_ID" strRet = "FK" Case "commConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "PK" Case "parentCommStatus_ID" strRet = "FK" Case "childCommStatus_ID" strRet = "FK" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "PK" Case "commName" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "dateEntered" strRet = "n/a" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "PK" Case "COMMCONCEPT_ID" strRet = "FK" Case "reference_ID" strRet = "FK" Case "commConceptStatus" strRet = "n/a" Case "commParent_ID" strRet = "FK" Case "commLevel" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "commPartyComments" strRet = "n/a" Case "PARTY_ID" strRet = "FK" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "PK" Case "COMMNAME_ID" strRet = "FK" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "commNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "FK" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "PK" Case "PLANTNAME_ID" strRet = "FK" Case "reference_ID" strRet = "FK" Case "plantDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "PK" Case "PLANTSTATUS_ID" strRet = "FK" Case "PLANTCONCEPT_ID" strRet = "FK" Case "plantConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "PK" Case "childPlantStatus_ID" strRet = "FK" Case "parentPlantStatus_ID" strRet = "FK" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "PK" Case "plantName" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "dateEntered" strRet = "n/a" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "PK" Case "PLANTCONCEPT_ID" strRet = "FK" Case "reference_ID" strRet = "FK" Case "plantConceptStatus" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "plantPartyComments" strRet = "n/a" Case "plantParent_ID" strRet = "FK" Case "plantLevel" strRet = "n/a" Case "PARTY_ID" strRet = "FK" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "PK" Case "PLANTNAME_ID" strRet = "FK" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "plantNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "FK" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "PK" Case "party_ID" strRet = "FK" Case "organization_ID" strRet = "FK" Case "orgPosition" strRet = "n/a" Case "email" strRet = "n/a" Case "deliveryPoint" strRet = "n/a" Case "city" strRet = "n/a" Case "administrativeArea" strRet = "n/a" Case "postalCode" strRet = "n/a" Case "country" strRet = "n/a" Case "currentFlag" strRet = "n/a" Case "addressStartDate" strRet = "n/a" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "PK" Case "roleCode" strRet = "n/a" Case "roleDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "PK" Case "shortName" strRet = "n/a" Case "fulltext" strRet = "n/a" Case "referenceType" strRet = "n/a" Case "title" strRet = "n/a" Case "titleSuperior" strRet = "n/a" Case "pubDate" strRet = "n/a" Case "accessDate" strRet = "n/a" Case "conferenceDate" strRet = "n/a" Case "referenceJournal_ID" strRet = "FK" Case "volume" strRet = "n/a" Case "issue" strRet = "n/a" Case "pageRange" strRet = "n/a" Case "totalPages" strRet = "n/a" Case "publisher" strRet = "n/a" Case "publicationPlace" strRet = "n/a" Case "isbn" strRet = "n/a" Case "edition" strRet = "n/a" Case "numberOfVolumes" strRet = "n/a" Case "chapterNumber" strRet = "n/a" Case "reportNumber" strRet = "n/a" Case "communicationType" strRet = "n/a" Case "degree" strRet = "n/a" Case "url" strRet = "n/a" Case "doi" strRet = "n/a" Case "additionalInfo" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "PK" Case "reference_ID" strRet = "FK" Case "system" strRet = "n/a" Case "identifier" strRet = "n/a" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "PK" Case "reference_ID" strRet = "FK" Case "referenceParty_ID" strRet = "FK" Case "roleType" strRet = "n/a" Case "position" strRet = "n/a" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "PK" Case "type" strRet = "n/a" Case "positionName" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "surname" strRet = "n/a" Case "suffix" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentParty_ID" strRet = "FK" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "PK" Case "journal" strRet = "n/a" Case "issn" strRet = "n/a" Case "abbreviation" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "PK" Case "COMMCLASS_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "inspection" strRet = "n/a" Case "tableAnalysis" strRet = "n/a" Case "multivariateAnalysis" strRet = "n/a" Case "expertSystem" strRet = "n/a" Case "classPublication_ID" strRet = "FK" Case "classNotes" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "PK" Case "COMMCLASS_ID" strRet = "FK" Case "COMMCONCEPT_ID" strRet = "FK" Case "classFit" strRet = "n/a" Case "classConfidence" strRet = "n/a" Case "commAuthority_ID" strRet = "FK" Case "notes" strRet = "n/a" Case "type" strRet = "n/a" Case "nomenclaturalType" strRet = "n/a" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "PK" Case "COVERMETHOD_ID" strRet = "FK" Case "coverCode" strRet = "n/a" Case "upperLimit" strRet = "n/a" Case "lowerLimit" strRet = "n/a" Case "coverPercent" strRet = "n/a" Case "indexDescription" strRet = "n/a" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "PK" Case "reference_ID" strRet = "FK" Case "coverType" strRet = "n/a" Case "coverEstimationMethod" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "PK" Case "USERDEFINED_ID" strRet = "FK" Case "tableRecord_ID" strRet = "n/a" Case "definedValue" strRet = "n/a" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "disturbanceType" strRet = "n/a" Case "disturbanceIntensity" strRet = "n/a" Case "disturbanceAge" strRet = "n/a" Case "disturbanceExtent" strRet = "n/a" Case "disturbanceComment" strRet = "n/a" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "graphicName" strRet = "n/a" Case "graphicLocation" strRet = "n/a" Case "graphicDescription" strRet = "n/a" Case "graphicType" strRet = "n/a" Case "graphicDate" strRet = "n/a" Case "graphicData" strRet = "n/a" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "PK" Case "placeSystem" strRet = "n/a" Case "placeName" strRet = "n/a" Case "placeDescription" strRet = "n/a" Case "placeCode" strRet = "n/a" Case "owner" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "accessionCode" strRet = "n/a" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "PK" Case "NOTELINK_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" Case "noteDate" strRet = "n/a" Case "noteType" strRet = "n/a" Case "noteText" strRet = "n/a" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "PK" Case "tableName" strRet = "n/a" Case "attributeName" strRet = "n/a" Case "tableRecord" strRet = "n/a" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "PK" Case "PREVIOUSOBS_ID" strRet = "FK" Case "PLOT_ID" strRet = "FK" Case "PROJECT_ID" strRet = "FK" Case "authorObsCode" strRet = "n/a" Case "obsStartDate" strRet = "n/a" Case "obsEndDate" strRet = "n/a" Case "dateAccuracy" strRet = "n/a" Case "dateEntered" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "FK" Case "coverDispersion" strRet = "n/a" Case "autoTaxonCover" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "FK" Case "methodNarrative" strRet = "n/a" Case "taxonObservationArea" strRet = "n/a" Case "stemSizeLimit" strRet = "n/a" Case "stemObservationArea" strRet = "n/a" Case "stemSampleMethod" strRet = "n/a" Case "originalData" strRet = "n/a" Case "effortLevel" strRet = "n/a" Case "plotValidationLevel" strRet = "n/a" Case "floristicQuality" strRet = "n/a" Case "bryophyteQuality" strRet = "n/a" Case "lichenQuality" strRet = "n/a" Case "observationNarrative" strRet = "n/a" Case "landscapeNarrative" strRet = "n/a" Case "homogeneity" strRet = "n/a" Case "phenologicAspect" strRet = "n/a" Case "representativeness" strRet = "n/a" Case "standMaturity" strRet = "n/a" Case "successionalStatus" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "hydrologicRegime" strRet = "n/a" Case "soilMoistureRegime" strRet = "n/a" Case "soilDrainage" strRet = "n/a" Case "waterSalinity" strRet = "n/a" Case "waterDepth" strRet = "n/a" Case "shoreDistance" strRet = "n/a" Case "soilDepth" strRet = "n/a" Case "organicDepth" strRet = "n/a" Case "SOILTAXON_ID" strRet = "FK" Case "soilTaxonSrc" strRet = "n/a" Case "percentBedRock" strRet = "n/a" Case "percentRockGravel" strRet = "n/a" Case "percentWood" strRet = "n/a" Case "percentLitter" strRet = "n/a" Case "percentBareSoil" strRet = "n/a" Case "percentWater" strRet = "n/a" Case "percentOther" strRet = "n/a" Case "nameOther" strRet = "n/a" Case "treeHt" strRet = "n/a" Case "shrubHt" strRet = "n/a" Case "fieldHt" strRet = "n/a" Case "nonvascularHt" strRet = "n/a" Case "submergedHt" strRet = "n/a" Case "treeCover" strRet = "n/a" Case "shrubCover" strRet = "n/a" Case "fieldCover" strRet = "n/a" Case "nonvascularCover" strRet = "n/a" Case "floatingCover" strRet = "n/a" Case "submergedCover" strRet = "n/a" Case "dominantStratum" strRet = "n/a" Case "growthform1Type" strRet = "n/a" Case "growthform2Type" strRet = "n/a" Case "growthform3Type" strRet = "n/a" Case "growthform1Cover" strRet = "n/a" Case "growthform2Cover" strRet = "n/a" Case "growthform3Cover" strRet = "n/a" Case "totalCover" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" Case "contributionDate" strRet = "n/a" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "PK" Case "synonymObservation_ID" strRet = "FK" Case "primaryObservation_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "synonymComment" strRet = "n/a" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "PK" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "middleName" strRet = "n/a" Case "surName" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentName_ID" strRet = "FK" Case "contactInstructions" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "partyType" strRet = "n/a" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "PK" Case "PLOT_ID" strRet = "FK" Case "calculated" strRet = "n/a" Case "NAMEDPLACE_ID" strRet = "FK" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "PK" Case "authorPlotCode" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "PARENT_ID" strRet = "FK" Case "realLatitude" strRet = "n/a" Case "realLongitude" strRet = "n/a" Case "locationAccuracy" strRet = "n/a" Case "confidentialityStatus" strRet = "n/a" Case "confidentialityReason" strRet = "n/a" Case "latitude" strRet = "n/a" Case "longitude" strRet = "n/a" Case "authorE" strRet = "n/a" Case "authorN" strRet = "n/a" Case "authorZone" strRet = "n/a" Case "authorDatum" strRet = "n/a" Case "authorLocation" strRet = "n/a" Case "locationNarrative" strRet = "n/a" Case "azimuth" strRet = "n/a" Case "dsgpoly" strRet = "n/a" Case "shape" strRet = "n/a" Case "area" strRet = "n/a" Case "standSize" strRet = "n/a" Case "placementMethod" strRet = "n/a" Case "permanence" strRet = "n/a" Case "layoutNarrative" strRet = "n/a" Case "elevation" strRet = "n/a" Case "elevationAccuracy" strRet = "n/a" Case "elevationRange" strRet = "n/a" Case "slopeAspect" strRet = "n/a" Case "minSlopeAspect" strRet = "n/a" Case "maxSlopeAspect" strRet = "n/a" Case "slopeGradient" strRet = "n/a" Case "minSlopeGradient" strRet = "n/a" Case "maxSlopeGradient" strRet = "n/a" Case "topoPosition" strRet = "n/a" Case "landform" strRet = "n/a" Case "surficialDeposits" strRet = "n/a" Case "rockType" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "PK" Case "projectName" strRet = "n/a" Case "projectDescription" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "PK" Case "PROJECT_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "PK" Case "tableName" strRet = "n/a" Case "tableAttribute" strRet = "n/a" Case "tableRecord" strRet = "n/a" Case "revisionDate" strRet = "n/a" Case "previousValueText" strRet = "n/a" Case "previousValueType" strRet = "n/a" Case "previousRevision_ID" strRet = "FK" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "soilHorizon" strRet = "n/a" Case "soilDepthTop" strRet = "n/a" Case "soilDepthBottom" strRet = "n/a" Case "soilColor" strRet = "n/a" Case "soilOrganic" strRet = "n/a" Case "soilTexture" strRet = "n/a" Case "soilSand" strRet = "n/a" Case "soilSilt" strRet = "n/a" Case "soilClay" strRet = "n/a" Case "soilCoarse" strRet = "n/a" Case "soilPH" strRet = "n/a" Case "exchangeCapacity" strRet = "n/a" Case "baseSaturation" strRet = "n/a" Case "soilDescription" strRet = "n/a" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "PK" Case "soilCode" strRet = "n/a" Case "soilName" strRet = "n/a" Case "soilLevel" strRet = "n/a" Case "SOILPARENT_ID" strRet = "FK" Case "soilFramework" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "PK" Case "TAXONIMPORTANCE_ID" strRet = "FK" Case "stemDiameter" strRet = "n/a" Case "stemDiameterAccuracy" strRet = "n/a" Case "stemHeight" strRet = "n/a" Case "stemHeightAccuracy" strRet = "n/a" Case "stemCount" strRet = "n/a" Case "stemTaxonArea" strRet = "n/a" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "PK" Case "STEMCOUNT_ID" strRet = "FK" Case "stemCode" strRet = "n/a" Case "stemXPosition" strRet = "n/a" Case "stemYPosition" strRet = "n/a" Case "stemHealth" strRet = "n/a" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "STRATUMTYPE_ID" strRet = "FK" Case "stratumHeight" strRet = "n/a" Case "stratumBase" strRet = "n/a" Case "stratumCover" strRet = "n/a" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "PK" Case "reference_ID" strRet = "FK" Case "stratumMethodName" strRet = "n/a" Case "stratumMethodDescription" strRet = "n/a" Case "stratumAssignment" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "PK" Case "STRATUMMETHOD_ID" strRet = "FK" Case "stratumIndex" strRet = "n/a" Case "stratumName" strRet = "n/a" Case "stratumDescription" strRet = "n/a" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "PK" Case "TAXONOBSERVATION_ID" strRet = "FK" Case "stemLocation_ID" strRet = "FK" Case "PLANTCONCEPT_ID" strRet = "FK" Case "interpretationDate" strRet = "n/a" Case "PLANTNAME_ID" strRet = "FK" Case "PARTY_ID" strRet = "FK" Case "ROLE_ID" strRet = "FK" Case "interpretationType" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "originalInterpretation" strRet = "n/a" Case "currentInterpretation" strRet = "n/a" Case "taxonFit" strRet = "n/a" Case "taxonConfidence" strRet = "n/a" Case "collector_ID" strRet = "FK" Case "collectionNumber" strRet = "n/a" Case "collectionDate" strRet = "n/a" Case "museum_ID" strRet = "FK" Case "museumAccessionNumber" strRet = "n/a" Case "groupType" strRet = "n/a" Case "notes" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "PK" Case "OBSERVATION_ID" strRet = "FK" Case "authorPlantName" strRet = "n/a" Case "reference_ID" strRet = "FK" Case "taxonInferenceArea" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "PK" Case "PARTY_ID" strRet = "FK" Case "phoneNumber" strRet = "n/a" Case "phoneType" strRet = "n/a" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "PK" Case "userDefinedName" strRet = "n/a" Case "userDefinedMetadata" strRet = "n/a" Case "userDefinedCategory" strRet = "n/a" Case "userDefinedType" strRet = "n/a" Case "tableName" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "PK" Case "taxonInterpretation_ID" strRet = "FK" Case "plantConcept_ID" strRet = "FK" Case "taxonAltFit" strRet = "n/a" Case "taxonAltConfidence" strRet = "n/a" Case "taxonAltNotes" strRet = "n/a" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "PK" Case "plot_ID" strRet = "FK" Case "embargoReason" strRet = "n/a" Case "embargoStart" strRet = "n/a" Case "embargoStop" strRet = "n/a" Case "defaultStatus" strRet = "n/a" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "PK" Case "taxonObservation_ID" strRet = "FK" Case "stratum_ID" strRet = "FK" Case "cover" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "biomass" strRet = "n/a" Case "inferenceArea" strRet = "n/a" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "PK" Case "parentParty_ID" strRet = "FK" Case "childParty_ID" strRet = "FK" Case "role_ID" strRet = "FK" Case "memberStart" strRet = "n/a" Case "memberStop" strRet = "n/a" End Select 'field End Select 'table fcnColkey = strRet End Function Public Function fcnColClosedList(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "no" Case "COMMNAME_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "commDescription" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "no" Case "COMMSTATUS_ID" strRet = "no" Case "COMMCONCEPT_ID" strRet = "no" Case "commConvergence" strRet = "yes" Case "correlationStart" strRet = "no" Case "correlationStop" strRet = "no" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "no" Case "parentCommStatus_ID" strRet = "no" Case "childCommStatus_ID" strRet = "no" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "no" Case "commName" strRet = "no" Case "reference_ID" strRet = "no" Case "dateEntered" strRet = "no" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "no" Case "COMMCONCEPT_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "commConceptStatus" strRet = "yes" Case "commParent_ID" strRet = "no" Case "commLevel" strRet = "yes" Case "startDate" strRet = "no" Case "stopDate" strRet = "no" Case "commPartyComments" strRet = "no" Case "PARTY_ID" strRet = "no" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "no" Case "COMMNAME_ID" strRet = "no" Case "usageStart" strRet = "no" Case "usageStop" strRet = "no" Case "commNameStatus" strRet = "yes" Case "classSystem" strRet = "open" Case "COMMSTATUS_ID" strRet = "no" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "no" Case "PLANTNAME_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "plantDescription" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "no" Case "PLANTSTATUS_ID" strRet = "no" Case "PLANTCONCEPT_ID" strRet = "no" Case "plantConvergence" strRet = "yes" Case "correlationStart" strRet = "no" Case "correlationStop" strRet = "no" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "no" Case "childPlantStatus_ID" strRet = "no" Case "parentPlantStatus_ID" strRet = "no" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "no" Case "plantName" strRet = "no" Case "reference_ID" strRet = "no" Case "dateEntered" strRet = "no" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "no" Case "PLANTCONCEPT_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "plantConceptStatus" strRet = "yes" Case "startDate" strRet = "no" Case "stopDate" strRet = "no" Case "plantPartyComments" strRet = "no" Case "plantParent_ID" strRet = "no" Case "plantLevel" strRet = "yes" Case "PARTY_ID" strRet = "no" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "no" Case "PLANTNAME_ID" strRet = "no" Case "usageStart" strRet = "no" Case "usageStop" strRet = "no" Case "plantNameStatus" strRet = "yes" Case "classSystem" strRet = "open" Case "PLANTSTATUS_ID" strRet = "no" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "no" Case "party_ID" strRet = "no" Case "organization_ID" strRet = "no" Case "orgPosition" strRet = "no" Case "email" strRet = "no" Case "deliveryPoint" strRet = "no" Case "city" strRet = "no" Case "administrativeArea" strRet = "no" Case "postalCode" strRet = "no" Case "country" strRet = "no" Case "currentFlag" strRet = "no" Case "addressStartDate" strRet = "no" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "no" Case "roleCode" strRet = "no" Case "roleDescription" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "no" Case "shortName" strRet = "no" Case "fulltext" strRet = "no" Case "referenceType" strRet = "yes" Case "title" strRet = "no" Case "titleSuperior" strRet = "no" Case "pubDate" strRet = "no" Case "accessDate" strRet = "no" Case "conferenceDate" strRet = "no" Case "referenceJournal_ID" strRet = "no" Case "volume" strRet = "no" Case "issue" strRet = "no" Case "pageRange" strRet = "no" Case "totalPages" strRet = "no" Case "publisher" strRet = "no" Case "publicationPlace" strRet = "no" Case "isbn" strRet = "no" Case "edition" strRet = "no" Case "numberOfVolumes" strRet = "no" Case "chapterNumber" strRet = "no" Case "reportNumber" strRet = "no" Case "communicationType" strRet = "no" Case "degree" strRet = "no" Case "url" strRet = "no" Case "doi" strRet = "no" Case "additionalInfo" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "system" strRet = "no" Case "identifier" strRet = "no" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "referenceParty_ID" strRet = "no" Case "roleType" strRet = "yes" Case "position" strRet = "no" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "no" Case "type" strRet = "no" Case "positionName" strRet = "no" Case "salutation" strRet = "no" Case "givenName" strRet = "no" Case "surname" strRet = "no" Case "suffix" strRet = "no" Case "organizationName" strRet = "no" Case "currentParty_ID" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "no" Case "journal" strRet = "no" Case "issn" strRet = "no" Case "abbreviation" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "no" Case "COMMCLASS_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "classStartDate" strRet = "no" Case "classStopDate" strRet = "no" Case "inspection" strRet = "no" Case "tableAnalysis" strRet = "no" Case "multivariateAnalysis" strRet = "no" Case "expertSystem" strRet = "no" Case "classPublication_ID" strRet = "no" Case "classNotes" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "no" Case "COMMCLASS_ID" strRet = "no" Case "COMMCONCEPT_ID" strRet = "no" Case "classFit" strRet = "yes" Case "classConfidence" strRet = "yes" Case "commAuthority_ID" strRet = "no" Case "notes" strRet = "no" Case "type" strRet = "no" Case "nomenclaturalType" strRet = "no" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "no" Case "COVERMETHOD_ID" strRet = "no" Case "coverCode" strRet = "no" Case "upperLimit" strRet = "no" Case "lowerLimit" strRet = "no" Case "coverPercent" strRet = "no" Case "indexDescription" strRet = "no" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "coverType" strRet = "no" Case "coverEstimationMethod" strRet = "yes" Case "accessionCode" strRet = "no" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "no" Case "USERDEFINED_ID" strRet = "no" Case "tableRecord_ID" strRet = "no" Case "definedValue" strRet = "no" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "disturbanceType" strRet = "yes" Case "disturbanceIntensity" strRet = "yes" Case "disturbanceAge" strRet = "no" Case "disturbanceExtent" strRet = "no" Case "disturbanceComment" strRet = "no" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "graphicName" strRet = "no" Case "graphicLocation" strRet = "no" Case "graphicDescription" strRet = "no" Case "graphicType" strRet = "no" Case "graphicDate" strRet = "no" Case "graphicData" strRet = "no" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "no" Case "placeSystem" strRet = "yes" Case "placeName" strRet = "no" Case "placeDescription" strRet = "no" Case "placeCode" strRet = "no" Case "owner" strRet = "no" Case "reference_ID" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "no" Case "NOTELINK_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" Case "noteDate" strRet = "no" Case "noteType" strRet = "yes" Case "noteText" strRet = "no" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "no" Case "tableName" strRet = "no" Case "attributeName" strRet = "no" Case "tableRecord" strRet = "no" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "no" Case "PREVIOUSOBS_ID" strRet = "no" Case "PLOT_ID" strRet = "no" Case "PROJECT_ID" strRet = "no" Case "authorObsCode" strRet = "no" Case "obsStartDate" strRet = "no" Case "obsEndDate" strRet = "no" Case "dateAccuracy" strRet = "yes" Case "dateEntered" strRet = "no" Case "COVERMETHOD_ID" strRet = "no" Case "coverDispersion" strRet = "yes" Case "autoTaxonCover" strRet = "no" Case "STRATUMMETHOD_ID" strRet = "no" Case "methodNarrative" strRet = "no" Case "taxonObservationArea" strRet = "no" Case "stemSizeLimit" strRet = "no" Case "stemObservationArea" strRet = "no" Case "stemSampleMethod" strRet = "yes" Case "originalData" strRet = "no" Case "effortLevel" strRet = "yes" Case "plotValidationLevel" strRet = "yes" Case "floristicQuality" strRet = "yes" Case "bryophyteQuality" strRet = "yes" Case "lichenQuality" strRet = "yes" Case "observationNarrative" strRet = "no" Case "landscapeNarrative" strRet = "no" Case "homogeneity" strRet = "yes" Case "phenologicAspect" strRet = "yes" Case "representativeness" strRet = "no" Case "standMaturity" strRet = "yes" Case "successionalStatus" strRet = "no" Case "basalArea" strRet = "no" Case "hydrologicRegime" strRet = "yes" Case "soilMoistureRegime" strRet = "yes" Case "soilDrainage" strRet = "yes" Case "waterSalinity" strRet = "yes" Case "waterDepth" strRet = "no" Case "shoreDistance" strRet = "no" Case "soilDepth" strRet = "no" Case "organicDepth" strRet = "no" Case "SOILTAXON_ID" strRet = "no" Case "soilTaxonSrc" strRet = "yes" Case "percentBedRock" strRet = "no" Case "percentRockGravel" strRet = "no" Case "percentWood" strRet = "no" Case "percentLitter" strRet = "no" Case "percentBareSoil" strRet = "no" Case "percentWater" strRet = "no" Case "percentOther" strRet = "no" Case "nameOther" strRet = "no" Case "treeHt" strRet = "no" Case "shrubHt" strRet = "no" Case "fieldHt" strRet = "no" Case "nonvascularHt" strRet = "no" Case "submergedHt" strRet = "no" Case "treeCover" strRet = "no" Case "shrubCover" strRet = "no" Case "fieldCover" strRet = "no" Case "nonvascularCover" strRet = "no" Case "floatingCover" strRet = "no" Case "submergedCover" strRet = "no" Case "dominantStratum" strRet = "yes" Case "growthform1Type" strRet = "yes" Case "growthform2Type" strRet = "yes" Case "growthform3Type" strRet = "yes" Case "growthform1Cover" strRet = "no" Case "growthform2Cover" strRet = "no" Case "growthform3Cover" strRet = "no" Case "totalCover" strRet = "no" Case "accessionCode" strRet = "no" Case "notesPublic" strRet = "no" Case "notesMgt" strRet = "no" Case "revisions" strRet = "no" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" Case "contributionDate" strRet = "no" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "no" Case "synonymObservation_ID" strRet = "no" Case "primaryObservation_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" Case "classStartDate" strRet = "no" Case "classStopDate" strRet = "no" Case "synonymComment" strRet = "no" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "no" Case "salutation" strRet = "no" Case "givenName" strRet = "no" Case "middleName" strRet = "no" Case "surName" strRet = "no" Case "organizationName" strRet = "no" Case "currentName_ID" strRet = "no" Case "contactInstructions" strRet = "no" Case "accessionCode" strRet = "no" Case "partyType" strRet = "yes" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "no" Case "PLOT_ID" strRet = "no" Case "calculated" strRet = "no" Case "NAMEDPLACE_ID" strRet = "no" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "no" Case "authorPlotCode" strRet = "no" Case "reference_ID" strRet = "no" Case "PARENT_ID" strRet = "no" Case "realLatitude" strRet = "no" Case "realLongitude" strRet = "no" Case "locationAccuracy" strRet = "no" Case "confidentialityStatus" strRet = "yes" Case "confidentialityReason" strRet = "no" Case "latitude" strRet = "no" Case "longitude" strRet = "no" Case "authorE" strRet = "no" Case "authorN" strRet = "no" Case "authorZone" strRet = "no" Case "authorDatum" strRet = "no" Case "authorLocation" strRet = "no" Case "locationNarrative" strRet = "no" Case "azimuth" strRet = "no" Case "dsgpoly" strRet = "no" Case "shape" strRet = "open" Case "area" strRet = "no" Case "standSize" strRet = "yes" Case "placementMethod" strRet = "yes" Case "permanence" strRet = "no" Case "layoutNarrative" strRet = "no" Case "elevation" strRet = "no" Case "elevationAccuracy" strRet = "no" Case "elevationRange" strRet = "no" Case "slopeAspect" strRet = "no" Case "minSlopeAspect" strRet = "no" Case "maxSlopeAspect" strRet = "no" Case "slopeGradient" strRet = "no" Case "minSlopeGradient" strRet = "no" Case "maxSlopeGradient" strRet = "no" Case "topoPosition" strRet = "yes" Case "landform" strRet = "open" Case "surficialDeposits" strRet = "yes" Case "rockType" strRet = "yes" Case "accessionCode" strRet = "no" Case "notesPublic" strRet = "no" Case "notesMgt" strRet = "no" Case "revisions" strRet = "no" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "no" Case "projectName" strRet = "no" Case "projectDescription" strRet = "no" Case "startDate" strRet = "no" Case "stopDate" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "no" Case "PROJECT_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "no" Case "tableName" strRet = "no" Case "tableAttribute" strRet = "no" Case "tableRecord" strRet = "no" Case "revisionDate" strRet = "no" Case "previousValueText" strRet = "no" Case "previousValueType" strRet = "no" Case "previousRevision_ID" strRet = "no" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "soilHorizon" strRet = "yes" Case "soilDepthTop" strRet = "no" Case "soilDepthBottom" strRet = "no" Case "soilColor" strRet = "no" Case "soilOrganic" strRet = "no" Case "soilTexture" strRet = "yes" Case "soilSand" strRet = "no" Case "soilSilt" strRet = "no" Case "soilClay" strRet = "no" Case "soilCoarse" strRet = "no" Case "soilPH" strRet = "no" Case "exchangeCapacity" strRet = "no" Case "baseSaturation" strRet = "no" Case "soilDescription" strRet = "no" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "no" Case "soilCode" strRet = "no" Case "soilName" strRet = "no" Case "soilLevel" strRet = "no" Case "SOILPARENT_ID" strRet = "no" Case "soilFramework" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "no" Case "TAXONIMPORTANCE_ID" strRet = "no" Case "stemDiameter" strRet = "no" Case "stemDiameterAccuracy" strRet = "no" Case "stemHeight" strRet = "no" Case "stemHeightAccuracy" strRet = "no" Case "stemCount" strRet = "no" Case "stemTaxonArea" strRet = "no" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "no" Case "STEMCOUNT_ID" strRet = "no" Case "stemCode" strRet = "no" Case "stemXPosition" strRet = "no" Case "stemYPosition" strRet = "no" Case "stemHealth" strRet = "open" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "STRATUMTYPE_ID" strRet = "no" Case "stratumHeight" strRet = "no" Case "stratumBase" strRet = "no" Case "stratumCover" strRet = "no" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "no" Case "reference_ID" strRet = "no" Case "stratumMethodName" strRet = "no" Case "stratumMethodDescription" strRet = "no" Case "stratumAssignment" strRet = "yes" Case "accessionCode" strRet = "no" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "no" Case "STRATUMMETHOD_ID" strRet = "no" Case "stratumIndex" strRet = "no" Case "stratumName" strRet = "no" Case "stratumDescription" strRet = "no" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "no" Case "TAXONOBSERVATION_ID" strRet = "no" Case "stemLocation_ID" strRet = "no" Case "PLANTCONCEPT_ID" strRet = "no" Case "interpretationDate" strRet = "no" Case "PLANTNAME_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "ROLE_ID" strRet = "no" Case "interpretationType" strRet = "yes" Case "reference_ID" strRet = "no" Case "originalInterpretation" strRet = "no" Case "currentInterpretation" strRet = "no" Case "taxonFit" strRet = "yes" Case "taxonConfidence" strRet = "yes" Case "collector_ID" strRet = "no" Case "collectionNumber" strRet = "no" Case "collectionDate" strRet = "no" Case "museum_ID" strRet = "no" Case "museumAccessionNumber" strRet = "no" Case "groupType" strRet = "yes" Case "notes" strRet = "no" Case "notesPublic" strRet = "no" Case "notesMgt" strRet = "no" Case "revisions" strRet = "no" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "no" Case "OBSERVATION_ID" strRet = "no" Case "authorPlantName" strRet = "no" Case "reference_ID" strRet = "no" Case "taxonInferenceArea" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "no" Case "PARTY_ID" strRet = "no" Case "phoneNumber" strRet = "no" Case "phoneType" strRet = "yes" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "no" Case "userDefinedName" strRet = "open" Case "userDefinedMetadata" strRet = "no" Case "userDefinedCategory" strRet = "yes" Case "userDefinedType" strRet = "no" Case "tableName" strRet = "no" Case "accessionCode" strRet = "no" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "no" Case "taxonInterpretation_ID" strRet = "no" Case "plantConcept_ID" strRet = "no" Case "taxonAltFit" strRet = "yes" Case "taxonAltConfidence" strRet = "yes" Case "taxonAltNotes" strRet = "no" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "no" Case "plot_ID" strRet = "no" Case "embargoReason" strRet = "yes" Case "embargoStart" strRet = "no" Case "embargoStop" strRet = "no" Case "defaultStatus" strRet = "yes" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "no" Case "taxonObservation_ID" strRet = "no" Case "stratum_ID" strRet = "no" Case "cover" strRet = "no" Case "basalArea" strRet = "no" Case "biomass" strRet = "no" Case "inferenceArea" strRet = "no" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "no" Case "parentParty_ID" strRet = "no" Case "childParty_ID" strRet = "no" Case "role_ID" strRet = "no" Case "memberStart" strRet = "no" Case "memberStop" strRet = "no" End Select 'field End Select 'table fcnColClosedList = strRet End Function Public Function fcnColrelType(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "root" Case "COMMNAME_ID" strRet = "normal" Case "reference_ID" strRet = "normal" Case "commDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "inverted" Case "COMMCONCEPT_ID" strRet = "normal" Case "commConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "n/a" Case "parentCommStatus_ID" strRet = "normal" Case "childCommStatus_ID" strRet = "inverted" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "n/a" Case "commName" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "dateEntered" strRet = "n/a" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "n/a" Case "COMMCONCEPT_ID" strRet = "inverted" Case "reference_ID" strRet = "normal" Case "commConceptStatus" strRet = "n/a" Case "commParent_ID" strRet = "normal" Case "commLevel" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "commPartyComments" strRet = "n/a" Case "PARTY_ID" strRet = "normal" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "n/a" Case "COMMNAME_ID" strRet = "normal" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "commNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "inverted" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "root" Case "PLANTNAME_ID" strRet = "normal" Case "reference_ID" strRet = "normal" Case "plantDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "inverted" Case "PLANTCONCEPT_ID" strRet = "normal" Case "plantConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "n/a" Case "childPlantStatus_ID" strRet = "inverted" Case "parentPlantStatus_ID" strRet = "normal" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "n/a" Case "plantName" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "dateEntered" strRet = "n/a" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "n/a" Case "PLANTCONCEPT_ID" strRet = "inverted" Case "reference_ID" strRet = "normal" Case "plantConceptStatus" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "plantPartyComments" strRet = "n/a" Case "plantParent_ID" strRet = "normal" Case "plantLevel" strRet = "n/a" Case "PARTY_ID" strRet = "normal" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "n/a" Case "PLANTNAME_ID" strRet = "normal" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "plantNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "inverted" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "n/a" Case "party_ID" strRet = "inverted" Case "organization_ID" strRet = "normal" Case "orgPosition" strRet = "n/a" Case "email" strRet = "n/a" Case "deliveryPoint" strRet = "n/a" Case "city" strRet = "n/a" Case "administrativeArea" strRet = "n/a" Case "postalCode" strRet = "n/a" Case "country" strRet = "n/a" Case "currentFlag" strRet = "n/a" Case "addressStartDate" strRet = "n/a" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "n/a" Case "roleCode" strRet = "n/a" Case "roleDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "root" Case "shortName" strRet = "n/a" Case "fulltext" strRet = "n/a" Case "referenceType" strRet = "n/a" Case "title" strRet = "n/a" Case "titleSuperior" strRet = "n/a" Case "pubDate" strRet = "n/a" Case "accessDate" strRet = "n/a" Case "conferenceDate" strRet = "n/a" Case "referenceJournal_ID" strRet = "normal" Case "volume" strRet = "n/a" Case "issue" strRet = "n/a" Case "pageRange" strRet = "n/a" Case "totalPages" strRet = "n/a" Case "publisher" strRet = "n/a" Case "publicationPlace" strRet = "n/a" Case "isbn" strRet = "n/a" Case "edition" strRet = "n/a" Case "numberOfVolumes" strRet = "n/a" Case "chapterNumber" strRet = "n/a" Case "reportNumber" strRet = "n/a" Case "communicationType" strRet = "n/a" Case "degree" strRet = "n/a" Case "url" strRet = "n/a" Case "doi" strRet = "n/a" Case "additionalInfo" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "n/a" Case "reference_ID" strRet = "inverted" Case "system" strRet = "n/a" Case "identifier" strRet = "n/a" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "n/a" Case "reference_ID" strRet = "inverted" Case "referenceParty_ID" strRet = "normal" Case "roleType" strRet = "n/a" Case "position" strRet = "n/a" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "n/a" Case "type" strRet = "n/a" Case "positionName" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "surname" strRet = "n/a" Case "suffix" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentParty_ID" strRet = "normal" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "n/a" Case "journal" strRet = "n/a" Case "issn" strRet = "n/a" Case "abbreviation" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "inverted" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "inspection" strRet = "n/a" Case "tableAnalysis" strRet = "n/a" Case "multivariateAnalysis" strRet = "n/a" Case "expertSystem" strRet = "n/a" Case "classPublication_ID" strRet = "normal" Case "classNotes" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "inverted" Case "COMMCONCEPT_ID" strRet = "normal" Case "classFit" strRet = "n/a" Case "classConfidence" strRet = "n/a" Case "commAuthority_ID" strRet = "normal" Case "notes" strRet = "n/a" Case "type" strRet = "n/a" Case "nomenclaturalType" strRet = "n/a" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "inverted" Case "coverCode" strRet = "n/a" Case "upperLimit" strRet = "n/a" Case "lowerLimit" strRet = "n/a" Case "coverPercent" strRet = "n/a" Case "indexDescription" strRet = "n/a" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "coverType" strRet = "n/a" Case "coverEstimationMethod" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "alltables" Case "USERDEFINED_ID" strRet = "normal" Case "tableRecord_ID" strRet = "n/a" Case "definedValue" strRet = "n/a" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "disturbanceType" strRet = "n/a" Case "disturbanceIntensity" strRet = "n/a" Case "disturbanceAge" strRet = "n/a" Case "disturbanceExtent" strRet = "n/a" Case "disturbanceComment" strRet = "n/a" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "graphicName" strRet = "n/a" Case "graphicLocation" strRet = "n/a" Case "graphicDescription" strRet = "n/a" Case "graphicType" strRet = "n/a" Case "graphicDate" strRet = "n/a" Case "graphicData" strRet = "n/a" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "n/a" Case "placeSystem" strRet = "n/a" Case "placeName" strRet = "n/a" Case "placeDescription" strRet = "n/a" Case "placeCode" strRet = "n/a" Case "owner" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "accessionCode" strRet = "n/a" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "n/a" Case "NOTELINK_ID" strRet = "inverted" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" Case "noteDate" strRet = "n/a" Case "noteType" strRet = "n/a" Case "noteText" strRet = "n/a" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "allfields" Case "tableName" strRet = "n/a" Case "attributeName" strRet = "n/a" Case "tableRecord" strRet = "n/a" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "root" Case "PREVIOUSOBS_ID" strRet = "normal" Case "PLOT_ID" strRet = "normal" Case "PROJECT_ID" strRet = "normal" Case "authorObsCode" strRet = "n/a" Case "obsStartDate" strRet = "n/a" Case "obsEndDate" strRet = "n/a" Case "dateAccuracy" strRet = "n/a" Case "dateEntered" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "normal" Case "coverDispersion" strRet = "n/a" Case "autoTaxonCover" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "normal" Case "methodNarrative" strRet = "n/a" Case "taxonObservationArea" strRet = "n/a" Case "stemSizeLimit" strRet = "n/a" Case "stemObservationArea" strRet = "n/a" Case "stemSampleMethod" strRet = "n/a" Case "originalData" strRet = "n/a" Case "effortLevel" strRet = "n/a" Case "plotValidationLevel" strRet = "n/a" Case "floristicQuality" strRet = "n/a" Case "bryophyteQuality" strRet = "n/a" Case "lichenQuality" strRet = "n/a" Case "observationNarrative" strRet = "n/a" Case "landscapeNarrative" strRet = "n/a" Case "homogeneity" strRet = "n/a" Case "phenologicAspect" strRet = "n/a" Case "representativeness" strRet = "n/a" Case "standMaturity" strRet = "n/a" Case "successionalStatus" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "hydrologicRegime" strRet = "n/a" Case "soilMoistureRegime" strRet = "n/a" Case "soilDrainage" strRet = "n/a" Case "waterSalinity" strRet = "n/a" Case "waterDepth" strRet = "n/a" Case "shoreDistance" strRet = "n/a" Case "soilDepth" strRet = "n/a" Case "organicDepth" strRet = "n/a" Case "SOILTAXON_ID" strRet = "normal" Case "soilTaxonSrc" strRet = "n/a" Case "percentBedRock" strRet = "n/a" Case "percentRockGravel" strRet = "n/a" Case "percentWood" strRet = "n/a" Case "percentLitter" strRet = "n/a" Case "percentBareSoil" strRet = "n/a" Case "percentWater" strRet = "n/a" Case "percentOther" strRet = "n/a" Case "nameOther" strRet = "n/a" Case "treeHt" strRet = "n/a" Case "shrubHt" strRet = "n/a" Case "fieldHt" strRet = "n/a" Case "nonvascularHt" strRet = "n/a" Case "submergedHt" strRet = "n/a" Case "treeCover" strRet = "n/a" Case "shrubCover" strRet = "n/a" Case "fieldCover" strRet = "n/a" Case "nonvascularCover" strRet = "n/a" Case "floatingCover" strRet = "n/a" Case "submergedCover" strRet = "n/a" Case "dominantStratum" strRet = "n/a" Case "growthform1Type" strRet = "n/a" Case "growthform2Type" strRet = "n/a" Case "growthform3Type" strRet = "n/a" Case "growthform1Cover" strRet = "n/a" Case "growthform2Cover" strRet = "n/a" Case "growthform3Cover" strRet = "n/a" Case "totalCover" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" Case "contributionDate" strRet = "n/a" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "n/a" Case "synonymObservation_ID" strRet = "normal" Case "primaryObservation_ID" strRet = "inverted" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "synonymComment" strRet = "n/a" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "root" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "middleName" strRet = "n/a" Case "surName" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentName_ID" strRet = "normal" Case "contactInstructions" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "partyType" strRet = "n/a" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "n/a" Case "PLOT_ID" strRet = "inverted" Case "calculated" strRet = "n/a" Case "NAMEDPLACE_ID" strRet = "normal" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "n/a" Case "authorPlotCode" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "PARENT_ID" strRet = "normal" Case "realLatitude" strRet = "n/a" Case "realLongitude" strRet = "n/a" Case "locationAccuracy" strRet = "n/a" Case "confidentialityStatus" strRet = "n/a" Case "confidentialityReason" strRet = "n/a" Case "latitude" strRet = "n/a" Case "longitude" strRet = "n/a" Case "authorE" strRet = "n/a" Case "authorN" strRet = "n/a" Case "authorZone" strRet = "n/a" Case "authorDatum" strRet = "n/a" Case "authorLocation" strRet = "n/a" Case "locationNarrative" strRet = "n/a" Case "azimuth" strRet = "n/a" Case "dsgpoly" strRet = "n/a" Case "shape" strRet = "n/a" Case "area" strRet = "n/a" Case "standSize" strRet = "n/a" Case "placementMethod" strRet = "n/a" Case "permanence" strRet = "n/a" Case "layoutNarrative" strRet = "n/a" Case "elevation" strRet = "n/a" Case "elevationAccuracy" strRet = "n/a" Case "elevationRange" strRet = "n/a" Case "slopeAspect" strRet = "n/a" Case "minSlopeAspect" strRet = "n/a" Case "maxSlopeAspect" strRet = "n/a" Case "slopeGradient" strRet = "n/a" Case "minSlopeGradient" strRet = "n/a" Case "maxSlopeGradient" strRet = "n/a" Case "topoPosition" strRet = "n/a" Case "landform" strRet = "n/a" Case "surficialDeposits" strRet = "n/a" Case "rockType" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "n/a" Case "projectName" strRet = "n/a" Case "projectDescription" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "n/a" Case "PROJECT_ID" strRet = "inverted" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "allfields" Case "tableName" strRet = "n/a" Case "tableAttribute" strRet = "n/a" Case "tableRecord" strRet = "n/a" Case "revisionDate" strRet = "n/a" Case "previousValueText" strRet = "n/a" Case "previousValueType" strRet = "n/a" Case "previousRevision_ID" strRet = "normal" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "soilHorizon" strRet = "n/a" Case "soilDepthTop" strRet = "n/a" Case "soilDepthBottom" strRet = "n/a" Case "soilColor" strRet = "n/a" Case "soilOrganic" strRet = "n/a" Case "soilTexture" strRet = "n/a" Case "soilSand" strRet = "n/a" Case "soilSilt" strRet = "n/a" Case "soilClay" strRet = "n/a" Case "soilCoarse" strRet = "n/a" Case "soilPH" strRet = "n/a" Case "exchangeCapacity" strRet = "n/a" Case "baseSaturation" strRet = "n/a" Case "soilDescription" strRet = "n/a" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "n/a" Case "soilCode" strRet = "n/a" Case "soilName" strRet = "n/a" Case "soilLevel" strRet = "n/a" Case "SOILPARENT_ID" strRet = "normal" Case "soilFramework" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "n/a" Case "TAXONIMPORTANCE_ID" strRet = "inverted" Case "stemDiameter" strRet = "n/a" Case "stemDiameterAccuracy" strRet = "n/a" Case "stemHeight" strRet = "n/a" Case "stemHeightAccuracy" strRet = "n/a" Case "stemCount" strRet = "n/a" Case "stemTaxonArea" strRet = "n/a" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "n/a" Case "STEMCOUNT_ID" strRet = "inverted" Case "stemCode" strRet = "n/a" Case "stemXPosition" strRet = "n/a" Case "stemYPosition" strRet = "n/a" Case "stemHealth" strRet = "n/a" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "STRATUMTYPE_ID" strRet = "normal" Case "stratumHeight" strRet = "n/a" Case "stratumBase" strRet = "n/a" Case "stratumCover" strRet = "n/a" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "stratumMethodName" strRet = "n/a" Case "stratumMethodDescription" strRet = "n/a" Case "stratumAssignment" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "inverted" Case "stratumIndex" strRet = "n/a" Case "stratumName" strRet = "n/a" Case "stratumDescription" strRet = "n/a" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "n/a" Case "TAXONOBSERVATION_ID" strRet = "inverted" Case "stemLocation_ID" strRet = "inverted" Case "PLANTCONCEPT_ID" strRet = "normal" Case "interpretationDate" strRet = "n/a" Case "PLANTNAME_ID" strRet = "normal" Case "PARTY_ID" strRet = "normal" Case "ROLE_ID" strRet = "normal" Case "interpretationType" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "originalInterpretation" strRet = "n/a" Case "currentInterpretation" strRet = "n/a" Case "taxonFit" strRet = "n/a" Case "taxonConfidence" strRet = "n/a" Case "collector_ID" strRet = "normal" Case "collectionNumber" strRet = "n/a" Case "collectionDate" strRet = "n/a" Case "museum_ID" strRet = "normal" Case "museumAccessionNumber" strRet = "n/a" Case "groupType" strRet = "n/a" Case "notes" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "inverted" Case "authorPlantName" strRet = "n/a" Case "reference_ID" strRet = "normal" Case "taxonInferenceArea" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "n/a" Case "PARTY_ID" strRet = "inverted" Case "phoneNumber" strRet = "n/a" Case "phoneType" strRet = "n/a" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "n/a" Case "userDefinedName" strRet = "n/a" Case "userDefinedMetadata" strRet = "n/a" Case "userDefinedCategory" strRet = "n/a" Case "userDefinedType" strRet = "n/a" Case "tableName" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "n/a" Case "taxonInterpretation_ID" strRet = "inverted" Case "plantConcept_ID" strRet = "normal" Case "taxonAltFit" strRet = "n/a" Case "taxonAltConfidence" strRet = "n/a" Case "taxonAltNotes" strRet = "n/a" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "n/a" Case "plot_ID" strRet = "inverted" Case "embargoReason" strRet = "n/a" Case "embargoStart" strRet = "n/a" Case "embargoStop" strRet = "n/a" Case "defaultStatus" strRet = "n/a" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "n/a" Case "taxonObservation_ID" strRet = "inverted" Case "stratum_ID" strRet = "normal" Case "cover" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "biomass" strRet = "n/a" Case "inferenceArea" strRet = "n/a" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "n/a" Case "parentParty_ID" strRet = "inverted" Case "childParty_ID" strRet = "normal" Case "role_ID" strRet = "normal" Case "memberStart" strRet = "n/a" Case "memberStop" strRet = "n/a" End Select 'field End Select 'table fcnColrelType = strRet End Function Public Function fcnColrelName(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "n/a" Case "COMMNAME_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "commDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "n/a" Case "COMMCONCEPT_ID" strRet = "n/a" Case "commConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "n/a" Case "parentCommStatus_ID" strRet = "n/a" Case "childCommStatus_ID" strRet = "n/a" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "n/a" Case "commName" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "dateEntered" strRet = "n/a" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "n/a" Case "COMMCONCEPT_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "commConceptStatus" strRet = "n/a" Case "commParent_ID" strRet = "n/a" Case "commLevel" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "commPartyComments" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "n/a" Case "COMMNAME_ID" strRet = "n/a" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "commNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "n/a" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "n/a" Case "PLANTNAME_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "plantDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "n/a" Case "PLANTCONCEPT_ID" strRet = "n/a" Case "plantConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "n/a" Case "childPlantStatus_ID" strRet = "n/a" Case "parentPlantStatus_ID" strRet = "n/a" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "n/a" Case "plantName" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "dateEntered" strRet = "n/a" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "n/a" Case "PLANTCONCEPT_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "plantConceptStatus" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "plantPartyComments" strRet = "n/a" Case "plantParent_ID" strRet = "n/a" Case "plantLevel" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "n/a" Case "PLANTNAME_ID" strRet = "n/a" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "plantNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "n/a" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "n/a" Case "party_ID" strRet = "n/a" Case "organization_ID" strRet = "n/a" Case "orgPosition" strRet = "n/a" Case "email" strRet = "n/a" Case "deliveryPoint" strRet = "n/a" Case "city" strRet = "n/a" Case "administrativeArea" strRet = "n/a" Case "postalCode" strRet = "n/a" Case "country" strRet = "n/a" Case "currentFlag" strRet = "n/a" Case "addressStartDate" strRet = "n/a" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "n/a" Case "roleCode" strRet = "n/a" Case "roleDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "n/a" Case "shortName" strRet = "n/a" Case "fulltext" strRet = "n/a" Case "referenceType" strRet = "n/a" Case "title" strRet = "n/a" Case "titleSuperior" strRet = "n/a" Case "pubDate" strRet = "n/a" Case "accessDate" strRet = "n/a" Case "conferenceDate" strRet = "n/a" Case "referenceJournal_ID" strRet = "n/a" Case "volume" strRet = "n/a" Case "issue" strRet = "n/a" Case "pageRange" strRet = "n/a" Case "totalPages" strRet = "n/a" Case "publisher" strRet = "n/a" Case "publicationPlace" strRet = "n/a" Case "isbn" strRet = "n/a" Case "edition" strRet = "n/a" Case "numberOfVolumes" strRet = "n/a" Case "chapterNumber" strRet = "n/a" Case "reportNumber" strRet = "n/a" Case "communicationType" strRet = "n/a" Case "degree" strRet = "n/a" Case "url" strRet = "n/a" Case "doi" strRet = "n/a" Case "additionalInfo" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "system" strRet = "n/a" Case "identifier" strRet = "n/a" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "referenceParty_ID" strRet = "n/a" Case "roleType" strRet = "n/a" Case "position" strRet = "n/a" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "n/a" Case "type" strRet = "n/a" Case "positionName" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "surname" strRet = "n/a" Case "suffix" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentParty_ID" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "n/a" Case "journal" strRet = "n/a" Case "issn" strRet = "n/a" Case "abbreviation" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "inspection" strRet = "n/a" Case "tableAnalysis" strRet = "n/a" Case "multivariateAnalysis" strRet = "n/a" Case "expertSystem" strRet = "n/a" Case "classPublication_ID" strRet = "n/a" Case "classNotes" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "n/a" Case "COMMCONCEPT_ID" strRet = "n/a" Case "classFit" strRet = "n/a" Case "classConfidence" strRet = "n/a" Case "commAuthority_ID" strRet = "n/a" Case "notes" strRet = "n/a" Case "type" strRet = "n/a" Case "nomenclaturalType" strRet = "n/a" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "n/a" Case "coverCode" strRet = "n/a" Case "upperLimit" strRet = "n/a" Case "lowerLimit" strRet = "n/a" Case "coverPercent" strRet = "n/a" Case "indexDescription" strRet = "n/a" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "coverType" strRet = "n/a" Case "coverEstimationMethod" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "n/a" Case "USERDEFINED_ID" strRet = "n/a" Case "tableRecord_ID" strRet = "n/a" Case "definedValue" strRet = "n/a" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "disturbanceType" strRet = "n/a" Case "disturbanceIntensity" strRet = "n/a" Case "disturbanceAge" strRet = "n/a" Case "disturbanceExtent" strRet = "n/a" Case "disturbanceComment" strRet = "n/a" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "graphicName" strRet = "n/a" Case "graphicLocation" strRet = "n/a" Case "graphicDescription" strRet = "n/a" Case "graphicType" strRet = "n/a" Case "graphicDate" strRet = "n/a" Case "graphicData" strRet = "n/a" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "n/a" Case "placeSystem" strRet = "n/a" Case "placeName" strRet = "n/a" Case "placeDescription" strRet = "n/a" Case "placeCode" strRet = "n/a" Case "owner" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "n/a" Case "NOTELINK_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" Case "noteDate" strRet = "n/a" Case "noteType" strRet = "n/a" Case "noteText" strRet = "n/a" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "n/a" Case "tableName" strRet = "n/a" Case "attributeName" strRet = "n/a" Case "tableRecord" strRet = "n/a" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "n/a" Case "PREVIOUSOBS_ID" strRet = "n/a" Case "PLOT_ID" strRet = "n/a" Case "PROJECT_ID" strRet = "n/a" Case "authorObsCode" strRet = "n/a" Case "obsStartDate" strRet = "n/a" Case "obsEndDate" strRet = "n/a" Case "dateAccuracy" strRet = "n/a" Case "dateEntered" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "n/a" Case "coverDispersion" strRet = "n/a" Case "autoTaxonCover" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "n/a" Case "methodNarrative" strRet = "n/a" Case "taxonObservationArea" strRet = "n/a" Case "stemSizeLimit" strRet = "n/a" Case "stemObservationArea" strRet = "n/a" Case "stemSampleMethod" strRet = "n/a" Case "originalData" strRet = "n/a" Case "effortLevel" strRet = "n/a" Case "plotValidationLevel" strRet = "n/a" Case "floristicQuality" strRet = "n/a" Case "bryophyteQuality" strRet = "n/a" Case "lichenQuality" strRet = "n/a" Case "observationNarrative" strRet = "n/a" Case "landscapeNarrative" strRet = "n/a" Case "homogeneity" strRet = "n/a" Case "phenologicAspect" strRet = "n/a" Case "representativeness" strRet = "n/a" Case "standMaturity" strRet = "n/a" Case "successionalStatus" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "hydrologicRegime" strRet = "n/a" Case "soilMoistureRegime" strRet = "n/a" Case "soilDrainage" strRet = "n/a" Case "waterSalinity" strRet = "n/a" Case "waterDepth" strRet = "n/a" Case "shoreDistance" strRet = "n/a" Case "soilDepth" strRet = "n/a" Case "organicDepth" strRet = "n/a" Case "SOILTAXON_ID" strRet = "n/a" Case "soilTaxonSrc" strRet = "n/a" Case "percentBedRock" strRet = "n/a" Case "percentRockGravel" strRet = "n/a" Case "percentWood" strRet = "n/a" Case "percentLitter" strRet = "n/a" Case "percentBareSoil" strRet = "n/a" Case "percentWater" strRet = "n/a" Case "percentOther" strRet = "n/a" Case "nameOther" strRet = "n/a" Case "treeHt" strRet = "n/a" Case "shrubHt" strRet = "n/a" Case "fieldHt" strRet = "n/a" Case "nonvascularHt" strRet = "n/a" Case "submergedHt" strRet = "n/a" Case "treeCover" strRet = "n/a" Case "shrubCover" strRet = "n/a" Case "fieldCover" strRet = "n/a" Case "nonvascularCover" strRet = "n/a" Case "floatingCover" strRet = "n/a" Case "submergedCover" strRet = "n/a" Case "dominantStratum" strRet = "n/a" Case "growthform1Type" strRet = "n/a" Case "growthform2Type" strRet = "n/a" Case "growthform3Type" strRet = "n/a" Case "growthform1Cover" strRet = "n/a" Case "growthform2Cover" strRet = "n/a" Case "growthform3Cover" strRet = "n/a" Case "totalCover" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" Case "contributionDate" strRet = "n/a" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "n/a" Case "synonymObservation_ID" strRet = "n/a" Case "primaryObservation_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "synonymComment" strRet = "n/a" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "middleName" strRet = "n/a" Case "surName" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentName_ID" strRet = "n/a" Case "contactInstructions" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "partyType" strRet = "n/a" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "n/a" Case "PLOT_ID" strRet = "n/a" Case "calculated" strRet = "n/a" Case "NAMEDPLACE_ID" strRet = "n/a" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "n/a" Case "authorPlotCode" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "PARENT_ID" strRet = "n/a" Case "realLatitude" strRet = "n/a" Case "realLongitude" strRet = "n/a" Case "locationAccuracy" strRet = "n/a" Case "confidentialityStatus" strRet = "n/a" Case "confidentialityReason" strRet = "n/a" Case "latitude" strRet = "n/a" Case "longitude" strRet = "n/a" Case "authorE" strRet = "n/a" Case "authorN" strRet = "n/a" Case "authorZone" strRet = "n/a" Case "authorDatum" strRet = "n/a" Case "authorLocation" strRet = "n/a" Case "locationNarrative" strRet = "n/a" Case "azimuth" strRet = "n/a" Case "dsgpoly" strRet = "n/a" Case "shape" strRet = "n/a" Case "area" strRet = "n/a" Case "standSize" strRet = "n/a" Case "placementMethod" strRet = "n/a" Case "permanence" strRet = "n/a" Case "layoutNarrative" strRet = "n/a" Case "elevation" strRet = "n/a" Case "elevationAccuracy" strRet = "n/a" Case "elevationRange" strRet = "n/a" Case "slopeAspect" strRet = "n/a" Case "minSlopeAspect" strRet = "n/a" Case "maxSlopeAspect" strRet = "n/a" Case "slopeGradient" strRet = "n/a" Case "minSlopeGradient" strRet = "n/a" Case "maxSlopeGradient" strRet = "n/a" Case "topoPosition" strRet = "n/a" Case "landform" strRet = "n/a" Case "surficialDeposits" strRet = "n/a" Case "rockType" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "n/a" Case "projectName" strRet = "n/a" Case "projectDescription" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "n/a" Case "PROJECT_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "n/a" Case "tableName" strRet = "n/a" Case "tableAttribute" strRet = "n/a" Case "tableRecord" strRet = "n/a" Case "revisionDate" strRet = "n/a" Case "previousValueText" strRet = "n/a" Case "previousValueType" strRet = "n/a" Case "previousRevision_ID" strRet = "n/a" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "soilHorizon" strRet = "n/a" Case "soilDepthTop" strRet = "n/a" Case "soilDepthBottom" strRet = "n/a" Case "soilColor" strRet = "n/a" Case "soilOrganic" strRet = "n/a" Case "soilTexture" strRet = "n/a" Case "soilSand" strRet = "n/a" Case "soilSilt" strRet = "n/a" Case "soilClay" strRet = "n/a" Case "soilCoarse" strRet = "n/a" Case "soilPH" strRet = "n/a" Case "exchangeCapacity" strRet = "n/a" Case "baseSaturation" strRet = "n/a" Case "soilDescription" strRet = "n/a" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "n/a" Case "soilCode" strRet = "n/a" Case "soilName" strRet = "n/a" Case "soilLevel" strRet = "n/a" Case "SOILPARENT_ID" strRet = "n/a" Case "soilFramework" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "n/a" Case "TAXONIMPORTANCE_ID" strRet = "n/a" Case "stemDiameter" strRet = "n/a" Case "stemDiameterAccuracy" strRet = "n/a" Case "stemHeight" strRet = "n/a" Case "stemHeightAccuracy" strRet = "n/a" Case "stemCount" strRet = "n/a" Case "stemTaxonArea" strRet = "n/a" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "n/a" Case "STEMCOUNT_ID" strRet = "n/a" Case "stemCode" strRet = "n/a" Case "stemXPosition" strRet = "n/a" Case "stemYPosition" strRet = "n/a" Case "stemHealth" strRet = "n/a" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "STRATUMTYPE_ID" strRet = "n/a" Case "stratumHeight" strRet = "n/a" Case "stratumBase" strRet = "n/a" Case "stratumCover" strRet = "n/a" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "stratumMethodName" strRet = "n/a" Case "stratumMethodDescription" strRet = "n/a" Case "stratumAssignment" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "n/a" Case "stratumIndex" strRet = "n/a" Case "stratumName" strRet = "n/a" Case "stratumDescription" strRet = "n/a" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "n/a" Case "TAXONOBSERVATION_ID" strRet = "n/a" Case "stemLocation_ID" strRet = "n/a" Case "PLANTCONCEPT_ID" strRet = "n/a" Case "interpretationDate" strRet = "n/a" Case "PLANTNAME_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "ROLE_ID" strRet = "n/a" Case "interpretationType" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "originalInterpretation" strRet = "n/a" Case "currentInterpretation" strRet = "n/a" Case "taxonFit" strRet = "n/a" Case "taxonConfidence" strRet = "n/a" Case "collector_ID" strRet = "n/a" Case "collectionNumber" strRet = "n/a" Case "collectionDate" strRet = "n/a" Case "museum_ID" strRet = "n/a" Case "museumAccessionNumber" strRet = "n/a" Case "groupType" strRet = "n/a" Case "notes" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "n/a" Case "authorPlantName" strRet = "n/a" Case "reference_ID" strRet = "n/a" Case "taxonInferenceArea" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "n/a" Case "PARTY_ID" strRet = "n/a" Case "phoneNumber" strRet = "n/a" Case "phoneType" strRet = "n/a" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "n/a" Case "userDefinedName" strRet = "n/a" Case "userDefinedMetadata" strRet = "n/a" Case "userDefinedCategory" strRet = "n/a" Case "userDefinedType" strRet = "n/a" Case "tableName" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "n/a" Case "taxonInterpretation_ID" strRet = "n/a" Case "plantConcept_ID" strRet = "n/a" Case "taxonAltFit" strRet = "n/a" Case "taxonAltConfidence" strRet = "n/a" Case "taxonAltNotes" strRet = "n/a" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "n/a" Case "plot_ID" strRet = "n/a" Case "embargoReason" strRet = "n/a" Case "embargoStart" strRet = "n/a" Case "embargoStop" strRet = "n/a" Case "defaultStatus" strRet = "n/a" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "n/a" Case "taxonObservation_ID" strRet = "n/a" Case "stratum_ID" strRet = "n/a" Case "cover" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "biomass" strRet = "n/a" Case "inferenceArea" strRet = "n/a" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "n/a" Case "parentParty_ID" strRet = "n/a" Case "childParty_ID" strRet = "n/a" Case "role_ID" strRet = "n/a" Case "memberStart" strRet = "n/a" Case "memberStop" strRet = "n/a" End Select 'field End Select 'table fcnColrelName = strRet End Function Public Function fcnColReferences(strTbl As String, strFld As String) As String Dim strRet As String Select Case strTbl Case "commConcept" Select Case strFld Case "COMMCONCEPT_ID" strRet = "n/a" Case "COMMNAME_ID" strRet = "commName.COMMNAME_ID" Case "reference_ID" strRet = "reference.reference_ID" Case "commDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commCorrelation" Select Case strFld Case "COMMCORRELATION_ID" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "commStatus.COMMSTATUS_ID" Case "COMMCONCEPT_ID" strRet = "commConcept.COMMCONCEPT_ID" Case "commConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "commLineage" Select Case strFld Case "COMMLINEAGE_ID" strRet = "n/a" Case "parentCommStatus_ID" strRet = "commStatus.COMMSTATUS_ID" Case "childCommStatus_ID" strRet = "commStatus.COMMSTATUS_ID" End Select 'field Case "commName" Select Case strFld Case "COMMNAME_ID" strRet = "n/a" Case "commName" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "dateEntered" strRet = "n/a" End Select 'field Case "commStatus" Select Case strFld Case "COMMSTATUS_ID" strRet = "n/a" Case "COMMCONCEPT_ID" strRet = "commConcept.COMMCONCEPT_ID" Case "reference_ID" strRet = "reference.reference_ID" Case "commConceptStatus" strRet = "n/a" Case "commParent_ID" strRet = "commConcept.COMMCONCEPT_ID" Case "commLevel" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "commPartyComments" strRet = "n/a" Case "PARTY_ID" strRet = "party.PARTY_ID" End Select 'field Case "commUsage" Select Case strFld Case "COMMUSAGE_ID" strRet = "n/a" Case "COMMNAME_ID" strRet = "commName.COMMNAME_ID" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "commNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "COMMSTATUS_ID" strRet = "commStatus.COMMSTATUS_ID" End Select 'field Case "plantConcept" Select Case strFld Case "PLANTCONCEPT_ID" strRet = "n/a" Case "PLANTNAME_ID" strRet = "plantName.PLANTNAME_ID" Case "reference_ID" strRet = "reference.reference_ID" Case "plantDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "plantCorrelation" Select Case strFld Case "PLANTCORRELATION_ID" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "plantStatus.PLANTSTATUS_ID" Case "PLANTCONCEPT_ID" strRet = "plantConcept.PLANTCONCEPT_ID" Case "plantConvergence" strRet = "n/a" Case "correlationStart" strRet = "n/a" Case "correlationStop" strRet = "n/a" End Select 'field Case "plantLineage" Select Case strFld Case "PLANTLINEAGE_ID" strRet = "n/a" Case "childPlantStatus_ID" strRet = "plantStatus.PLANTSTATUS_ID" Case "parentPlantStatus_ID" strRet = "plantStatus.PLANTSTATUS_ID" End Select 'field Case "plantName" Select Case strFld Case "PLANTNAME_ID" strRet = "n/a" Case "plantName" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "dateEntered" strRet = "n/a" End Select 'field Case "plantStatus" Select Case strFld Case "PLANTSTATUS_ID" strRet = "n/a" Case "PLANTCONCEPT_ID" strRet = "plantConcept.PLANTCONCEPT_ID" Case "reference_ID" strRet = "reference.reference_ID" Case "plantConceptStatus" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "plantPartyComments" strRet = "n/a" Case "plantParent_ID" strRet = "plantConcept.PLANTCONCEPT_ID" Case "plantLevel" strRet = "n/a" Case "PARTY_ID" strRet = "party.PARTY_ID" End Select 'field Case "plantUsage" Select Case strFld Case "PLANTUSAGE_ID" strRet = "n/a" Case "PLANTNAME_ID" strRet = "plantName.PLANTNAME_ID" Case "usageStart" strRet = "n/a" Case "usageStop" strRet = "n/a" Case "plantNameStatus" strRet = "n/a" Case "classSystem" strRet = "n/a" Case "PLANTSTATUS_ID" strRet = "plantStatus.PLANTSTATUS_ID" End Select 'field Case "address" Select Case strFld Case "ADDRESS_ID" strRet = "n/a" Case "party_ID" strRet = "party.PARTY_ID" Case "organization_ID" strRet = "party.PARTY_ID" Case "orgPosition" strRet = "n/a" Case "email" strRet = "n/a" Case "deliveryPoint" strRet = "n/a" Case "city" strRet = "n/a" Case "administrativeArea" strRet = "n/a" Case "postalCode" strRet = "n/a" Case "country" strRet = "n/a" Case "currentFlag" strRet = "n/a" Case "addressStartDate" strRet = "n/a" End Select 'field Case "aux_Role" Select Case strFld Case "ROLE_ID" strRet = "n/a" Case "roleCode" strRet = "n/a" Case "roleDescription" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "reference" Select Case strFld Case "reference_ID" strRet = "n/a" Case "shortName" strRet = "n/a" Case "fulltext" strRet = "n/a" Case "referenceType" strRet = "n/a" Case "title" strRet = "n/a" Case "titleSuperior" strRet = "n/a" Case "pubDate" strRet = "n/a" Case "accessDate" strRet = "n/a" Case "conferenceDate" strRet = "n/a" Case "referenceJournal_ID" strRet = "referenceJournal.referenceJournal_ID" Case "volume" strRet = "n/a" Case "issue" strRet = "n/a" Case "pageRange" strRet = "n/a" Case "totalPages" strRet = "n/a" Case "publisher" strRet = "n/a" Case "publicationPlace" strRet = "n/a" Case "isbn" strRet = "n/a" Case "edition" strRet = "n/a" Case "numberOfVolumes" strRet = "n/a" Case "chapterNumber" strRet = "n/a" Case "reportNumber" strRet = "n/a" Case "communicationType" strRet = "n/a" Case "degree" strRet = "n/a" Case "url" strRet = "n/a" Case "doi" strRet = "n/a" Case "additionalInfo" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceAltIdent" Select Case strFld Case "referenceAltIdent_ID" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "system" strRet = "n/a" Case "identifier" strRet = "n/a" End Select 'field Case "referenceContributor" Select Case strFld Case "referenceContributor_ID" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "referenceParty_ID" strRet = "referenceParty.referenceParty_ID" Case "roleType" strRet = "n/a" Case "position" strRet = "n/a" End Select 'field Case "referenceParty" Select Case strFld Case "referenceParty_ID" strRet = "n/a" Case "type" strRet = "n/a" Case "positionName" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "surname" strRet = "n/a" Case "suffix" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentParty_ID" strRet = "referenceParty.referenceParty_ID" Case "accessionCode" strRet = "n/a" End Select 'field Case "referenceJournal" Select Case strFld Case "referenceJournal_ID" strRet = "n/a" Case "journal" strRet = "n/a" Case "issn" strRet = "n/a" Case "abbreviation" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "classContributor" Select Case strFld Case "CLASSCONTRIBUTOR_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "commClass.COMMCLASS_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" End Select 'field Case "commClass" Select Case strFld Case "COMMCLASS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.OBSERVATION_ID" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "inspection" strRet = "n/a" Case "tableAnalysis" strRet = "n/a" Case "multivariateAnalysis" strRet = "n/a" Case "expertSystem" strRet = "n/a" Case "classPublication_ID" strRet = "reference.reference_ID" Case "classNotes" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "commInterpretation" Select Case strFld Case "COMMINTERPRETATION_ID" strRet = "n/a" Case "COMMCLASS_ID" strRet = "commClass.COMMCLASS_ID" Case "COMMCONCEPT_ID" strRet = "commConcept.COMMCONCEPT_ID" Case "classFit" strRet = "n/a" Case "classConfidence" strRet = "n/a" Case "commAuthority_ID" strRet = "reference.reference_ID" Case "notes" strRet = "n/a" Case "type" strRet = "n/a" Case "nomenclaturalType" strRet = "n/a" End Select 'field Case "coverIndex" Select Case strFld Case "COVERINDEX_ID" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "coverMethod.COVERMETHOD_ID" Case "coverCode" strRet = "n/a" Case "upperLimit" strRet = "n/a" Case "lowerLimit" strRet = "n/a" Case "coverPercent" strRet = "n/a" Case "indexDescription" strRet = "n/a" End Select 'field Case "coverMethod" Select Case strFld Case "COVERMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "coverType" strRet = "n/a" Case "coverEstimationMethod" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "definedValue" Select Case strFld Case "DEFINEDVALUE_ID" strRet = "n/a" Case "USERDEFINED_ID" strRet = "userDefined.USERDEFINED_ID" Case "tableRecord_ID" strRet = "n/a" Case "definedValue" strRet = "n/a" End Select 'field Case "disturbanceObs" Select Case strFld Case "disturbanceObs_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.OBSERVATION_ID" Case "disturbanceType" strRet = "n/a" Case "disturbanceIntensity" strRet = "n/a" Case "disturbanceAge" strRet = "n/a" Case "disturbanceExtent" strRet = "n/a" Case "disturbanceComment" strRet = "n/a" End Select 'field Case "graphic" Select Case strFld Case "GRAPHIC_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.OBSERVATION_ID" Case "graphicName" strRet = "n/a" Case "graphicLocation" strRet = "n/a" Case "graphicDescription" strRet = "n/a" Case "graphicType" strRet = "n/a" Case "graphicDate" strRet = "n/a" Case "graphicData" strRet = "n/a" End Select 'field Case "namedPlace" Select Case strFld Case "NAMEDPLACE_ID" strRet = "n/a" Case "placeSystem" strRet = "n/a" Case "placeName" strRet = "n/a" Case "placeDescription" strRet = "n/a" Case "placeCode" strRet = "n/a" Case "owner" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "accessionCode" strRet = "n/a" End Select 'field Case "note" Select Case strFld Case "NOTE_ID" strRet = "n/a" Case "NOTELINK_ID" strRet = "noteLink.NOTELINK_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" Case "noteDate" strRet = "n/a" Case "noteType" strRet = "n/a" Case "noteText" strRet = "n/a" End Select 'field Case "noteLink" Select Case strFld Case "NOTELINK_ID" strRet = "n/a" Case "tableName" strRet = "n/a" Case "attributeName" strRet = "n/a" Case "tableRecord" strRet = "n/a" End Select 'field Case "observation" Select Case strFld Case "OBSERVATION_ID" strRet = "n/a" Case "PREVIOUSOBS_ID" strRet = "observation.OBSERVATION_ID" Case "PLOT_ID" strRet = "plot.PLOT_ID" Case "PROJECT_ID" strRet = "project.PROJECT_ID" Case "authorObsCode" strRet = "n/a" Case "obsStartDate" strRet = "n/a" Case "obsEndDate" strRet = "n/a" Case "dateAccuracy" strRet = "n/a" Case "dateEntered" strRet = "n/a" Case "COVERMETHOD_ID" strRet = "coverMethod.coverMethod_ID" Case "coverDispersion" strRet = "n/a" Case "autoTaxonCover" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "stratumMethod.stratumMethod_ID" Case "methodNarrative" strRet = "n/a" Case "taxonObservationArea" strRet = "n/a" Case "stemSizeLimit" strRet = "n/a" Case "stemObservationArea" strRet = "n/a" Case "stemSampleMethod" strRet = "n/a" Case "originalData" strRet = "n/a" Case "effortLevel" strRet = "n/a" Case "plotValidationLevel" strRet = "n/a" Case "floristicQuality" strRet = "n/a" Case "bryophyteQuality" strRet = "n/a" Case "lichenQuality" strRet = "n/a" Case "observationNarrative" strRet = "n/a" Case "landscapeNarrative" strRet = "n/a" Case "homogeneity" strRet = "n/a" Case "phenologicAspect" strRet = "n/a" Case "representativeness" strRet = "n/a" Case "standMaturity" strRet = "n/a" Case "successionalStatus" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "hydrologicRegime" strRet = "n/a" Case "soilMoistureRegime" strRet = "n/a" Case "soilDrainage" strRet = "n/a" Case "waterSalinity" strRet = "n/a" Case "waterDepth" strRet = "n/a" Case "shoreDistance" strRet = "n/a" Case "soilDepth" strRet = "n/a" Case "organicDepth" strRet = "n/a" Case "SOILTAXON_ID" strRet = "soilTaxon.soilTaxon_ID" Case "soilTaxonSrc" strRet = "n/a" Case "percentBedRock" strRet = "n/a" Case "percentRockGravel" strRet = "n/a" Case "percentWood" strRet = "n/a" Case "percentLitter" strRet = "n/a" Case "percentBareSoil" strRet = "n/a" Case "percentWater" strRet = "n/a" Case "percentOther" strRet = "n/a" Case "nameOther" strRet = "n/a" Case "treeHt" strRet = "n/a" Case "shrubHt" strRet = "n/a" Case "fieldHt" strRet = "n/a" Case "nonvascularHt" strRet = "n/a" Case "submergedHt" strRet = "n/a" Case "treeCover" strRet = "n/a" Case "shrubCover" strRet = "n/a" Case "fieldCover" strRet = "n/a" Case "nonvascularCover" strRet = "n/a" Case "floatingCover" strRet = "n/a" Case "submergedCover" strRet = "n/a" Case "dominantStratum" strRet = "n/a" Case "growthform1Type" strRet = "n/a" Case "growthform2Type" strRet = "n/a" Case "growthform3Type" strRet = "n/a" Case "growthform1Cover" strRet = "n/a" Case "growthform2Cover" strRet = "n/a" Case "growthform3Cover" strRet = "n/a" Case "totalCover" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "observationContributor" Select Case strFld Case "OBSERVATIONCONTRIBUTOR_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.OBSERVATION_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" Case "contributionDate" strRet = "n/a" End Select 'field Case "observationSynonym" Select Case strFld Case "OBSERVATIONSYNONYM_ID" strRet = "n/a" Case "synonymObservation_ID" strRet = "observation.OBSERVATION_ID" Case "primaryObservation_ID" strRet = "observation.OBSERVATION_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" Case "classStartDate" strRet = "n/a" Case "classStopDate" strRet = "n/a" Case "synonymComment" strRet = "n/a" End Select 'field Case "party" Select Case strFld Case "PARTY_ID" strRet = "n/a" Case "salutation" strRet = "n/a" Case "givenName" strRet = "n/a" Case "middleName" strRet = "n/a" Case "surName" strRet = "n/a" Case "organizationName" strRet = "n/a" Case "currentName_ID" strRet = "party.PARTY_ID" Case "contactInstructions" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "partyType" strRet = "n/a" End Select 'field Case "place" Select Case strFld Case "PLOTPLACE_ID" strRet = "n/a" Case "PLOT_ID" strRet = "plot.PLOT_ID" Case "calculated" strRet = "n/a" Case "NAMEDPLACE_ID" strRet = "namedPlace.NAMEDPLACE_ID" End Select 'field Case "plot" Select Case strFld Case "PLOT_ID" strRet = "n/a" Case "authorPlotCode" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "PARENT_ID" strRet = "plot.PLOT_ID" Case "realLatitude" strRet = "n/a" Case "realLongitude" strRet = "n/a" Case "locationAccuracy" strRet = "n/a" Case "confidentialityStatus" strRet = "n/a" Case "confidentialityReason" strRet = "n/a" Case "latitude" strRet = "n/a" Case "longitude" strRet = "n/a" Case "authorE" strRet = "n/a" Case "authorN" strRet = "n/a" Case "authorZone" strRet = "n/a" Case "authorDatum" strRet = "n/a" Case "authorLocation" strRet = "n/a" Case "locationNarrative" strRet = "n/a" Case "azimuth" strRet = "n/a" Case "dsgpoly" strRet = "n/a" Case "shape" strRet = "n/a" Case "area" strRet = "n/a" Case "standSize" strRet = "n/a" Case "placementMethod" strRet = "n/a" Case "permanence" strRet = "n/a" Case "layoutNarrative" strRet = "n/a" Case "elevation" strRet = "n/a" Case "elevationAccuracy" strRet = "n/a" Case "elevationRange" strRet = "n/a" Case "slopeAspect" strRet = "n/a" Case "minSlopeAspect" strRet = "n/a" Case "maxSlopeAspect" strRet = "n/a" Case "slopeGradient" strRet = "n/a" Case "minSlopeGradient" strRet = "n/a" Case "maxSlopeGradient" strRet = "n/a" Case "topoPosition" strRet = "n/a" Case "landform" strRet = "n/a" Case "surficialDeposits" strRet = "n/a" Case "rockType" strRet = "n/a" Case "accessionCode" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "project" Select Case strFld Case "PROJECT_ID" strRet = "n/a" Case "projectName" strRet = "n/a" Case "projectDescription" strRet = "n/a" Case "startDate" strRet = "n/a" Case "stopDate" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "projectContributor" Select Case strFld Case "PROJECTCONTRIBUTOR_ID" strRet = "n/a" Case "PROJECT_ID" strRet = "project.PROJECT_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" End Select 'field Case "revision" Select Case strFld Case "REVISION_ID" strRet = "n/a" Case "tableName" strRet = "n/a" Case "tableAttribute" strRet = "n/a" Case "tableRecord" strRet = "n/a" Case "revisionDate" strRet = "n/a" Case "previousValueText" strRet = "n/a" Case "previousValueType" strRet = "n/a" Case "previousRevision_ID" strRet = "revision.REVISION_ID" End Select 'field Case "soilObs" Select Case strFld Case "SOILOBS_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.observation_ID" Case "soilHorizon" strRet = "n/a" Case "soilDepthTop" strRet = "n/a" Case "soilDepthBottom" strRet = "n/a" Case "soilColor" strRet = "n/a" Case "soilOrganic" strRet = "n/a" Case "soilTexture" strRet = "n/a" Case "soilSand" strRet = "n/a" Case "soilSilt" strRet = "n/a" Case "soilClay" strRet = "n/a" Case "soilCoarse" strRet = "n/a" Case "soilPH" strRet = "n/a" Case "exchangeCapacity" strRet = "n/a" Case "baseSaturation" strRet = "n/a" Case "soilDescription" strRet = "n/a" End Select 'field Case "soilTaxon" Select Case strFld Case "SOILTAXON_ID" strRet = "n/a" Case "soilCode" strRet = "n/a" Case "soilName" strRet = "n/a" Case "soilLevel" strRet = "n/a" Case "SOILPARENT_ID" strRet = "soilTaxon.SOILTAXON_ID" Case "soilFramework" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stemCount" Select Case strFld Case "STEMCOUNT_ID" strRet = "n/a" Case "TAXONIMPORTANCE_ID" strRet = "taxonImportance.TAXONIMPORTANCE_ID" Case "stemDiameter" strRet = "n/a" Case "stemDiameterAccuracy" strRet = "n/a" Case "stemHeight" strRet = "n/a" Case "stemHeightAccuracy" strRet = "n/a" Case "stemCount" strRet = "n/a" Case "stemTaxonArea" strRet = "n/a" End Select 'field Case "stemLocation" Select Case strFld Case "STEMLOCATION_ID" strRet = "n/a" Case "STEMCOUNT_ID" strRet = "stemCount.STEMCOUNT_ID" Case "stemCode" strRet = "n/a" Case "stemXPosition" strRet = "n/a" Case "stemYPosition" strRet = "n/a" Case "stemHealth" strRet = "n/a" End Select 'field Case "stratum" Select Case strFld Case "STRATUM_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.observation_ID" Case "STRATUMTYPE_ID" strRet = "stratumType.STRATUMTYPE_ID" Case "stratumHeight" strRet = "n/a" Case "stratumBase" strRet = "n/a" Case "stratumCover" strRet = "n/a" End Select 'field Case "stratumMethod" Select Case strFld Case "STRATUMMETHOD_ID" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "stratumMethodName" strRet = "n/a" Case "stratumMethodDescription" strRet = "n/a" Case "stratumAssignment" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "stratumType" Select Case strFld Case "STRATUMTYPE_ID" strRet = "n/a" Case "STRATUMMETHOD_ID" strRet = "stratumMethod.STRATUMMETHOD_ID" Case "stratumIndex" strRet = "n/a" Case "stratumName" strRet = "n/a" Case "stratumDescription" strRet = "n/a" End Select 'field Case "taxonInterpretation" Select Case strFld Case "TAXONINTERPRETATION_ID" strRet = "n/a" Case "TAXONOBSERVATION_ID" strRet = "taxonObservation.TAXONOBSERVATION_ID" Case "stemLocation_ID" strRet = "stemLocation.stemLocation_ID" Case "PLANTCONCEPT_ID" strRet = "plantConcept.PLANTCONCEPT_ID" Case "interpretationDate" strRet = "n/a" Case "PLANTNAME_ID" strRet = "plantName.PLANTNAME_ID" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "ROLE_ID" strRet = "aux_Role.ROLE_ID" Case "interpretationType" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "originalInterpretation" strRet = "n/a" Case "currentInterpretation" strRet = "n/a" Case "taxonFit" strRet = "n/a" Case "taxonConfidence" strRet = "n/a" Case "collector_ID" strRet = "party.party_ID" Case "collectionNumber" strRet = "n/a" Case "collectionDate" strRet = "n/a" Case "museum_ID" strRet = "party.party_ID" Case "museumAccessionNumber" strRet = "n/a" Case "groupType" strRet = "n/a" Case "notes" strRet = "n/a" Case "notesPublic" strRet = "n/a" Case "notesMgt" strRet = "n/a" Case "revisions" strRet = "n/a" End Select 'field Case "taxonObservation" Select Case strFld Case "TAXONOBSERVATION_ID" strRet = "n/a" Case "OBSERVATION_ID" strRet = "observation.observation_ID" Case "authorPlantName" strRet = "n/a" Case "reference_ID" strRet = "reference.reference_ID" Case "taxonInferenceArea" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "telephone" Select Case strFld Case "TELEPHONE_ID" strRet = "n/a" Case "PARTY_ID" strRet = "party.PARTY_ID" Case "phoneNumber" strRet = "n/a" Case "phoneType" strRet = "n/a" End Select 'field Case "userDefined" Select Case strFld Case "USERDEFINED_ID" strRet = "n/a" Case "userDefinedName" strRet = "n/a" Case "userDefinedMetadata" strRet = "n/a" Case "userDefinedCategory" strRet = "n/a" Case "userDefinedType" strRet = "n/a" Case "tableName" strRet = "n/a" Case "accessionCode" strRet = "n/a" End Select 'field Case "taxonAlt" Select Case strFld Case "taxonAlt_ID" strRet = "n/a" Case "taxonInterpretation_ID" strRet = "taxonInterpretation.taxonInterpretation_ID" Case "plantConcept_ID" strRet = "plantConcept.plantConcept_ID" Case "taxonAltFit" strRet = "n/a" Case "taxonAltConfidence" strRet = "n/a" Case "taxonAltNotes" strRet = "n/a" End Select 'field Case "embargo" Select Case strFld Case "embargo_ID" strRet = "n/a" Case "plot_ID" strRet = "plot.PLOT_ID" Case "embargoReason" strRet = "n/a" Case "embargoStart" strRet = "n/a" Case "embargoStop" strRet = "n/a" Case "defaultStatus" strRet = "n/a" End Select 'field Case "taxonImportance" Select Case strFld Case "taxonImportance_ID" strRet = "n/a" Case "taxonObservation_ID" strRet = "taxonObservation.taxonObservation_ID" Case "stratum_ID" strRet = "stratum.STRATUM_ID" Case "cover" strRet = "n/a" Case "basalArea" strRet = "n/a" Case "biomass" strRet = "n/a" Case "inferenceArea" strRet = "n/a" End Select 'field Case "partyMember" Select Case strFld Case "partyMember_ID" strRet = "n/a" Case "parentParty_ID" strRet = "party.PARTY_ID" Case "childParty_ID" strRet = "party.PARTY_ID" Case "role_ID" strRet = "aux_Role.role_ID" Case "memberStart" strRet = "n/a" Case "memberStop" strRet = "n/a" End Select 'field End Select 'table fcnColReferences = strRet End Function Public Function fcnGetFieldsCol(strTbl As String) As Collection Dim colFlds As New Collection Select Case strTbl Case "commConcept" colFlds.Add "COMMCONCEPT_ID" colFlds.Add "COMMNAME_ID" colFlds.Add "reference_ID" colFlds.Add "commDescription" colFlds.Add "accessionCode" Case "commCorrelation" colFlds.Add "COMMCORRELATION_ID" colFlds.Add "COMMSTATUS_ID" colFlds.Add "COMMCONCEPT_ID" colFlds.Add "commConvergence" colFlds.Add "correlationStart" colFlds.Add "correlationStop" Case "commLineage" colFlds.Add "COMMLINEAGE_ID" colFlds.Add "parentCommStatus_ID" colFlds.Add "childCommStatus_ID" Case "commName" colFlds.Add "COMMNAME_ID" colFlds.Add "commName" colFlds.Add "reference_ID" colFlds.Add "dateEntered" Case "commStatus" colFlds.Add "COMMSTATUS_ID" colFlds.Add "COMMCONCEPT_ID" colFlds.Add "reference_ID" colFlds.Add "commConceptStatus" colFlds.Add "commParent_ID" colFlds.Add "commLevel" colFlds.Add "startDate" colFlds.Add "stopDate" colFlds.Add "commPartyComments" colFlds.Add "PARTY_ID" Case "commUsage" colFlds.Add "COMMUSAGE_ID" colFlds.Add "COMMNAME_ID" colFlds.Add "usageStart" colFlds.Add "usageStop" colFlds.Add "commNameStatus" colFlds.Add "classSystem" colFlds.Add "COMMSTATUS_ID" Case "plantConcept" colFlds.Add "PLANTCONCEPT_ID" colFlds.Add "PLANTNAME_ID" colFlds.Add "reference_ID" colFlds.Add "plantDescription" colFlds.Add "accessionCode" Case "plantCorrelation" colFlds.Add "PLANTCORRELATION_ID" colFlds.Add "PLANTSTATUS_ID" colFlds.Add "PLANTCONCEPT_ID" colFlds.Add "plantConvergence" colFlds.Add "correlationStart" colFlds.Add "correlationStop" Case "plantLineage" colFlds.Add "PLANTLINEAGE_ID" colFlds.Add "childPlantStatus_ID" colFlds.Add "parentPlantStatus_ID" Case "plantName" colFlds.Add "PLANTNAME_ID" colFlds.Add "plantName" colFlds.Add "reference_ID" colFlds.Add "dateEntered" Case "plantStatus" colFlds.Add "PLANTSTATUS_ID" colFlds.Add "PLANTCONCEPT_ID" colFlds.Add "reference_ID" colFlds.Add "plantConceptStatus" colFlds.Add "startDate" colFlds.Add "stopDate" colFlds.Add "plantPartyComments" colFlds.Add "plantParent_ID" colFlds.Add "plantLevel" colFlds.Add "PARTY_ID" Case "plantUsage" colFlds.Add "PLANTUSAGE_ID" colFlds.Add "PLANTNAME_ID" colFlds.Add "usageStart" colFlds.Add "usageStop" colFlds.Add "plantNameStatus" colFlds.Add "classSystem" colFlds.Add "PLANTSTATUS_ID" Case "address" colFlds.Add "ADDRESS_ID" colFlds.Add "party_ID" colFlds.Add "organization_ID" colFlds.Add "orgPosition" colFlds.Add "email" colFlds.Add "deliveryPoint" colFlds.Add "city" colFlds.Add "administrativeArea" colFlds.Add "postalCode" colFlds.Add "country" colFlds.Add "currentFlag" colFlds.Add "addressStartDate" Case "aux_Role" colFlds.Add "ROLE_ID" colFlds.Add "roleCode" colFlds.Add "roleDescription" colFlds.Add "accessionCode" Case "reference" colFlds.Add "reference_ID" colFlds.Add "shortName" colFlds.Add "fulltext" colFlds.Add "referenceType" colFlds.Add "title" colFlds.Add "titleSuperior" colFlds.Add "pubDate" colFlds.Add "accessDate" colFlds.Add "conferenceDate" colFlds.Add "referenceJournal_ID" colFlds.Add "volume" colFlds.Add "issue" colFlds.Add "pageRange" colFlds.Add "totalPages" colFlds.Add "publisher" colFlds.Add "publicationPlace" colFlds.Add "isbn" colFlds.Add "edition" colFlds.Add "numberOfVolumes" colFlds.Add "chapterNumber" colFlds.Add "reportNumber" colFlds.Add "communicationType" colFlds.Add "degree" colFlds.Add "url" colFlds.Add "doi" colFlds.Add "additionalInfo" colFlds.Add "accessionCode" Case "referenceAltIdent" colFlds.Add "referenceAltIdent_ID" colFlds.Add "reference_ID" colFlds.Add "system" colFlds.Add "identifier" Case "referenceContributor" colFlds.Add "referenceContributor_ID" colFlds.Add "reference_ID" colFlds.Add "referenceParty_ID" colFlds.Add "roleType" colFlds.Add "position" Case "referenceParty" colFlds.Add "referenceParty_ID" colFlds.Add "type" colFlds.Add "positionName" colFlds.Add "salutation" colFlds.Add "givenName" colFlds.Add "surname" colFlds.Add "suffix" colFlds.Add "organizationName" colFlds.Add "currentParty_ID" colFlds.Add "accessionCode" Case "referenceJournal" colFlds.Add "referenceJournal_ID" colFlds.Add "journal" colFlds.Add "issn" colFlds.Add "abbreviation" colFlds.Add "accessionCode" Case "classContributor" colFlds.Add "CLASSCONTRIBUTOR_ID" colFlds.Add "COMMCLASS_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" Case "commClass" colFlds.Add "COMMCLASS_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "classStartDate" colFlds.Add "classStopDate" colFlds.Add "inspection" colFlds.Add "tableAnalysis" colFlds.Add "multivariateAnalysis" colFlds.Add "expertSystem" colFlds.Add "classPublication_ID" colFlds.Add "classNotes" colFlds.Add "accessionCode" Case "commInterpretation" colFlds.Add "COMMINTERPRETATION_ID" colFlds.Add "COMMCLASS_ID" colFlds.Add "COMMCONCEPT_ID" colFlds.Add "classFit" colFlds.Add "classConfidence" colFlds.Add "commAuthority_ID" colFlds.Add "notes" colFlds.Add "type" colFlds.Add "nomenclaturalType" Case "coverIndex" colFlds.Add "COVERINDEX_ID" colFlds.Add "COVERMETHOD_ID" colFlds.Add "coverCode" colFlds.Add "upperLimit" colFlds.Add "lowerLimit" colFlds.Add "coverPercent" colFlds.Add "indexDescription" Case "coverMethod" colFlds.Add "COVERMETHOD_ID" colFlds.Add "reference_ID" colFlds.Add "coverType" colFlds.Add "coverEstimationMethod" colFlds.Add "accessionCode" Case "definedValue" colFlds.Add "DEFINEDVALUE_ID" colFlds.Add "USERDEFINED_ID" colFlds.Add "tableRecord_ID" colFlds.Add "definedValue" Case "disturbanceObs" colFlds.Add "disturbanceObs_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "disturbanceType" colFlds.Add "disturbanceIntensity" colFlds.Add "disturbanceAge" colFlds.Add "disturbanceExtent" colFlds.Add "disturbanceComment" Case "graphic" colFlds.Add "GRAPHIC_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "graphicName" colFlds.Add "graphicLocation" colFlds.Add "graphicDescription" colFlds.Add "graphicType" colFlds.Add "graphicDate" colFlds.Add "graphicData" Case "namedPlace" colFlds.Add "NAMEDPLACE_ID" colFlds.Add "placeSystem" colFlds.Add "placeName" colFlds.Add "placeDescription" colFlds.Add "placeCode" colFlds.Add "owner" colFlds.Add "reference_ID" colFlds.Add "accessionCode" Case "note" colFlds.Add "NOTE_ID" colFlds.Add "NOTELINK_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" colFlds.Add "noteDate" colFlds.Add "noteType" colFlds.Add "noteText" Case "noteLink" colFlds.Add "NOTELINK_ID" colFlds.Add "tableName" colFlds.Add "attributeName" colFlds.Add "tableRecord" Case "observation" colFlds.Add "OBSERVATION_ID" colFlds.Add "PREVIOUSOBS_ID" colFlds.Add "PLOT_ID" colFlds.Add "PROJECT_ID" colFlds.Add "authorObsCode" colFlds.Add "obsStartDate" colFlds.Add "obsEndDate" colFlds.Add "dateAccuracy" colFlds.Add "dateEntered" colFlds.Add "COVERMETHOD_ID" colFlds.Add "coverDispersion" colFlds.Add "autoTaxonCover" colFlds.Add "STRATUMMETHOD_ID" colFlds.Add "methodNarrative" colFlds.Add "taxonObservationArea" colFlds.Add "stemSizeLimit" colFlds.Add "stemObservationArea" colFlds.Add "stemSampleMethod" colFlds.Add "originalData" colFlds.Add "effortLevel" colFlds.Add "plotValidationLevel" colFlds.Add "floristicQuality" colFlds.Add "bryophyteQuality" colFlds.Add "lichenQuality" colFlds.Add "observationNarrative" colFlds.Add "landscapeNarrative" colFlds.Add "homogeneity" colFlds.Add "phenologicAspect" colFlds.Add "representativeness" colFlds.Add "standMaturity" colFlds.Add "successionalStatus" colFlds.Add "basalArea" colFlds.Add "hydrologicRegime" colFlds.Add "soilMoistureRegime" colFlds.Add "soilDrainage" colFlds.Add "waterSalinity" colFlds.Add "waterDepth" colFlds.Add "shoreDistance" colFlds.Add "soilDepth" colFlds.Add "organicDepth" colFlds.Add "SOILTAXON_ID" colFlds.Add "soilTaxonSrc" colFlds.Add "percentBedRock" colFlds.Add "percentRockGravel" colFlds.Add "percentWood" colFlds.Add "percentLitter" colFlds.Add "percentBareSoil" colFlds.Add "percentWater" colFlds.Add "percentOther" colFlds.Add "nameOther" colFlds.Add "treeHt" colFlds.Add "shrubHt" colFlds.Add "fieldHt" colFlds.Add "nonvascularHt" colFlds.Add "submergedHt" colFlds.Add "treeCover" colFlds.Add "shrubCover" colFlds.Add "fieldCover" colFlds.Add "nonvascularCover" colFlds.Add "floatingCover" colFlds.Add "submergedCover" colFlds.Add "dominantStratum" colFlds.Add "growthform1Type" colFlds.Add "growthform2Type" colFlds.Add "growthform3Type" colFlds.Add "growthform1Cover" colFlds.Add "growthform2Cover" colFlds.Add "growthform3Cover" colFlds.Add "totalCover" colFlds.Add "accessionCode" colFlds.Add "notesPublic" colFlds.Add "notesMgt" colFlds.Add "revisions" Case "observationContributor" colFlds.Add "OBSERVATIONCONTRIBUTOR_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" colFlds.Add "contributionDate" Case "observationSynonym" colFlds.Add "OBSERVATIONSYNONYM_ID" colFlds.Add "synonymObservation_ID" colFlds.Add "primaryObservation_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" colFlds.Add "classStartDate" colFlds.Add "classStopDate" colFlds.Add "synonymComment" Case "party" colFlds.Add "PARTY_ID" colFlds.Add "salutation" colFlds.Add "givenName" colFlds.Add "middleName" colFlds.Add "surName" colFlds.Add "organizationName" colFlds.Add "currentName_ID" colFlds.Add "contactInstructions" colFlds.Add "accessionCode" colFlds.Add "partyType" Case "place" colFlds.Add "PLOTPLACE_ID" colFlds.Add "PLOT_ID" colFlds.Add "calculated" colFlds.Add "NAMEDPLACE_ID" Case "plot" colFlds.Add "PLOT_ID" colFlds.Add "authorPlotCode" colFlds.Add "reference_ID" colFlds.Add "PARENT_ID" colFlds.Add "realLatitude" colFlds.Add "realLongitude" colFlds.Add "locationAccuracy" colFlds.Add "confidentialityStatus" colFlds.Add "confidentialityReason" colFlds.Add "latitude" colFlds.Add "longitude" colFlds.Add "authorE" colFlds.Add "authorN" colFlds.Add "authorZone" colFlds.Add "authorDatum" colFlds.Add "authorLocation" colFlds.Add "locationNarrative" colFlds.Add "azimuth" colFlds.Add "dsgpoly" colFlds.Add "shape" colFlds.Add "area" colFlds.Add "standSize" colFlds.Add "placementMethod" colFlds.Add "permanence" colFlds.Add "layoutNarrative" colFlds.Add "elevation" colFlds.Add "elevationAccuracy" colFlds.Add "elevationRange" colFlds.Add "slopeAspect" colFlds.Add "minSlopeAspect" colFlds.Add "maxSlopeAspect" colFlds.Add "slopeGradient" colFlds.Add "minSlopeGradient" colFlds.Add "maxSlopeGradient" colFlds.Add "topoPosition" colFlds.Add "landform" colFlds.Add "surficialDeposits" colFlds.Add "rockType" colFlds.Add "accessionCode" colFlds.Add "notesPublic" colFlds.Add "notesMgt" colFlds.Add "revisions" Case "project" colFlds.Add "PROJECT_ID" colFlds.Add "projectName" colFlds.Add "projectDescription" colFlds.Add "startDate" colFlds.Add "stopDate" colFlds.Add "accessionCode" Case "projectContributor" colFlds.Add "PROJECTCONTRIBUTOR_ID" colFlds.Add "PROJECT_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" Case "revision" colFlds.Add "REVISION_ID" colFlds.Add "tableName" colFlds.Add "tableAttribute" colFlds.Add "tableRecord" colFlds.Add "revisionDate" colFlds.Add "previousValueText" colFlds.Add "previousValueType" colFlds.Add "previousRevision_ID" Case "soilObs" colFlds.Add "SOILOBS_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "soilHorizon" colFlds.Add "soilDepthTop" colFlds.Add "soilDepthBottom" colFlds.Add "soilColor" colFlds.Add "soilOrganic" colFlds.Add "soilTexture" colFlds.Add "soilSand" colFlds.Add "soilSilt" colFlds.Add "soilClay" colFlds.Add "soilCoarse" colFlds.Add "soilPH" colFlds.Add "exchangeCapacity" colFlds.Add "baseSaturation" colFlds.Add "soilDescription" Case "soilTaxon" colFlds.Add "SOILTAXON_ID" colFlds.Add "soilCode" colFlds.Add "soilName" colFlds.Add "soilLevel" colFlds.Add "SOILPARENT_ID" colFlds.Add "soilFramework" colFlds.Add "accessionCode" Case "stemCount" colFlds.Add "STEMCOUNT_ID" colFlds.Add "TAXONIMPORTANCE_ID" colFlds.Add "stemDiameter" colFlds.Add "stemDiameterAccuracy" colFlds.Add "stemHeight" colFlds.Add "stemHeightAccuracy" colFlds.Add "stemCount" colFlds.Add "stemTaxonArea" Case "stemLocation" colFlds.Add "STEMLOCATION_ID" colFlds.Add "STEMCOUNT_ID" colFlds.Add "stemCode" colFlds.Add "stemXPosition" colFlds.Add "stemYPosition" colFlds.Add "stemHealth" Case "stratum" colFlds.Add "STRATUM_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "STRATUMTYPE_ID" colFlds.Add "stratumHeight" colFlds.Add "stratumBase" colFlds.Add "stratumCover" Case "stratumMethod" colFlds.Add "STRATUMMETHOD_ID" colFlds.Add "reference_ID" colFlds.Add "stratumMethodName" colFlds.Add "stratumMethodDescription" colFlds.Add "stratumAssignment" colFlds.Add "accessionCode" Case "stratumType" colFlds.Add "STRATUMTYPE_ID" colFlds.Add "STRATUMMETHOD_ID" colFlds.Add "stratumIndex" colFlds.Add "stratumName" colFlds.Add "stratumDescription" Case "taxonInterpretation" colFlds.Add "TAXONINTERPRETATION_ID" colFlds.Add "TAXONOBSERVATION_ID" colFlds.Add "stemLocation_ID" colFlds.Add "PLANTCONCEPT_ID" colFlds.Add "interpretationDate" colFlds.Add "PLANTNAME_ID" colFlds.Add "PARTY_ID" colFlds.Add "ROLE_ID" colFlds.Add "interpretationType" colFlds.Add "reference_ID" colFlds.Add "originalInterpretation" colFlds.Add "currentInterpretation" colFlds.Add "taxonFit" colFlds.Add "taxonConfidence" colFlds.Add "collector_ID" colFlds.Add "collectionNumber" colFlds.Add "collectionDate" colFlds.Add "museum_ID" colFlds.Add "museumAccessionNumber" colFlds.Add "groupType" colFlds.Add "notes" colFlds.Add "notesPublic" colFlds.Add "notesMgt" colFlds.Add "revisions" Case "taxonObservation" colFlds.Add "TAXONOBSERVATION_ID" colFlds.Add "OBSERVATION_ID" colFlds.Add "authorPlantName" colFlds.Add "reference_ID" colFlds.Add "taxonInferenceArea" colFlds.Add "accessionCode" Case "telephone" colFlds.Add "TELEPHONE_ID" colFlds.Add "PARTY_ID" colFlds.Add "phoneNumber" colFlds.Add "phoneType" Case "userDefined" colFlds.Add "USERDEFINED_ID" colFlds.Add "userDefinedName" colFlds.Add "userDefinedMetadata" colFlds.Add "userDefinedCategory" colFlds.Add "userDefinedType" colFlds.Add "tableName" colFlds.Add "accessionCode" Case "taxonAlt" colFlds.Add "taxonAlt_ID" colFlds.Add "taxonInterpretation_ID" colFlds.Add "plantConcept_ID" colFlds.Add "taxonAltFit" colFlds.Add "taxonAltConfidence" colFlds.Add "taxonAltNotes" Case "embargo" colFlds.Add "embargo_ID" colFlds.Add "plot_ID" colFlds.Add "embargoReason" colFlds.Add "embargoStart" colFlds.Add "embargoStop" colFlds.Add "defaultStatus" Case "taxonImportance" colFlds.Add "taxonImportance_ID" colFlds.Add "taxonObservation_ID" colFlds.Add "stratum_ID" colFlds.Add "cover" colFlds.Add "basalArea" colFlds.Add "biomass" colFlds.Add "inferenceArea" Case "partyMember" colFlds.Add "partyMember_ID" colFlds.Add "parentParty_ID" colFlds.Add "childParty_ID" colFlds.Add "role_ID" colFlds.Add "memberStart" colFlds.Add "memberStop" End Select Set fcnGetFieldsCol = colFlds End Function ' ignore this first line ' created by function: createCodeToDocFlds_morecomplete Public Function autoG_table2xml_commConcept(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commConcept] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commConcept") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'COMMCONCEPT_ID ThisTblPK: If Not IsNull(.Fields("COMMCONCEPT_ID")) Then 'isn't null strX = strX & xml_Ent("commConcept.COMMCONCEPT_ID") strX = strX & xmlize_txt(.Fields("COMMCONCEPT_ID"), "autoNumber") strX = strX & xml_Ent("commConcept.COMMCONCEPT_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'COMMNAME_ID If Not IsNull(.Fields("COMMNAME_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commName("[COMMNAME_ID]=" & .Fields("COMMNAME_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commConcept.COMMNAME_ID") & strTemp strX = strX & xml_Ent("commConcept.COMMNAME_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commConcept.reference_ID") & strTemp strX = strX & xml_Ent("commConcept.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'commDescription If Not IsNull(.Fields("commDescription")) Then 'isn't null strX = strX & xml_Ent("commConcept.commDescription") strX = strX & xmlize_txt(.Fields("commDescription"), "Memo") strX = strX & xml_Ent("commConcept.commDescription", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("commConcept.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "text") strX = strX & xml_Ent("commConcept.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_commStatus("[COMMCONCEPT_ID] =" & .Fields("COMMCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("commConcept", .Fields("COMMCONCEPT_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commConcept", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commConcept = strBigger End Function Public Function autoG_table2xml_commCorrelation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commCorrelation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commCorrelation") 'COMMCORRELATION_ID ThisTblPK: If Not IsNull(.Fields("COMMCORRELATION_ID")) Then 'isn't null strX = strX & xml_Ent("commCorrelation.COMMCORRELATION_ID") strX = strX & xmlize_txt(.Fields("COMMCORRELATION_ID"), "autoNumber") strX = strX & xml_Ent("commCorrelation.COMMCORRELATION_ID", True) End If ' is not null 'COMMSTATUS_ID If Not IsNull(.Fields("COMMSTATUS_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'COMMCONCEPT_ID If Not IsNull(.Fields("COMMCONCEPT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commConcept("[COMMCONCEPT_ID]=" & .Fields("COMMCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commCorrelation.COMMCONCEPT_ID") & strTemp strX = strX & xml_Ent("commCorrelation.COMMCONCEPT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'commConvergence If Not IsNull(.Fields("commConvergence")) Then 'isn't null strX = strX & xml_Ent("commCorrelation.commConvergence") strX = strX & xmlize_txt(.Fields("commConvergence"), "text") strX = strX & xml_Ent("commCorrelation.commConvergence", True) End If ' is not null 'correlationStart If Not IsNull(.Fields("correlationStart")) Then 'isn't null strX = strX & xml_Ent("commCorrelation.correlationStart") strX = strX & xmlize_txt(.Fields("correlationStart"), "date/time") strX = strX & xml_Ent("commCorrelation.correlationStart", True) End If ' is not null 'correlationStop If Not IsNull(.Fields("correlationStop")) Then 'isn't null strX = strX & xml_Ent("commCorrelation.correlationStop") strX = strX & xmlize_txt(.Fields("correlationStop"), "date/time") strX = strX & xml_Ent("commCorrelation.correlationStop", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("commCorrelation", .Fields("COMMCORRELATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commCorrelation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commCorrelation = strBigger End Function Public Function autoG_table2xml_commLineage(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commLineage] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commLineage") 'COMMLINEAGE_ID ThisTblPK: If Not IsNull(.Fields("COMMLINEAGE_ID")) Then 'isn't null strX = strX & xml_Ent("commLineage.COMMLINEAGE_ID") strX = strX & xmlize_txt(.Fields("COMMLINEAGE_ID"), "autoNumber") strX = strX & xml_Ent("commLineage.COMMLINEAGE_ID", True) End If ' is not null 'parentCommStatus_ID If Not IsNull(.Fields("parentCommStatus_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commStatus("[COMMSTATUS_ID]=" & .Fields("parentCommStatus_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commLineage.parentCommStatus_ID") & strTemp strX = strX & xml_Ent("commLineage.parentCommStatus_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'childCommStatus_ID If Not IsNull(.Fields("childCommStatus_ID")) Then 'isn't null 'skip inverted! End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("commLineage", .Fields("COMMLINEAGE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commLineage", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commLineage = strBigger End Function Public Function autoG_table2xml_commName(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commName] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commName") 'COMMNAME_ID ThisTblPK: If Not IsNull(.Fields("COMMNAME_ID")) Then 'isn't null strX = strX & xml_Ent("commName.COMMNAME_ID") strX = strX & xmlize_txt(.Fields("COMMNAME_ID"), "autoNumber") strX = strX & xml_Ent("commName.COMMNAME_ID", True) End If ' is not null 'commName If Not IsNull(.Fields("commName")) Then 'isn't null strX = strX & xml_Ent("commName.commName") strX = strX & xmlize_txt(.Fields("commName"), "Memo") strX = strX & xml_Ent("commName.commName", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commName.reference_ID") & strTemp strX = strX & xml_Ent("commName.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'dateEntered If Not IsNull(.Fields("dateEntered")) Then 'isn't null strX = strX & xml_Ent("commName.dateEntered") strX = strX & xmlize_txt(.Fields("dateEntered"), "date/time") strX = strX & xml_Ent("commName.dateEntered", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("commName", .Fields("COMMNAME_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commName", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commName = strBigger End Function Public Function autoG_table2xml_commStatus(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commStatus] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commStatus") 'COMMSTATUS_ID ThisTblPK: If Not IsNull(.Fields("COMMSTATUS_ID")) Then 'isn't null strX = strX & xml_Ent("commStatus.COMMSTATUS_ID") strX = strX & xmlize_txt(.Fields("COMMSTATUS_ID"), "autoNumber") strX = strX & xml_Ent("commStatus.COMMSTATUS_ID", True) End If ' is not null 'COMMCONCEPT_ID If Not IsNull(.Fields("COMMCONCEPT_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commStatus.reference_ID") & strTemp strX = strX & xml_Ent("commStatus.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'commConceptStatus If Not IsNull(.Fields("commConceptStatus")) Then 'isn't null strX = strX & xml_Ent("commStatus.commConceptStatus") strX = strX & xmlize_txt(.Fields("commConceptStatus"), "text") strX = strX & xml_Ent("commStatus.commConceptStatus", True) End If ' is not null 'commParent_ID If Not IsNull(.Fields("commParent_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commConcept("[COMMCONCEPT_ID]=" & .Fields("commParent_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commStatus.commParent_ID") & strTemp strX = strX & xml_Ent("commStatus.commParent_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'commLevel If Not IsNull(.Fields("commLevel")) Then 'isn't null strX = strX & xml_Ent("commStatus.commLevel") strX = strX & xmlize_txt(.Fields("commLevel"), "text") strX = strX & xml_Ent("commStatus.commLevel", True) End If ' is not null 'startDate If Not IsNull(.Fields("startDate")) Then 'isn't null strX = strX & xml_Ent("commStatus.startDate") strX = strX & xmlize_txt(.Fields("startDate"), "date/time") strX = strX & xml_Ent("commStatus.startDate", True) End If ' is not null 'stopDate If Not IsNull(.Fields("stopDate")) Then 'isn't null strX = strX & xml_Ent("commStatus.stopDate") strX = strX & xmlize_txt(.Fields("stopDate"), "date/time") strX = strX & xml_Ent("commStatus.stopDate", True) End If ' is not null 'commPartyComments If Not IsNull(.Fields("commPartyComments")) Then 'isn't null strX = strX & xml_Ent("commStatus.commPartyComments") strX = strX & xmlize_txt(.Fields("commPartyComments"), "Memo") strX = strX & xml_Ent("commStatus.commPartyComments", True) End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commStatus.PARTY_ID") & strTemp strX = strX & xml_Ent("commStatus.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_commCorrelation("[COMMSTATUS_ID] =" & .Fields("COMMSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_commLineage("[childCommStatus_ID] =" & .Fields("COMMSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_commUsage("[COMMSTATUS_ID] =" & .Fields("COMMSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("commStatus", .Fields("COMMSTATUS_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commStatus", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commStatus = strBigger End Function Public Function autoG_table2xml_commUsage(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commUsage] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commUsage") 'COMMUSAGE_ID ThisTblPK: If Not IsNull(.Fields("COMMUSAGE_ID")) Then 'isn't null strX = strX & xml_Ent("commUsage.COMMUSAGE_ID") strX = strX & xmlize_txt(.Fields("COMMUSAGE_ID"), "autoNumber") strX = strX & xml_Ent("commUsage.COMMUSAGE_ID", True) End If ' is not null 'COMMNAME_ID If Not IsNull(.Fields("COMMNAME_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commName("[COMMNAME_ID]=" & .Fields("COMMNAME_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commUsage.COMMNAME_ID") & strTemp strX = strX & xml_Ent("commUsage.COMMNAME_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'usageStart If Not IsNull(.Fields("usageStart")) Then 'isn't null strX = strX & xml_Ent("commUsage.usageStart") strX = strX & xmlize_txt(.Fields("usageStart"), "date/time") strX = strX & xml_Ent("commUsage.usageStart", True) End If ' is not null 'usageStop If Not IsNull(.Fields("usageStop")) Then 'isn't null strX = strX & xml_Ent("commUsage.usageStop") strX = strX & xmlize_txt(.Fields("usageStop"), "date/time") strX = strX & xml_Ent("commUsage.usageStop", True) End If ' is not null 'commNameStatus If Not IsNull(.Fields("commNameStatus")) Then 'isn't null strX = strX & xml_Ent("commUsage.commNameStatus") strX = strX & xmlize_txt(.Fields("commNameStatus"), "text") strX = strX & xml_Ent("commUsage.commNameStatus", True) End If ' is not null 'classSystem If Not IsNull(.Fields("classSystem")) Then 'isn't null strX = strX & xml_Ent("commUsage.classSystem") strX = strX & xmlize_txt(.Fields("classSystem"), "text") strX = strX & xml_Ent("commUsage.classSystem", True) End If ' is not null 'COMMSTATUS_ID If Not IsNull(.Fields("COMMSTATUS_ID")) Then 'isn't null 'skip inverted! End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("commUsage", .Fields("COMMUSAGE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commUsage", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commUsage = strBigger End Function Public Function autoG_table2xml_plantConcept(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantConcept] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantConcept") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'PLANTCONCEPT_ID ThisTblPK: If Not IsNull(.Fields("PLANTCONCEPT_ID")) Then 'isn't null strX = strX & xml_Ent("plantConcept.PLANTCONCEPT_ID") strX = strX & xmlize_txt(.Fields("PLANTCONCEPT_ID"), "autoNumber") strX = strX & xml_Ent("plantConcept.PLANTCONCEPT_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'PLANTNAME_ID If Not IsNull(.Fields("PLANTNAME_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantName("[PLANTNAME_ID]=" & .Fields("PLANTNAME_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantConcept.PLANTNAME_ID") & strTemp strX = strX & xml_Ent("plantConcept.PLANTNAME_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantConcept.reference_ID") & strTemp strX = strX & xml_Ent("plantConcept.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'plantDescription If Not IsNull(.Fields("plantDescription")) Then 'isn't null strX = strX & xml_Ent("plantConcept.plantDescription") strX = strX & xmlize_txt(.Fields("plantDescription"), "Memo") strX = strX & xml_Ent("plantConcept.plantDescription", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("plantConcept.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "text") strX = strX & xml_Ent("plantConcept.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_plantStatus("[PLANTCONCEPT_ID] =" & .Fields("PLANTCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("plantConcept", .Fields("PLANTCONCEPT_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantConcept", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantConcept = strBigger End Function Public Function autoG_table2xml_plantCorrelation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantCorrelation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantCorrelation") 'PLANTCORRELATION_ID ThisTblPK: If Not IsNull(.Fields("PLANTCORRELATION_ID")) Then 'isn't null strX = strX & xml_Ent("plantCorrelation.PLANTCORRELATION_ID") strX = strX & xmlize_txt(.Fields("PLANTCORRELATION_ID"), "autoNumber") strX = strX & xml_Ent("plantCorrelation.PLANTCORRELATION_ID", True) End If ' is not null 'PLANTSTATUS_ID If Not IsNull(.Fields("PLANTSTATUS_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PLANTCONCEPT_ID If Not IsNull(.Fields("PLANTCONCEPT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantConcept("[PLANTCONCEPT_ID]=" & .Fields("PLANTCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantCorrelation.PLANTCONCEPT_ID") & strTemp strX = strX & xml_Ent("plantCorrelation.PLANTCONCEPT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'plantConvergence If Not IsNull(.Fields("plantConvergence")) Then 'isn't null strX = strX & xml_Ent("plantCorrelation.plantConvergence") strX = strX & xmlize_txt(.Fields("plantConvergence"), "text") strX = strX & xml_Ent("plantCorrelation.plantConvergence", True) End If ' is not null 'correlationStart If Not IsNull(.Fields("correlationStart")) Then 'isn't null strX = strX & xml_Ent("plantCorrelation.correlationStart") strX = strX & xmlize_txt(.Fields("correlationStart"), "date/time") strX = strX & xml_Ent("plantCorrelation.correlationStart", True) End If ' is not null 'correlationStop If Not IsNull(.Fields("correlationStop")) Then 'isn't null strX = strX & xml_Ent("plantCorrelation.correlationStop") strX = strX & xmlize_txt(.Fields("correlationStop"), "date/time") strX = strX & xml_Ent("plantCorrelation.correlationStop", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("plantCorrelation", .Fields("PLANTCORRELATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantCorrelation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantCorrelation = strBigger End Function Public Function autoG_table2xml_plantLineage(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantLineage] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantLineage") 'PLANTLINEAGE_ID ThisTblPK: If Not IsNull(.Fields("PLANTLINEAGE_ID")) Then 'isn't null strX = strX & xml_Ent("plantLineage.PLANTLINEAGE_ID") strX = strX & xmlize_txt(.Fields("PLANTLINEAGE_ID"), "autoNumber") strX = strX & xml_Ent("plantLineage.PLANTLINEAGE_ID", True) End If ' is not null 'childPlantStatus_ID If Not IsNull(.Fields("childPlantStatus_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'parentPlantStatus_ID If Not IsNull(.Fields("parentPlantStatus_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantStatus("[PLANTSTATUS_ID]=" & .Fields("parentPlantStatus_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantLineage.parentPlantStatus_ID") & strTemp strX = strX & xml_Ent("plantLineage.parentPlantStatus_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("plantLineage", .Fields("PLANTLINEAGE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantLineage", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantLineage = strBigger End Function Public Function autoG_table2xml_plantName(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantName] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantName") 'PLANTNAME_ID ThisTblPK: If Not IsNull(.Fields("PLANTNAME_ID")) Then 'isn't null strX = strX & xml_Ent("plantName.PLANTNAME_ID") strX = strX & xmlize_txt(.Fields("PLANTNAME_ID"), "autoNumber") strX = strX & xml_Ent("plantName.PLANTNAME_ID", True) End If ' is not null 'plantName If Not IsNull(.Fields("plantName")) Then 'isn't null strX = strX & xml_Ent("plantName.plantName") strX = strX & xmlize_txt(.Fields("plantName"), "text") strX = strX & xml_Ent("plantName.plantName", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantName.reference_ID") & strTemp strX = strX & xml_Ent("plantName.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'dateEntered If Not IsNull(.Fields("dateEntered")) Then 'isn't null strX = strX & xml_Ent("plantName.dateEntered") strX = strX & xmlize_txt(.Fields("dateEntered"), "date/time") strX = strX & xml_Ent("plantName.dateEntered", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("plantName", .Fields("PLANTNAME_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantName", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantName = strBigger End Function Public Function autoG_table2xml_plantStatus(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantStatus] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantStatus") 'PLANTSTATUS_ID ThisTblPK: If Not IsNull(.Fields("PLANTSTATUS_ID")) Then 'isn't null strX = strX & xml_Ent("plantStatus.PLANTSTATUS_ID") strX = strX & xmlize_txt(.Fields("PLANTSTATUS_ID"), "autoNumber") strX = strX & xml_Ent("plantStatus.PLANTSTATUS_ID", True) End If ' is not null 'PLANTCONCEPT_ID If Not IsNull(.Fields("PLANTCONCEPT_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantStatus.reference_ID") & strTemp strX = strX & xml_Ent("plantStatus.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'plantConceptStatus If Not IsNull(.Fields("plantConceptStatus")) Then 'isn't null strX = strX & xml_Ent("plantStatus.plantConceptStatus") strX = strX & xmlize_txt(.Fields("plantConceptStatus"), "text") strX = strX & xml_Ent("plantStatus.plantConceptStatus", True) End If ' is not null 'startDate If Not IsNull(.Fields("startDate")) Then 'isn't null strX = strX & xml_Ent("plantStatus.startDate") strX = strX & xmlize_txt(.Fields("startDate"), "date/time") strX = strX & xml_Ent("plantStatus.startDate", True) End If ' is not null 'stopDate If Not IsNull(.Fields("stopDate")) Then 'isn't null strX = strX & xml_Ent("plantStatus.stopDate") strX = strX & xmlize_txt(.Fields("stopDate"), "date/time") strX = strX & xml_Ent("plantStatus.stopDate", True) End If ' is not null 'plantPartyComments If Not IsNull(.Fields("plantPartyComments")) Then 'isn't null strX = strX & xml_Ent("plantStatus.plantPartyComments") strX = strX & xmlize_txt(.Fields("plantPartyComments"), "Memo") strX = strX & xml_Ent("plantStatus.plantPartyComments", True) End If ' is not null 'plantParent_ID If Not IsNull(.Fields("plantParent_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantConcept("[PLANTCONCEPT_ID]=" & .Fields("plantParent_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantStatus.plantParent_ID") & strTemp strX = strX & xml_Ent("plantStatus.plantParent_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'plantLevel If Not IsNull(.Fields("plantLevel")) Then 'isn't null strX = strX & xml_Ent("plantStatus.plantLevel") strX = strX & xmlize_txt(.Fields("plantLevel"), "text") strX = strX & xml_Ent("plantStatus.plantLevel", True) End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantStatus.PARTY_ID") & strTemp strX = strX & xml_Ent("plantStatus.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_plantCorrelation("[PLANTSTATUS_ID] =" & .Fields("PLANTSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_plantLineage("[childPlantStatus_ID] =" & .Fields("PLANTSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_plantUsage("[PLANTSTATUS_ID] =" & .Fields("PLANTSTATUS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("plantStatus", .Fields("PLANTSTATUS_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantStatus", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantStatus = strBigger End Function Public Function autoG_table2xml_plantUsage(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plantUsage] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plantUsage") 'PLANTUSAGE_ID ThisTblPK: If Not IsNull(.Fields("PLANTUSAGE_ID")) Then 'isn't null strX = strX & xml_Ent("plantUsage.PLANTUSAGE_ID") strX = strX & xmlize_txt(.Fields("PLANTUSAGE_ID"), "autoNumber") strX = strX & xml_Ent("plantUsage.PLANTUSAGE_ID", True) End If ' is not null 'PLANTNAME_ID If Not IsNull(.Fields("PLANTNAME_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantName("[PLANTNAME_ID]=" & .Fields("PLANTNAME_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plantUsage.PLANTNAME_ID") & strTemp strX = strX & xml_Ent("plantUsage.PLANTNAME_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'usageStart If Not IsNull(.Fields("usageStart")) Then 'isn't null strX = strX & xml_Ent("plantUsage.usageStart") strX = strX & xmlize_txt(.Fields("usageStart"), "date/time") strX = strX & xml_Ent("plantUsage.usageStart", True) End If ' is not null 'usageStop If Not IsNull(.Fields("usageStop")) Then 'isn't null strX = strX & xml_Ent("plantUsage.usageStop") strX = strX & xmlize_txt(.Fields("usageStop"), "date/time") strX = strX & xml_Ent("plantUsage.usageStop", True) End If ' is not null 'plantNameStatus If Not IsNull(.Fields("plantNameStatus")) Then 'isn't null strX = strX & xml_Ent("plantUsage.plantNameStatus") strX = strX & xmlize_txt(.Fields("plantNameStatus"), "text") strX = strX & xml_Ent("plantUsage.plantNameStatus", True) End If ' is not null 'classSystem If Not IsNull(.Fields("classSystem")) Then 'isn't null strX = strX & xml_Ent("plantUsage.classSystem") strX = strX & xmlize_txt(.Fields("classSystem"), "text") strX = strX & xml_Ent("plantUsage.classSystem", True) End If ' is not null 'PLANTSTATUS_ID If Not IsNull(.Fields("PLANTSTATUS_ID")) Then 'isn't null 'skip inverted! End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("plantUsage", .Fields("PLANTUSAGE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plantUsage", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plantUsage = strBigger End Function Public Function autoG_table2xml_address(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [address] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("address") 'ADDRESS_ID ThisTblPK: If Not IsNull(.Fields("ADDRESS_ID")) Then 'isn't null strX = strX & xml_Ent("address.ADDRESS_ID") strX = strX & xmlize_txt(.Fields("ADDRESS_ID"), "autoNumber") strX = strX & xml_Ent("address.ADDRESS_ID", True) End If ' is not null 'party_ID If Not IsNull(.Fields("party_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'organization_ID If Not IsNull(.Fields("organization_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("organization_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("address.organization_ID") & strTemp strX = strX & xml_Ent("address.organization_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'orgPosition If Not IsNull(.Fields("orgPosition")) Then 'isn't null strX = strX & xml_Ent("address.orgPosition") strX = strX & xmlize_txt(.Fields("orgPosition"), "text") strX = strX & xml_Ent("address.orgPosition", True) End If ' is not null 'email If Not IsNull(.Fields("email")) Then 'isn't null strX = strX & xml_Ent("address.email") strX = strX & xmlize_txt(.Fields("email"), "text") strX = strX & xml_Ent("address.email", True) End If ' is not null 'deliveryPoint If Not IsNull(.Fields("deliveryPoint")) Then 'isn't null strX = strX & xml_Ent("address.deliveryPoint") strX = strX & xmlize_txt(.Fields("deliveryPoint"), "text") strX = strX & xml_Ent("address.deliveryPoint", True) End If ' is not null 'city If Not IsNull(.Fields("city")) Then 'isn't null strX = strX & xml_Ent("address.city") strX = strX & xmlize_txt(.Fields("city"), "text") strX = strX & xml_Ent("address.city", True) End If ' is not null 'administrativeArea If Not IsNull(.Fields("administrativeArea")) Then 'isn't null strX = strX & xml_Ent("address.administrativeArea") strX = strX & xmlize_txt(.Fields("administrativeArea"), "text") strX = strX & xml_Ent("address.administrativeArea", True) End If ' is not null 'postalCode If Not IsNull(.Fields("postalCode")) Then 'isn't null strX = strX & xml_Ent("address.postalCode") strX = strX & xmlize_txt(.Fields("postalCode"), "text") strX = strX & xml_Ent("address.postalCode", True) End If ' is not null 'country If Not IsNull(.Fields("country")) Then 'isn't null strX = strX & xml_Ent("address.country") strX = strX & xmlize_txt(.Fields("country"), "text") strX = strX & xml_Ent("address.country", True) End If ' is not null 'currentFlag If Not IsNull(.Fields("currentFlag")) Then 'isn't null strX = strX & xml_Ent("address.currentFlag") strX = strX & xmlize_txt(.Fields("currentFlag"), "yes/no") strX = strX & xml_Ent("address.currentFlag", True) End If ' is not null 'addressStartDate If Not IsNull(.Fields("addressStartDate")) Then 'isn't null strX = strX & xml_Ent("address.addressStartDate") strX = strX & xmlize_txt(.Fields("addressStartDate"), "date/time") strX = strX & xml_Ent("address.addressStartDate", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("address", .Fields("ADDRESS_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("address", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_address = strBigger End Function Public Function autoG_table2xml_aux_Role(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [aux_Role] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("aux_Role") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'ROLE_ID ThisTblPK: If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null strX = strX & xml_Ent("aux_Role.ROLE_ID") strX = strX & xmlize_txt(.Fields("ROLE_ID"), "autoNumber") strX = strX & xml_Ent("aux_Role.ROLE_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'roleCode If Not IsNull(.Fields("roleCode")) Then 'isn't null strX = strX & xml_Ent("aux_Role.roleCode") strX = strX & xmlize_txt(.Fields("roleCode"), "text") strX = strX & xml_Ent("aux_Role.roleCode", True) End If ' is not null 'roleDescription If Not IsNull(.Fields("roleDescription")) Then 'isn't null strX = strX & xml_Ent("aux_Role.roleDescription") strX = strX & xmlize_txt(.Fields("roleDescription"), "text") strX = strX & xml_Ent("aux_Role.roleDescription", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("aux_Role.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("aux_Role.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("aux_Role", .Fields("ROLE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("aux_Role", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_aux_Role = strBigger End Function Public Function autoG_table2xml_reference(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [reference] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("reference") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'reference_ID ThisTblPK: If Not IsNull(.Fields("reference_ID")) Then 'isn't null strX = strX & xml_Ent("reference.reference_ID") strX = strX & xmlize_txt(.Fields("reference_ID"), "autoNumber") strX = strX & xml_Ent("reference.reference_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'shortName If Not IsNull(.Fields("shortName")) Then 'isn't null strX = strX & xml_Ent("reference.shortName") strX = strX & xmlize_txt(.Fields("shortName"), "text") strX = strX & xml_Ent("reference.shortName", True) End If ' is not null 'fulltext If Not IsNull(.Fields("fulltext")) Then 'isn't null strX = strX & xml_Ent("reference.fulltext") strX = strX & xmlize_txt(.Fields("fulltext"), "Memo") strX = strX & xml_Ent("reference.fulltext", True) End If ' is not null 'referenceType If Not IsNull(.Fields("referenceType")) Then 'isn't null strX = strX & xml_Ent("reference.referenceType") strX = strX & xmlize_txt(.Fields("referenceType"), "text") strX = strX & xml_Ent("reference.referenceType", True) End If ' is not null 'title If Not IsNull(.Fields("title")) Then 'isn't null strX = strX & xml_Ent("reference.title") strX = strX & xmlize_txt(.Fields("title"), "text") strX = strX & xml_Ent("reference.title", True) End If ' is not null 'titleSuperior If Not IsNull(.Fields("titleSuperior")) Then 'isn't null strX = strX & xml_Ent("reference.titleSuperior") strX = strX & xmlize_txt(.Fields("titleSuperior"), "text") strX = strX & xml_Ent("reference.titleSuperior", True) End If ' is not null 'pubDate If Not IsNull(.Fields("pubDate")) Then 'isn't null strX = strX & xml_Ent("reference.pubDate") strX = strX & xmlize_txt(.Fields("pubDate"), "date/time") strX = strX & xml_Ent("reference.pubDate", True) End If ' is not null 'accessDate If Not IsNull(.Fields("accessDate")) Then 'isn't null strX = strX & xml_Ent("reference.accessDate") strX = strX & xmlize_txt(.Fields("accessDate"), "date/time") strX = strX & xml_Ent("reference.accessDate", True) End If ' is not null 'conferenceDate If Not IsNull(.Fields("conferenceDate")) Then 'isn't null strX = strX & xml_Ent("reference.conferenceDate") strX = strX & xmlize_txt(.Fields("conferenceDate"), "date/time") strX = strX & xml_Ent("reference.conferenceDate", True) End If ' is not null 'referenceJournal_ID If Not IsNull(.Fields("referenceJournal_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_referenceJournal("[referenceJournal_ID]=" & .Fields("referenceJournal_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("reference.referenceJournal_ID") & strTemp strX = strX & xml_Ent("reference.referenceJournal_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'volume If Not IsNull(.Fields("volume")) Then 'isn't null strX = strX & xml_Ent("reference.volume") strX = strX & xmlize_txt(.Fields("volume"), "text") strX = strX & xml_Ent("reference.volume", True) End If ' is not null 'issue If Not IsNull(.Fields("issue")) Then 'isn't null strX = strX & xml_Ent("reference.issue") strX = strX & xmlize_txt(.Fields("issue"), "text") strX = strX & xml_Ent("reference.issue", True) End If ' is not null 'pageRange If Not IsNull(.Fields("pageRange")) Then 'isn't null strX = strX & xml_Ent("reference.pageRange") strX = strX & xmlize_txt(.Fields("pageRange"), "text") strX = strX & xml_Ent("reference.pageRange", True) End If ' is not null 'totalPages If Not IsNull(.Fields("totalPages")) Then 'isn't null strX = strX & xml_Ent("reference.totalPages") strX = strX & xmlize_txt(.Fields("totalPages"), "Long Integer") strX = strX & xml_Ent("reference.totalPages", True) End If ' is not null 'publisher If Not IsNull(.Fields("publisher")) Then 'isn't null strX = strX & xml_Ent("reference.publisher") strX = strX & xmlize_txt(.Fields("publisher"), "text") strX = strX & xml_Ent("reference.publisher", True) End If ' is not null 'publicationPlace If Not IsNull(.Fields("publicationPlace")) Then 'isn't null strX = strX & xml_Ent("reference.publicationPlace") strX = strX & xmlize_txt(.Fields("publicationPlace"), "text") strX = strX & xml_Ent("reference.publicationPlace", True) End If ' is not null 'isbn If Not IsNull(.Fields("isbn")) Then 'isn't null strX = strX & xml_Ent("reference.isbn") strX = strX & xmlize_txt(.Fields("isbn"), "text") strX = strX & xml_Ent("reference.isbn", True) End If ' is not null 'edition If Not IsNull(.Fields("edition")) Then 'isn't null strX = strX & xml_Ent("reference.edition") strX = strX & xmlize_txt(.Fields("edition"), "text") strX = strX & xml_Ent("reference.edition", True) End If ' is not null 'numberOfVolumes If Not IsNull(.Fields("numberOfVolumes")) Then 'isn't null strX = strX & xml_Ent("reference.numberOfVolumes") strX = strX & xmlize_txt(.Fields("numberOfVolumes"), "Long Integer") strX = strX & xml_Ent("reference.numberOfVolumes", True) End If ' is not null 'chapterNumber If Not IsNull(.Fields("chapterNumber")) Then 'isn't null strX = strX & xml_Ent("reference.chapterNumber") strX = strX & xmlize_txt(.Fields("chapterNumber"), "Long Integer") strX = strX & xml_Ent("reference.chapterNumber", True) End If ' is not null 'reportNumber If Not IsNull(.Fields("reportNumber")) Then 'isn't null strX = strX & xml_Ent("reference.reportNumber") strX = strX & xmlize_txt(.Fields("reportNumber"), "Long Integer") strX = strX & xml_Ent("reference.reportNumber", True) End If ' is not null 'communicationType If Not IsNull(.Fields("communicationType")) Then 'isn't null strX = strX & xml_Ent("reference.communicationType") strX = strX & xmlize_txt(.Fields("communicationType"), "text") strX = strX & xml_Ent("reference.communicationType", True) End If ' is not null 'degree If Not IsNull(.Fields("degree")) Then 'isn't null strX = strX & xml_Ent("reference.degree") strX = strX & xmlize_txt(.Fields("degree"), "text") strX = strX & xml_Ent("reference.degree", True) End If ' is not null 'url If Not IsNull(.Fields("url")) Then 'isn't null strX = strX & xml_Ent("reference.url") strX = strX & xmlize_txt(.Fields("url"), "Memo") strX = strX & xml_Ent("reference.url", True) End If ' is not null 'doi If Not IsNull(.Fields("doi")) Then 'isn't null strX = strX & xml_Ent("reference.doi") strX = strX & xmlize_txt(.Fields("doi"), "Memo") strX = strX & xml_Ent("reference.doi", True) End If ' is not null 'additionalInfo If Not IsNull(.Fields("additionalInfo")) Then 'isn't null strX = strX & xml_Ent("reference.additionalInfo") strX = strX & xmlize_txt(.Fields("additionalInfo"), "Memo") strX = strX & xml_Ent("reference.additionalInfo", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("reference.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "text") strX = strX & xml_Ent("reference.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_referenceAltIdent("[reference_ID] =" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_referenceContributor("[reference_ID] =" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("reference", .Fields("reference_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("reference", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_reference = strBigger End Function Public Function autoG_table2xml_referenceAltIdent(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [referenceAltIdent] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("referenceAltIdent") 'referenceAltIdent_ID ThisTblPK: If Not IsNull(.Fields("referenceAltIdent_ID")) Then 'isn't null strX = strX & xml_Ent("referenceAltIdent.referenceAltIdent_ID") strX = strX & xmlize_txt(.Fields("referenceAltIdent_ID"), "autoNumber") strX = strX & xml_Ent("referenceAltIdent.referenceAltIdent_ID", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'system If Not IsNull(.Fields("system")) Then 'isn't null strX = strX & xml_Ent("referenceAltIdent.system") strX = strX & xmlize_txt(.Fields("system"), "text") strX = strX & xml_Ent("referenceAltIdent.system", True) End If ' is not null 'identifier If Not IsNull(.Fields("identifier")) Then 'isn't null strX = strX & xml_Ent("referenceAltIdent.identifier") strX = strX & xmlize_txt(.Fields("identifier"), "text") strX = strX & xml_Ent("referenceAltIdent.identifier", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("referenceAltIdent", .Fields("referenceAltIdent_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("referenceAltIdent", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_referenceAltIdent = strBigger End Function Public Function autoG_table2xml_referenceContributor(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [referenceContributor] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("referenceContributor") 'referenceContributor_ID ThisTblPK: If Not IsNull(.Fields("referenceContributor_ID")) Then 'isn't null strX = strX & xml_Ent("referenceContributor.referenceContributor_ID") strX = strX & xmlize_txt(.Fields("referenceContributor_ID"), "autoNumber") strX = strX & xml_Ent("referenceContributor.referenceContributor_ID", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'referenceParty_ID If Not IsNull(.Fields("referenceParty_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_referenceParty("[referenceParty_ID]=" & .Fields("referenceParty_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("referenceContributor.referenceParty_ID") & strTemp strX = strX & xml_Ent("referenceContributor.referenceParty_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'roleType If Not IsNull(.Fields("roleType")) Then 'isn't null strX = strX & xml_Ent("referenceContributor.roleType") strX = strX & xmlize_txt(.Fields("roleType"), "text") strX = strX & xml_Ent("referenceContributor.roleType", True) End If ' is not null 'position If Not IsNull(.Fields("position")) Then 'isn't null strX = strX & xml_Ent("referenceContributor.position") strX = strX & xmlize_txt(.Fields("position"), "Long Integer") strX = strX & xml_Ent("referenceContributor.position", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("referenceContributor", .Fields("referenceContributor_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("referenceContributor", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_referenceContributor = strBigger End Function Public Function autoG_table2xml_referenceParty(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [referenceParty] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("referenceParty") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'referenceParty_ID ThisTblPK: If Not IsNull(.Fields("referenceParty_ID")) Then 'isn't null strX = strX & xml_Ent("referenceParty.referenceParty_ID") strX = strX & xmlize_txt(.Fields("referenceParty_ID"), "autoNumber") strX = strX & xml_Ent("referenceParty.referenceParty_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'type If Not IsNull(.Fields("type")) Then 'isn't null strX = strX & xml_Ent("referenceParty.type") strX = strX & xmlize_txt(.Fields("type"), "text") strX = strX & xml_Ent("referenceParty.type", True) End If ' is not null 'positionName If Not IsNull(.Fields("positionName")) Then 'isn't null strX = strX & xml_Ent("referenceParty.positionName") strX = strX & xmlize_txt(.Fields("positionName"), "text") strX = strX & xml_Ent("referenceParty.positionName", True) End If ' is not null 'salutation If Not IsNull(.Fields("salutation")) Then 'isn't null strX = strX & xml_Ent("referenceParty.salutation") strX = strX & xmlize_txt(.Fields("salutation"), "text") strX = strX & xml_Ent("referenceParty.salutation", True) End If ' is not null 'givenName If Not IsNull(.Fields("givenName")) Then 'isn't null strX = strX & xml_Ent("referenceParty.givenName") strX = strX & xmlize_txt(.Fields("givenName"), "text") strX = strX & xml_Ent("referenceParty.givenName", True) End If ' is not null 'surname If Not IsNull(.Fields("surname")) Then 'isn't null strX = strX & xml_Ent("referenceParty.surname") strX = strX & xmlize_txt(.Fields("surname"), "text") strX = strX & xml_Ent("referenceParty.surname", True) End If ' is not null 'suffix If Not IsNull(.Fields("suffix")) Then 'isn't null strX = strX & xml_Ent("referenceParty.suffix") strX = strX & xmlize_txt(.Fields("suffix"), "text") strX = strX & xml_Ent("referenceParty.suffix", True) End If ' is not null 'organizationName If Not IsNull(.Fields("organizationName")) Then 'isn't null strX = strX & xml_Ent("referenceParty.organizationName") strX = strX & xmlize_txt(.Fields("organizationName"), "text") strX = strX & xml_Ent("referenceParty.organizationName", True) End If ' is not null 'currentParty_ID If Not IsNull(.Fields("currentParty_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_referenceParty("[referenceParty_ID]=" & .Fields("currentParty_ID") & " AND [referenceParty_ID]<>" & .Fields("referenceParty_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("referenceParty.currentParty_ID") & strTemp strX = strX & xml_Ent("referenceParty.currentParty_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("referenceParty.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("referenceParty.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("referenceParty", .Fields("referenceParty_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("referenceParty", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_referenceParty = strBigger End Function Public Function autoG_table2xml_referenceJournal(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [referenceJournal] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("referenceJournal") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'referenceJournal_ID ThisTblPK: If Not IsNull(.Fields("referenceJournal_ID")) Then 'isn't null strX = strX & xml_Ent("referenceJournal.referenceJournal_ID") strX = strX & xmlize_txt(.Fields("referenceJournal_ID"), "autoNumber") strX = strX & xml_Ent("referenceJournal.referenceJournal_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'journal If Not IsNull(.Fields("journal")) Then 'isn't null strX = strX & xml_Ent("referenceJournal.journal") strX = strX & xmlize_txt(.Fields("journal"), "text") strX = strX & xml_Ent("referenceJournal.journal", True) End If ' is not null 'issn If Not IsNull(.Fields("issn")) Then 'isn't null strX = strX & xml_Ent("referenceJournal.issn") strX = strX & xmlize_txt(.Fields("issn"), "text") strX = strX & xml_Ent("referenceJournal.issn", True) End If ' is not null 'abbreviation If Not IsNull(.Fields("abbreviation")) Then 'isn't null strX = strX & xml_Ent("referenceJournal.abbreviation") strX = strX & xmlize_txt(.Fields("abbreviation"), "text") strX = strX & xml_Ent("referenceJournal.abbreviation", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("referenceJournal.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("referenceJournal.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("referenceJournal", .Fields("referenceJournal_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("referenceJournal", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_referenceJournal = strBigger End Function Public Function autoG_table2xml_classContributor(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [classContributor] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("classContributor") 'CLASSCONTRIBUTOR_ID ThisTblPK: If Not IsNull(.Fields("CLASSCONTRIBUTOR_ID")) Then 'isn't null strX = strX & xml_Ent("classContributor.CLASSCONTRIBUTOR_ID") strX = strX & xmlize_txt(.Fields("CLASSCONTRIBUTOR_ID"), "autoNumber") strX = strX & xml_Ent("classContributor.CLASSCONTRIBUTOR_ID", True) End If ' is not null 'COMMCLASS_ID If Not IsNull(.Fields("COMMCLASS_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("classContributor.PARTY_ID") & strTemp strX = strX & xml_Ent("classContributor.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("classContributor.ROLE_ID") & strTemp strX = strX & xml_Ent("classContributor.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("classContributor", .Fields("CLASSCONTRIBUTOR_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("classContributor", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_classContributor = strBigger End Function Public Function autoG_table2xml_commClass(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commClass] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commClass") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'COMMCLASS_ID ThisTblPK: If Not IsNull(.Fields("COMMCLASS_ID")) Then 'isn't null strX = strX & xml_Ent("commClass.COMMCLASS_ID") strX = strX & xmlize_txt(.Fields("COMMCLASS_ID"), "autoNumber") strX = strX & xml_Ent("commClass.COMMCLASS_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'classStartDate If Not IsNull(.Fields("classStartDate")) Then 'isn't null strX = strX & xml_Ent("commClass.classStartDate") strX = strX & xmlize_txt(.Fields("classStartDate"), "date/time") strX = strX & xml_Ent("commClass.classStartDate", True) End If ' is not null 'classStopDate If Not IsNull(.Fields("classStopDate")) Then 'isn't null strX = strX & xml_Ent("commClass.classStopDate") strX = strX & xmlize_txt(.Fields("classStopDate"), "date/time") strX = strX & xml_Ent("commClass.classStopDate", True) End If ' is not null 'inspection If Not IsNull(.Fields("inspection")) Then 'isn't null strX = strX & xml_Ent("commClass.inspection") strX = strX & xmlize_txt(.Fields("inspection"), "yes/no") strX = strX & xml_Ent("commClass.inspection", True) End If ' is not null 'tableAnalysis If Not IsNull(.Fields("tableAnalysis")) Then 'isn't null strX = strX & xml_Ent("commClass.tableAnalysis") strX = strX & xmlize_txt(.Fields("tableAnalysis"), "yes/no") strX = strX & xml_Ent("commClass.tableAnalysis", True) End If ' is not null 'multivariateAnalysis If Not IsNull(.Fields("multivariateAnalysis")) Then 'isn't null strX = strX & xml_Ent("commClass.multivariateAnalysis") strX = strX & xmlize_txt(.Fields("multivariateAnalysis"), "yes/no") strX = strX & xml_Ent("commClass.multivariateAnalysis", True) End If ' is not null 'expertSystem If Not IsNull(.Fields("expertSystem")) Then 'isn't null strX = strX & xml_Ent("commClass.expertSystem") strX = strX & xmlize_txt(.Fields("expertSystem"), "yes/no") strX = strX & xml_Ent("commClass.expertSystem", True) End If ' is not null 'classPublication_ID If Not IsNull(.Fields("classPublication_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("classPublication_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commClass.classPublication_ID") & strTemp strX = strX & xml_Ent("commClass.classPublication_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'classNotes If Not IsNull(.Fields("classNotes")) Then 'isn't null strX = strX & xml_Ent("commClass.classNotes") strX = strX & xmlize_txt(.Fields("classNotes"), "Memo") strX = strX & xml_Ent("commClass.classNotes", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("commClass.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("commClass.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_classContributor("[COMMCLASS_ID] =" & .Fields("COMMCLASS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_commInterpretation("[COMMCLASS_ID] =" & .Fields("COMMCLASS_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("commClass", .Fields("COMMCLASS_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commClass", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commClass = strBigger End Function Public Function autoG_table2xml_commInterpretation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [commInterpretation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("commInterpretation") 'COMMINTERPRETATION_ID ThisTblPK: If Not IsNull(.Fields("COMMINTERPRETATION_ID")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.COMMINTERPRETATION_ID") strX = strX & xmlize_txt(.Fields("COMMINTERPRETATION_ID"), "autoNumber") strX = strX & xml_Ent("commInterpretation.COMMINTERPRETATION_ID", True) End If ' is not null 'COMMCLASS_ID If Not IsNull(.Fields("COMMCLASS_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'COMMCONCEPT_ID If Not IsNull(.Fields("COMMCONCEPT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_commConcept("[COMMCONCEPT_ID]=" & .Fields("COMMCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commInterpretation.COMMCONCEPT_ID") & strTemp strX = strX & xml_Ent("commInterpretation.COMMCONCEPT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'classFit If Not IsNull(.Fields("classFit")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.classFit") strX = strX & xmlize_txt(.Fields("classFit"), "text") strX = strX & xml_Ent("commInterpretation.classFit", True) End If ' is not null 'classConfidence If Not IsNull(.Fields("classConfidence")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.classConfidence") strX = strX & xmlize_txt(.Fields("classConfidence"), "text") strX = strX & xml_Ent("commInterpretation.classConfidence", True) End If ' is not null 'commAuthority_ID If Not IsNull(.Fields("commAuthority_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("commAuthority_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("commInterpretation.commAuthority_ID") & strTemp strX = strX & xml_Ent("commInterpretation.commAuthority_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'notes If Not IsNull(.Fields("notes")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.notes") strX = strX & xmlize_txt(.Fields("notes"), "Memo") strX = strX & xml_Ent("commInterpretation.notes", True) End If ' is not null 'type If Not IsNull(.Fields("type")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.type") strX = strX & xmlize_txt(.Fields("type"), "yes/no") strX = strX & xml_Ent("commInterpretation.type", True) End If ' is not null 'nomenclaturalType If Not IsNull(.Fields("nomenclaturalType")) Then 'isn't null strX = strX & xml_Ent("commInterpretation.nomenclaturalType") strX = strX & xmlize_txt(.Fields("nomenclaturalType"), "yes/no") strX = strX & xml_Ent("commInterpretation.nomenclaturalType", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("commInterpretation", .Fields("COMMINTERPRETATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("commInterpretation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_commInterpretation = strBigger End Function Public Function autoG_table2xml_coverIndex(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [coverIndex] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("coverIndex") 'COVERINDEX_ID ThisTblPK: If Not IsNull(.Fields("COVERINDEX_ID")) Then 'isn't null strX = strX & xml_Ent("coverIndex.COVERINDEX_ID") strX = strX & xmlize_txt(.Fields("COVERINDEX_ID"), "autoNumber") strX = strX & xml_Ent("coverIndex.COVERINDEX_ID", True) End If ' is not null 'COVERMETHOD_ID If Not IsNull(.Fields("COVERMETHOD_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'coverCode If Not IsNull(.Fields("coverCode")) Then 'isn't null strX = strX & xml_Ent("coverIndex.coverCode") strX = strX & xmlize_txt(.Fields("coverCode"), "text") strX = strX & xml_Ent("coverIndex.coverCode", True) End If ' is not null 'upperLimit If Not IsNull(.Fields("upperLimit")) Then 'isn't null strX = strX & xml_Ent("coverIndex.upperLimit") strX = strX & xmlize_txt(.Fields("upperLimit"), "Double") strX = strX & xml_Ent("coverIndex.upperLimit", True) End If ' is not null 'lowerLimit If Not IsNull(.Fields("lowerLimit")) Then 'isn't null strX = strX & xml_Ent("coverIndex.lowerLimit") strX = strX & xmlize_txt(.Fields("lowerLimit"), "Double") strX = strX & xml_Ent("coverIndex.lowerLimit", True) End If ' is not null 'coverPercent If Not IsNull(.Fields("coverPercent")) Then 'isn't null strX = strX & xml_Ent("coverIndex.coverPercent") strX = strX & xmlize_txt(.Fields("coverPercent"), "Double") strX = strX & xml_Ent("coverIndex.coverPercent", True) End If ' is not null 'indexDescription If Not IsNull(.Fields("indexDescription")) Then 'isn't null strX = strX & xml_Ent("coverIndex.indexDescription") strX = strX & xmlize_txt(.Fields("indexDescription"), "Memo") strX = strX & xml_Ent("coverIndex.indexDescription", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("coverIndex", .Fields("COVERINDEX_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("coverIndex", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_coverIndex = strBigger End Function Public Function autoG_table2xml_coverMethod(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [coverMethod] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("coverMethod") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'COVERMETHOD_ID ThisTblPK: If Not IsNull(.Fields("COVERMETHOD_ID")) Then 'isn't null strX = strX & xml_Ent("coverMethod.COVERMETHOD_ID") strX = strX & xmlize_txt(.Fields("COVERMETHOD_ID"), "autoNumber") strX = strX & xml_Ent("coverMethod.COVERMETHOD_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("coverMethod.reference_ID") & strTemp strX = strX & xml_Ent("coverMethod.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'coverType If Not IsNull(.Fields("coverType")) Then 'isn't null strX = strX & xml_Ent("coverMethod.coverType") strX = strX & xmlize_txt(.Fields("coverType"), "text") strX = strX & xml_Ent("coverMethod.coverType", True) End If ' is not null 'coverEstimationMethod If Not IsNull(.Fields("coverEstimationMethod")) Then 'isn't null strX = strX & xml_Ent("coverMethod.coverEstimationMethod") strX = strX & xmlize_txt(.Fields("coverEstimationMethod"), "Text") strX = strX & xml_Ent("coverMethod.coverEstimationMethod", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("coverMethod.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("coverMethod.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_coverIndex("[COVERMETHOD_ID] =" & .Fields("COVERMETHOD_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("coverMethod", .Fields("COVERMETHOD_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("coverMethod", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_coverMethod = strBigger End Function Public Function autoG_table2xml_definedValue(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [definedValue] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("definedValue") 'DEFINEDVALUE_ID ThisTblPK: If Not IsNull(.Fields("DEFINEDVALUE_ID")) Then 'isn't null strX = strX & xml_Ent("definedValue.DEFINEDVALUE_ID") strX = strX & xmlize_txt(.Fields("DEFINEDVALUE_ID"), "autoNumber") strX = strX & xml_Ent("definedValue.DEFINEDVALUE_ID", True) End If ' is not null 'USERDEFINED_ID If Not IsNull(.Fields("USERDEFINED_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_userDefined("[USERDEFINED_ID]=" & .Fields("USERDEFINED_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("definedValue.USERDEFINED_ID") & strTemp strX = strX & xml_Ent("definedValue.USERDEFINED_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'tableRecord_ID If Not IsNull(.Fields("tableRecord_ID")) Then 'isn't null strX = strX & xml_Ent("definedValue.tableRecord_ID") strX = strX & xmlize_txt(.Fields("tableRecord_ID"), "Long Integer") strX = strX & xml_Ent("definedValue.tableRecord_ID", True) End If ' is not null 'definedValue If Not IsNull(.Fields("definedValue")) Then 'isn't null strX = strX & xml_Ent("definedValue.definedValue") strX = strX & xmlize_txt(.Fields("definedValue"), "Memo") strX = strX & xml_Ent("definedValue.definedValue", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("definedValue", .Fields("DEFINEDVALUE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("definedValue", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_definedValue = strBigger End Function Public Function autoG_table2xml_disturbanceObs(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [disturbanceObs] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("disturbanceObs") 'disturbanceObs_ID ThisTblPK: If Not IsNull(.Fields("disturbanceObs_ID")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceObs_ID") strX = strX & xmlize_txt(.Fields("disturbanceObs_ID"), "autoNumber") strX = strX & xml_Ent("disturbanceObs.disturbanceObs_ID", True) End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'disturbanceType If Not IsNull(.Fields("disturbanceType")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceType") strX = strX & xmlize_txt(.Fields("disturbanceType"), "text") strX = strX & xml_Ent("disturbanceObs.disturbanceType", True) End If ' is not null 'disturbanceIntensity If Not IsNull(.Fields("disturbanceIntensity")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceIntensity") strX = strX & xmlize_txt(.Fields("disturbanceIntensity"), "text") strX = strX & xml_Ent("disturbanceObs.disturbanceIntensity", True) End If ' is not null 'disturbanceAge If Not IsNull(.Fields("disturbanceAge")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceAge") strX = strX & xmlize_txt(.Fields("disturbanceAge"), "Double") strX = strX & xml_Ent("disturbanceObs.disturbanceAge", True) End If ' is not null 'disturbanceExtent If Not IsNull(.Fields("disturbanceExtent")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceExtent") strX = strX & xmlize_txt(.Fields("disturbanceExtent"), "Double") strX = strX & xml_Ent("disturbanceObs.disturbanceExtent", True) End If ' is not null 'disturbanceComment If Not IsNull(.Fields("disturbanceComment")) Then 'isn't null strX = strX & xml_Ent("disturbanceObs.disturbanceComment") strX = strX & xmlize_txt(.Fields("disturbanceComment"), "Memo") strX = strX & xml_Ent("disturbanceObs.disturbanceComment", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("disturbanceObs", .Fields("disturbanceObs_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("disturbanceObs", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_disturbanceObs = strBigger End Function Public Function autoG_table2xml_graphic(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [graphic] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("graphic") 'GRAPHIC_ID ThisTblPK: If Not IsNull(.Fields("GRAPHIC_ID")) Then 'isn't null strX = strX & xml_Ent("graphic.GRAPHIC_ID") strX = strX & xmlize_txt(.Fields("GRAPHIC_ID"), "autoNumber") strX = strX & xml_Ent("graphic.GRAPHIC_ID", True) End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'graphicName If Not IsNull(.Fields("graphicName")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicName") strX = strX & xmlize_txt(.Fields("graphicName"), "text") strX = strX & xml_Ent("graphic.graphicName", True) End If ' is not null 'graphicLocation If Not IsNull(.Fields("graphicLocation")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicLocation") strX = strX & xmlize_txt(.Fields("graphicLocation"), "Memo") strX = strX & xml_Ent("graphic.graphicLocation", True) End If ' is not null 'graphicDescription If Not IsNull(.Fields("graphicDescription")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicDescription") strX = strX & xmlize_txt(.Fields("graphicDescription"), "Memo") strX = strX & xml_Ent("graphic.graphicDescription", True) End If ' is not null 'graphicType If Not IsNull(.Fields("graphicType")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicType") strX = strX & xmlize_txt(.Fields("graphicType"), "text") strX = strX & xml_Ent("graphic.graphicType", True) End If ' is not null 'graphicDate If Not IsNull(.Fields("graphicDate")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicDate") strX = strX & xmlize_txt(.Fields("graphicDate"), "date/time") strX = strX & xml_Ent("graphic.graphicDate", True) End If ' is not null 'graphicData If Not IsNull(.Fields("graphicData")) Then 'isn't null strX = strX & xml_Ent("graphic.graphicData") strX = strX & xmlize_txt(.Fields("graphicData"), "OLE Object") strX = strX & xml_Ent("graphic.graphicData", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("graphic", .Fields("GRAPHIC_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("graphic", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_graphic = strBigger End Function Public Function autoG_table2xml_namedPlace(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [namedPlace] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("namedPlace") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'NAMEDPLACE_ID ThisTblPK: If Not IsNull(.Fields("NAMEDPLACE_ID")) Then 'isn't null strX = strX & xml_Ent("namedPlace.NAMEDPLACE_ID") strX = strX & xmlize_txt(.Fields("NAMEDPLACE_ID"), "autoNumber") strX = strX & xml_Ent("namedPlace.NAMEDPLACE_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'placeSystem If Not IsNull(.Fields("placeSystem")) Then 'isn't null strX = strX & xml_Ent("namedPlace.placeSystem") strX = strX & xmlize_txt(.Fields("placeSystem"), "text") strX = strX & xml_Ent("namedPlace.placeSystem", True) End If ' is not null 'placeName If Not IsNull(.Fields("placeName")) Then 'isn't null strX = strX & xml_Ent("namedPlace.placeName") strX = strX & xmlize_txt(.Fields("placeName"), "text") strX = strX & xml_Ent("namedPlace.placeName", True) End If ' is not null 'placeDescription If Not IsNull(.Fields("placeDescription")) Then 'isn't null strX = strX & xml_Ent("namedPlace.placeDescription") strX = strX & xmlize_txt(.Fields("placeDescription"), "Memo") strX = strX & xml_Ent("namedPlace.placeDescription", True) End If ' is not null 'placeCode If Not IsNull(.Fields("placeCode")) Then 'isn't null strX = strX & xml_Ent("namedPlace.placeCode") strX = strX & xmlize_txt(.Fields("placeCode"), "text") strX = strX & xml_Ent("namedPlace.placeCode", True) End If ' is not null 'owner If Not IsNull(.Fields("owner")) Then 'isn't null strX = strX & xml_Ent("namedPlace.owner") strX = strX & xmlize_txt(.Fields("owner"), "text") strX = strX & xml_Ent("namedPlace.owner", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("namedPlace.reference_ID") & strTemp strX = strX & xml_Ent("namedPlace.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("namedPlace.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("namedPlace.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("namedPlace", .Fields("NAMEDPLACE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("namedPlace", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_namedPlace = strBigger End Function Public Function autoG_table2xml_note(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [note] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("note") 'NOTE_ID ThisTblPK: If Not IsNull(.Fields("NOTE_ID")) Then 'isn't null strX = strX & xml_Ent("note.NOTE_ID") strX = strX & xmlize_txt(.Fields("NOTE_ID"), "autoNumber") strX = strX & xml_Ent("note.NOTE_ID", True) End If ' is not null 'NOTELINK_ID If Not IsNull(.Fields("NOTELINK_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("note.PARTY_ID") & strTemp strX = strX & xml_Ent("note.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("note.ROLE_ID") & strTemp strX = strX & xml_Ent("note.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'noteDate If Not IsNull(.Fields("noteDate")) Then 'isn't null strX = strX & xml_Ent("note.noteDate") strX = strX & xmlize_txt(.Fields("noteDate"), "date/time") strX = strX & xml_Ent("note.noteDate", True) End If ' is not null 'noteType If Not IsNull(.Fields("noteType")) Then 'isn't null strX = strX & xml_Ent("note.noteType") strX = strX & xmlize_txt(.Fields("noteType"), "text") strX = strX & xml_Ent("note.noteType", True) End If ' is not null 'noteText If Not IsNull(.Fields("noteText")) Then 'isn't null strX = strX & xml_Ent("note.noteText") strX = strX & xmlize_txt(.Fields("noteText"), "Memo") strX = strX & xml_Ent("note.noteText", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("note", .Fields("NOTE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("note", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_note = strBigger End Function Public Function autoG_table2xml_noteLink(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [noteLink] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("noteLink") 'NOTELINK_ID ThisTblPK: If Not IsNull(.Fields("NOTELINK_ID")) Then 'isn't null strX = strX & xml_Ent("noteLink.NOTELINK_ID") strX = strX & xmlize_txt(.Fields("NOTELINK_ID"), "autoNumber") strX = strX & xml_Ent("noteLink.NOTELINK_ID", True) End If ' is not null 'tableName If Not IsNull(.Fields("tableName")) Then 'isn't null strX = strX & xml_Ent("noteLink.tableName") strX = strX & xmlize_txt(.Fields("tableName"), "text") strX = strX & xml_Ent("noteLink.tableName", True) End If ' is not null 'attributeName If Not IsNull(.Fields("attributeName")) Then 'isn't null strX = strX & xml_Ent("noteLink.attributeName") strX = strX & xmlize_txt(.Fields("attributeName"), "text") strX = strX & xml_Ent("noteLink.attributeName", True) End If ' is not null 'tableRecord If Not IsNull(.Fields("tableRecord")) Then 'isn't null strX = strX & xml_Ent("noteLink.tableRecord") strX = strX & xmlize_txt(.Fields("tableRecord"), "Long Integer") strX = strX & xml_Ent("noteLink.tableRecord", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_note("[NOTELINK_ID] =" & .Fields("NOTELINK_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("noteLink", .Fields("NOTELINK_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("noteLink", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_noteLink = strBigger End Function Public Function autoG_table2xml_observation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [observation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("observation") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'OBSERVATION_ID ThisTblPK: If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null strX = strX & xml_Ent("observation.OBSERVATION_ID") strX = strX & xmlize_txt(.Fields("OBSERVATION_ID"), "autoNumber") strX = strX & xml_Ent("observation.OBSERVATION_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'PREVIOUSOBS_ID If Not IsNull(.Fields("PREVIOUSOBS_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_observation("[OBSERVATION_ID]=" & .Fields("PREVIOUSOBS_ID") & " AND [OBSERVATION_ID]<>" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.PREVIOUSOBS_ID") & strTemp strX = strX & xml_Ent("observation.PREVIOUSOBS_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'PLOT_ID If Not IsNull(.Fields("PLOT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plot("[PLOT_ID]=" & .Fields("PLOT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.PLOT_ID") & strTemp strX = strX & xml_Ent("observation.PLOT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'PROJECT_ID If Not IsNull(.Fields("PROJECT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_project("[PROJECT_ID]=" & .Fields("PROJECT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.PROJECT_ID") & strTemp strX = strX & xml_Ent("observation.PROJECT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'authorObsCode If Not IsNull(.Fields("authorObsCode")) Then 'isn't null strX = strX & xml_Ent("observation.authorObsCode") strX = strX & xmlize_txt(.Fields("authorObsCode"), "text") strX = strX & xml_Ent("observation.authorObsCode", True) End If ' is not null 'obsStartDate If Not IsNull(.Fields("obsStartDate")) Then 'isn't null strX = strX & xml_Ent("observation.obsStartDate") strX = strX & xmlize_txt(.Fields("obsStartDate"), "date/time") strX = strX & xml_Ent("observation.obsStartDate", True) End If ' is not null 'obsEndDate If Not IsNull(.Fields("obsEndDate")) Then 'isn't null strX = strX & xml_Ent("observation.obsEndDate") strX = strX & xmlize_txt(.Fields("obsEndDate"), "date/time") strX = strX & xml_Ent("observation.obsEndDate", True) End If ' is not null 'dateAccuracy If Not IsNull(.Fields("dateAccuracy")) Then 'isn't null strX = strX & xml_Ent("observation.dateAccuracy") strX = strX & xmlize_txt(.Fields("dateAccuracy"), "text") strX = strX & xml_Ent("observation.dateAccuracy", True) End If ' is not null 'dateEntered If Not IsNull(.Fields("dateEntered")) Then 'isn't null strX = strX & xml_Ent("observation.dateEntered") strX = strX & xmlize_txt(.Fields("dateEntered"), "date/time") strX = strX & xml_Ent("observation.dateEntered", True) End If ' is not null 'COVERMETHOD_ID If Not IsNull(.Fields("COVERMETHOD_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_coverMethod("[COVERMETHOD_ID]=" & .Fields("COVERMETHOD_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.COVERMETHOD_ID") & strTemp strX = strX & xml_Ent("observation.COVERMETHOD_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'coverDispersion If Not IsNull(.Fields("coverDispersion")) Then 'isn't null strX = strX & xml_Ent("observation.coverDispersion") strX = strX & xmlize_txt(.Fields("coverDispersion"), "text") strX = strX & xml_Ent("observation.coverDispersion", True) End If ' is not null 'autoTaxonCover If Not IsNull(.Fields("autoTaxonCover")) Then 'isn't null strX = strX & xml_Ent("observation.autoTaxonCover") strX = strX & xmlize_txt(.Fields("autoTaxonCover"), "yes/no") strX = strX & xml_Ent("observation.autoTaxonCover", True) End If ' is not null 'STRATUMMETHOD_ID If Not IsNull(.Fields("STRATUMMETHOD_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_stratumMethod("[STRATUMMETHOD_ID]=" & .Fields("STRATUMMETHOD_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.STRATUMMETHOD_ID") & strTemp strX = strX & xml_Ent("observation.STRATUMMETHOD_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'methodNarrative If Not IsNull(.Fields("methodNarrative")) Then 'isn't null strX = strX & xml_Ent("observation.methodNarrative") strX = strX & xmlize_txt(.Fields("methodNarrative"), "Memo") strX = strX & xml_Ent("observation.methodNarrative", True) End If ' is not null 'taxonObservationArea If Not IsNull(.Fields("taxonObservationArea")) Then 'isn't null strX = strX & xml_Ent("observation.taxonObservationArea") strX = strX & xmlize_txt(.Fields("taxonObservationArea"), "Double") strX = strX & xml_Ent("observation.taxonObservationArea", True) End If ' is not null 'stemSizeLimit If Not IsNull(.Fields("stemSizeLimit")) Then 'isn't null strX = strX & xml_Ent("observation.stemSizeLimit") strX = strX & xmlize_txt(.Fields("stemSizeLimit"), "Double") strX = strX & xml_Ent("observation.stemSizeLimit", True) End If ' is not null 'stemObservationArea If Not IsNull(.Fields("stemObservationArea")) Then 'isn't null strX = strX & xml_Ent("observation.stemObservationArea") strX = strX & xmlize_txt(.Fields("stemObservationArea"), "Double") strX = strX & xml_Ent("observation.stemObservationArea", True) End If ' is not null 'stemSampleMethod If Not IsNull(.Fields("stemSampleMethod")) Then 'isn't null strX = strX & xml_Ent("observation.stemSampleMethod") strX = strX & xmlize_txt(.Fields("stemSampleMethod"), "text") strX = strX & xml_Ent("observation.stemSampleMethod", True) End If ' is not null 'originalData If Not IsNull(.Fields("originalData")) Then 'isn't null strX = strX & xml_Ent("observation.originalData") strX = strX & xmlize_txt(.Fields("originalData"), "Memo") strX = strX & xml_Ent("observation.originalData", True) End If ' is not null 'effortLevel If Not IsNull(.Fields("effortLevel")) Then 'isn't null strX = strX & xml_Ent("observation.effortLevel") strX = strX & xmlize_txt(.Fields("effortLevel"), "text") strX = strX & xml_Ent("observation.effortLevel", True) End If ' is not null 'plotValidationLevel If Not IsNull(.Fields("plotValidationLevel")) Then 'isn't null strX = strX & xml_Ent("observation.plotValidationLevel") strX = strX & xmlize_txt(.Fields("plotValidationLevel"), "Long Integer") strX = strX & xml_Ent("observation.plotValidationLevel", True) End If ' is not null 'floristicQuality If Not IsNull(.Fields("floristicQuality")) Then 'isn't null strX = strX & xml_Ent("observation.floristicQuality") strX = strX & xmlize_txt(.Fields("floristicQuality"), "text") strX = strX & xml_Ent("observation.floristicQuality", True) End If ' is not null 'bryophyteQuality If Not IsNull(.Fields("bryophyteQuality")) Then 'isn't null strX = strX & xml_Ent("observation.bryophyteQuality") strX = strX & xmlize_txt(.Fields("bryophyteQuality"), "text") strX = strX & xml_Ent("observation.bryophyteQuality", True) End If ' is not null 'lichenQuality If Not IsNull(.Fields("lichenQuality")) Then 'isn't null strX = strX & xml_Ent("observation.lichenQuality") strX = strX & xmlize_txt(.Fields("lichenQuality"), "text") strX = strX & xml_Ent("observation.lichenQuality", True) End If ' is not null 'observationNarrative If Not IsNull(.Fields("observationNarrative")) Then 'isn't null strX = strX & xml_Ent("observation.observationNarrative") strX = strX & xmlize_txt(.Fields("observationNarrative"), "Memo") strX = strX & xml_Ent("observation.observationNarrative", True) End If ' is not null 'landscapeNarrative If Not IsNull(.Fields("landscapeNarrative")) Then 'isn't null strX = strX & xml_Ent("observation.landscapeNarrative") strX = strX & xmlize_txt(.Fields("landscapeNarrative"), "Memo") strX = strX & xml_Ent("observation.landscapeNarrative", True) End If ' is not null 'homogeneity If Not IsNull(.Fields("homogeneity")) Then 'isn't null strX = strX & xml_Ent("observation.homogeneity") strX = strX & xmlize_txt(.Fields("homogeneity"), "text") strX = strX & xml_Ent("observation.homogeneity", True) End If ' is not null 'phenologicAspect If Not IsNull(.Fields("phenologicAspect")) Then 'isn't null strX = strX & xml_Ent("observation.phenologicAspect") strX = strX & xmlize_txt(.Fields("phenologicAspect"), "text") strX = strX & xml_Ent("observation.phenologicAspect", True) End If ' is not null 'representativeness If Not IsNull(.Fields("representativeness")) Then 'isn't null strX = strX & xml_Ent("observation.representativeness") strX = strX & xmlize_txt(.Fields("representativeness"), "text") strX = strX & xml_Ent("observation.representativeness", True) End If ' is not null 'standMaturity If Not IsNull(.Fields("standMaturity")) Then 'isn't null strX = strX & xml_Ent("observation.standMaturity") strX = strX & xmlize_txt(.Fields("standMaturity"), "text") strX = strX & xml_Ent("observation.standMaturity", True) End If ' is not null 'successionalStatus If Not IsNull(.Fields("successionalStatus")) Then 'isn't null strX = strX & xml_Ent("observation.successionalStatus") strX = strX & xmlize_txt(.Fields("successionalStatus"), "Memo") strX = strX & xml_Ent("observation.successionalStatus", True) End If ' is not null 'basalArea If Not IsNull(.Fields("basalArea")) Then 'isn't null strX = strX & xml_Ent("observation.basalArea") strX = strX & xmlize_txt(.Fields("basalArea"), "Double") strX = strX & xml_Ent("observation.basalArea", True) End If ' is not null 'hydrologicRegime If Not IsNull(.Fields("hydrologicRegime")) Then 'isn't null strX = strX & xml_Ent("observation.hydrologicRegime") strX = strX & xmlize_txt(.Fields("hydrologicRegime"), "text") strX = strX & xml_Ent("observation.hydrologicRegime", True) End If ' is not null 'soilMoistureRegime If Not IsNull(.Fields("soilMoistureRegime")) Then 'isn't null strX = strX & xml_Ent("observation.soilMoistureRegime") strX = strX & xmlize_txt(.Fields("soilMoistureRegime"), "text") strX = strX & xml_Ent("observation.soilMoistureRegime", True) End If ' is not null 'soilDrainage If Not IsNull(.Fields("soilDrainage")) Then 'isn't null strX = strX & xml_Ent("observation.soilDrainage") strX = strX & xmlize_txt(.Fields("soilDrainage"), "text") strX = strX & xml_Ent("observation.soilDrainage", True) End If ' is not null 'waterSalinity If Not IsNull(.Fields("waterSalinity")) Then 'isn't null strX = strX & xml_Ent("observation.waterSalinity") strX = strX & xmlize_txt(.Fields("waterSalinity"), "text") strX = strX & xml_Ent("observation.waterSalinity", True) End If ' is not null 'waterDepth If Not IsNull(.Fields("waterDepth")) Then 'isn't null strX = strX & xml_Ent("observation.waterDepth") strX = strX & xmlize_txt(.Fields("waterDepth"), "Double") strX = strX & xml_Ent("observation.waterDepth", True) End If ' is not null 'shoreDistance If Not IsNull(.Fields("shoreDistance")) Then 'isn't null strX = strX & xml_Ent("observation.shoreDistance") strX = strX & xmlize_txt(.Fields("shoreDistance"), "Double") strX = strX & xml_Ent("observation.shoreDistance", True) End If ' is not null 'soilDepth If Not IsNull(.Fields("soilDepth")) Then 'isn't null strX = strX & xml_Ent("observation.soilDepth") strX = strX & xmlize_txt(.Fields("soilDepth"), "Double") strX = strX & xml_Ent("observation.soilDepth", True) End If ' is not null 'organicDepth If Not IsNull(.Fields("organicDepth")) Then 'isn't null strX = strX & xml_Ent("observation.organicDepth") strX = strX & xmlize_txt(.Fields("organicDepth"), "Double") strX = strX & xml_Ent("observation.organicDepth", True) End If ' is not null 'SOILTAXON_ID If Not IsNull(.Fields("SOILTAXON_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_soilTaxon("[SOILTAXON_ID]=" & .Fields("SOILTAXON_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observation.SOILTAXON_ID") & strTemp strX = strX & xml_Ent("observation.SOILTAXON_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'soilTaxonSrc If Not IsNull(.Fields("soilTaxonSrc")) Then 'isn't null strX = strX & xml_Ent("observation.soilTaxonSrc") strX = strX & xmlize_txt(.Fields("soilTaxonSrc"), "text") strX = strX & xml_Ent("observation.soilTaxonSrc", True) End If ' is not null 'percentBedRock If Not IsNull(.Fields("percentBedRock")) Then 'isn't null strX = strX & xml_Ent("observation.percentBedRock") strX = strX & xmlize_txt(.Fields("percentBedRock"), "Double") strX = strX & xml_Ent("observation.percentBedRock", True) End If ' is not null 'percentRockGravel If Not IsNull(.Fields("percentRockGravel")) Then 'isn't null strX = strX & xml_Ent("observation.percentRockGravel") strX = strX & xmlize_txt(.Fields("percentRockGravel"), "Double") strX = strX & xml_Ent("observation.percentRockGravel", True) End If ' is not null 'percentWood If Not IsNull(.Fields("percentWood")) Then 'isn't null strX = strX & xml_Ent("observation.percentWood") strX = strX & xmlize_txt(.Fields("percentWood"), "Double") strX = strX & xml_Ent("observation.percentWood", True) End If ' is not null 'percentLitter If Not IsNull(.Fields("percentLitter")) Then 'isn't null strX = strX & xml_Ent("observation.percentLitter") strX = strX & xmlize_txt(.Fields("percentLitter"), "Double") strX = strX & xml_Ent("observation.percentLitter", True) End If ' is not null 'percentBareSoil If Not IsNull(.Fields("percentBareSoil")) Then 'isn't null strX = strX & xml_Ent("observation.percentBareSoil") strX = strX & xmlize_txt(.Fields("percentBareSoil"), "Double") strX = strX & xml_Ent("observation.percentBareSoil", True) End If ' is not null 'percentWater If Not IsNull(.Fields("percentWater")) Then 'isn't null strX = strX & xml_Ent("observation.percentWater") strX = strX & xmlize_txt(.Fields("percentWater"), "Double") strX = strX & xml_Ent("observation.percentWater", True) End If ' is not null 'percentOther If Not IsNull(.Fields("percentOther")) Then 'isn't null strX = strX & xml_Ent("observation.percentOther") strX = strX & xmlize_txt(.Fields("percentOther"), "Double") strX = strX & xml_Ent("observation.percentOther", True) End If ' is not null 'nameOther If Not IsNull(.Fields("nameOther")) Then 'isn't null strX = strX & xml_Ent("observation.nameOther") strX = strX & xmlize_txt(.Fields("nameOther"), "text") strX = strX & xml_Ent("observation.nameOther", True) End If ' is not null 'treeHt If Not IsNull(.Fields("treeHt")) Then 'isn't null strX = strX & xml_Ent("observation.treeHt") strX = strX & xmlize_txt(.Fields("treeHt"), "Double") strX = strX & xml_Ent("observation.treeHt", True) End If ' is not null 'shrubHt If Not IsNull(.Fields("shrubHt")) Then 'isn't null strX = strX & xml_Ent("observation.shrubHt") strX = strX & xmlize_txt(.Fields("shrubHt"), "Double") strX = strX & xml_Ent("observation.shrubHt", True) End If ' is not null 'fieldHt If Not IsNull(.Fields("fieldHt")) Then 'isn't null strX = strX & xml_Ent("observation.fieldHt") strX = strX & xmlize_txt(.Fields("fieldHt"), "Double") strX = strX & xml_Ent("observation.fieldHt", True) End If ' is not null 'nonvascularHt If Not IsNull(.Fields("nonvascularHt")) Then 'isn't null strX = strX & xml_Ent("observation.nonvascularHt") strX = strX & xmlize_txt(.Fields("nonvascularHt"), "Double") strX = strX & xml_Ent("observation.nonvascularHt", True) End If ' is not null 'submergedHt If Not IsNull(.Fields("submergedHt")) Then 'isn't null strX = strX & xml_Ent("observation.submergedHt") strX = strX & xmlize_txt(.Fields("submergedHt"), "Double") strX = strX & xml_Ent("observation.submergedHt", True) End If ' is not null 'treeCover If Not IsNull(.Fields("treeCover")) Then 'isn't null strX = strX & xml_Ent("observation.treeCover") strX = strX & xmlize_txt(.Fields("treeCover"), "Double") strX = strX & xml_Ent("observation.treeCover", True) End If ' is not null 'shrubCover If Not IsNull(.Fields("shrubCover")) Then 'isn't null strX = strX & xml_Ent("observation.shrubCover") strX = strX & xmlize_txt(.Fields("shrubCover"), "Double") strX = strX & xml_Ent("observation.shrubCover", True) End If ' is not null 'fieldCover If Not IsNull(.Fields("fieldCover")) Then 'isn't null strX = strX & xml_Ent("observation.fieldCover") strX = strX & xmlize_txt(.Fields("fieldCover"), "Double") strX = strX & xml_Ent("observation.fieldCover", True) End If ' is not null 'nonvascularCover If Not IsNull(.Fields("nonvascularCover")) Then 'isn't null strX = strX & xml_Ent("observation.nonvascularCover") strX = strX & xmlize_txt(.Fields("nonvascularCover"), "Double") strX = strX & xml_Ent("observation.nonvascularCover", True) End If ' is not null 'floatingCover If Not IsNull(.Fields("floatingCover")) Then 'isn't null strX = strX & xml_Ent("observation.floatingCover") strX = strX & xmlize_txt(.Fields("floatingCover"), "Double") strX = strX & xml_Ent("observation.floatingCover", True) End If ' is not null 'submergedCover If Not IsNull(.Fields("submergedCover")) Then 'isn't null strX = strX & xml_Ent("observation.submergedCover") strX = strX & xmlize_txt(.Fields("submergedCover"), "Double") strX = strX & xml_Ent("observation.submergedCover", True) End If ' is not null 'dominantStratum If Not IsNull(.Fields("dominantStratum")) Then 'isn't null strX = strX & xml_Ent("observation.dominantStratum") strX = strX & xmlize_txt(.Fields("dominantStratum"), "text") strX = strX & xml_Ent("observation.dominantStratum", True) End If ' is not null 'growthform1Type If Not IsNull(.Fields("growthform1Type")) Then 'isn't null strX = strX & xml_Ent("observation.growthform1Type") strX = strX & xmlize_txt(.Fields("growthform1Type"), "text") strX = strX & xml_Ent("observation.growthform1Type", True) End If ' is not null 'growthform2Type If Not IsNull(.Fields("growthform2Type")) Then 'isn't null strX = strX & xml_Ent("observation.growthform2Type") strX = strX & xmlize_txt(.Fields("growthform2Type"), "text") strX = strX & xml_Ent("observation.growthform2Type", True) End If ' is not null 'growthform3Type If Not IsNull(.Fields("growthform3Type")) Then 'isn't null strX = strX & xml_Ent("observation.growthform3Type") strX = strX & xmlize_txt(.Fields("growthform3Type"), "text") strX = strX & xml_Ent("observation.growthform3Type", True) End If ' is not null 'growthform1Cover If Not IsNull(.Fields("growthform1Cover")) Then 'isn't null strX = strX & xml_Ent("observation.growthform1Cover") strX = strX & xmlize_txt(.Fields("growthform1Cover"), "Double") strX = strX & xml_Ent("observation.growthform1Cover", True) End If ' is not null 'growthform2Cover If Not IsNull(.Fields("growthform2Cover")) Then 'isn't null strX = strX & xml_Ent("observation.growthform2Cover") strX = strX & xmlize_txt(.Fields("growthform2Cover"), "Double") strX = strX & xml_Ent("observation.growthform2Cover", True) End If ' is not null 'growthform3Cover If Not IsNull(.Fields("growthform3Cover")) Then 'isn't null strX = strX & xml_Ent("observation.growthform3Cover") strX = strX & xmlize_txt(.Fields("growthform3Cover"), "Double") strX = strX & xml_Ent("observation.growthform3Cover", True) End If ' is not null 'totalCover If Not IsNull(.Fields("totalCover")) Then 'isn't null strX = strX & xml_Ent("observation.totalCover") strX = strX & xmlize_txt(.Fields("totalCover"), "Double") strX = strX & xml_Ent("observation.totalCover", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("observation.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("observation.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null 'notesPublic If Not IsNull(.Fields("notesPublic")) Then 'isn't null strX = strX & xml_Ent("observation.notesPublic") strX = strX & xmlize_txt(.Fields("notesPublic"), "yes/no") strX = strX & xml_Ent("observation.notesPublic", True) End If ' is not null 'notesMgt If Not IsNull(.Fields("notesMgt")) Then 'isn't null strX = strX & xml_Ent("observation.notesMgt") strX = strX & xmlize_txt(.Fields("notesMgt"), "yes/no") strX = strX & xml_Ent("observation.notesMgt", True) End If ' is not null 'revisions If Not IsNull(.Fields("revisions")) Then 'isn't null strX = strX & xml_Ent("observation.revisions") strX = strX & xmlize_txt(.Fields("revisions"), "yes/no") strX = strX & xml_Ent("observation.revisions", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_commClass("[OBSERVATION_ID] =" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_disturbanceObs("[OBSERVATION_ID] =" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_graphic("[OBSERVATION_ID] =" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_observationContributor("[OBSERVATION_ID] =" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_observationSynonym("[primaryObservation_ID] =" & .Fields("OBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_soilObs("[OBSERVATION_ID] =" & .Fields("observation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_stratum("[OBSERVATION_ID] =" & .Fields("observation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_taxonObservation("[OBSERVATION_ID] =" & .Fields("observation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("observation", .Fields("OBSERVATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("observation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_observation = strBigger End Function Public Function autoG_table2xml_observationContributor(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [observationContributor] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("observationContributor") 'OBSERVATIONCONTRIBUTOR_ID ThisTblPK: If Not IsNull(.Fields("OBSERVATIONCONTRIBUTOR_ID")) Then 'isn't null strX = strX & xml_Ent("observationContributor.OBSERVATIONCONTRIBUTOR_ID") strX = strX & xmlize_txt(.Fields("OBSERVATIONCONTRIBUTOR_ID"), "autoNumber") strX = strX & xml_Ent("observationContributor.OBSERVATIONCONTRIBUTOR_ID", True) End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observationContributor.PARTY_ID") & strTemp strX = strX & xml_Ent("observationContributor.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observationContributor.ROLE_ID") & strTemp strX = strX & xml_Ent("observationContributor.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'contributionDate If Not IsNull(.Fields("contributionDate")) Then 'isn't null strX = strX & xml_Ent("observationContributor.contributionDate") strX = strX & xmlize_txt(.Fields("contributionDate"), "date/time") strX = strX & xml_Ent("observationContributor.contributionDate", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("observationContributor", .Fields("OBSERVATIONCONTRIBUTOR_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("observationContributor", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_observationContributor = strBigger End Function Public Function autoG_table2xml_observationSynonym(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [observationSynonym] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("observationSynonym") 'OBSERVATIONSYNONYM_ID ThisTblPK: If Not IsNull(.Fields("OBSERVATIONSYNONYM_ID")) Then 'isn't null strX = strX & xml_Ent("observationSynonym.OBSERVATIONSYNONYM_ID") strX = strX & xmlize_txt(.Fields("OBSERVATIONSYNONYM_ID"), "autoNumber") strX = strX & xml_Ent("observationSynonym.OBSERVATIONSYNONYM_ID", True) End If ' is not null 'synonymObservation_ID If Not IsNull(.Fields("synonymObservation_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_observation("[OBSERVATION_ID]=" & .Fields("synonymObservation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observationSynonym.synonymObservation_ID") & strTemp strX = strX & xml_Ent("observationSynonym.synonymObservation_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'primaryObservation_ID If Not IsNull(.Fields("primaryObservation_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observationSynonym.PARTY_ID") & strTemp strX = strX & xml_Ent("observationSynonym.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("observationSynonym.ROLE_ID") & strTemp strX = strX & xml_Ent("observationSynonym.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'classStartDate If Not IsNull(.Fields("classStartDate")) Then 'isn't null strX = strX & xml_Ent("observationSynonym.classStartDate") strX = strX & xmlize_txt(.Fields("classStartDate"), "date/time") strX = strX & xml_Ent("observationSynonym.classStartDate", True) End If ' is not null 'classStopDate If Not IsNull(.Fields("classStopDate")) Then 'isn't null strX = strX & xml_Ent("observationSynonym.classStopDate") strX = strX & xmlize_txt(.Fields("classStopDate"), "date/time") strX = strX & xml_Ent("observationSynonym.classStopDate", True) End If ' is not null 'synonymComment If Not IsNull(.Fields("synonymComment")) Then 'isn't null strX = strX & xml_Ent("observationSynonym.synonymComment") strX = strX & xmlize_txt(.Fields("synonymComment"), "Memo") strX = strX & xml_Ent("observationSynonym.synonymComment", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("observationSynonym", .Fields("OBSERVATIONSYNONYM_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("observationSynonym", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_observationSynonym = strBigger End Function Public Function autoG_table2xml_party(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [party] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("party") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'PARTY_ID ThisTblPK: If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null strX = strX & xml_Ent("party.PARTY_ID") strX = strX & xmlize_txt(.Fields("PARTY_ID"), "autoNumber") strX = strX & xml_Ent("party.PARTY_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'salutation If Not IsNull(.Fields("salutation")) Then 'isn't null strX = strX & xml_Ent("party.salutation") strX = strX & xmlize_txt(.Fields("salutation"), "text") strX = strX & xml_Ent("party.salutation", True) End If ' is not null 'givenName If Not IsNull(.Fields("givenName")) Then 'isn't null strX = strX & xml_Ent("party.givenName") strX = strX & xmlize_txt(.Fields("givenName"), "text") strX = strX & xml_Ent("party.givenName", True) End If ' is not null 'middleName If Not IsNull(.Fields("middleName")) Then 'isn't null strX = strX & xml_Ent("party.middleName") strX = strX & xmlize_txt(.Fields("middleName"), "text") strX = strX & xml_Ent("party.middleName", True) End If ' is not null 'surName If Not IsNull(.Fields("surName")) Then 'isn't null strX = strX & xml_Ent("party.surName") strX = strX & xmlize_txt(.Fields("surName"), "text") strX = strX & xml_Ent("party.surName", True) End If ' is not null 'organizationName If Not IsNull(.Fields("organizationName")) Then 'isn't null strX = strX & xml_Ent("party.organizationName") strX = strX & xmlize_txt(.Fields("organizationName"), "text") strX = strX & xml_Ent("party.organizationName", True) End If ' is not null 'currentName_ID If Not IsNull(.Fields("currentName_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("currentName_ID") & " AND [PARTY_ID]<>" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("party.currentName_ID") & strTemp strX = strX & xml_Ent("party.currentName_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'contactInstructions If Not IsNull(.Fields("contactInstructions")) Then 'isn't null strX = strX & xml_Ent("party.contactInstructions") strX = strX & xmlize_txt(.Fields("contactInstructions"), "Memo") strX = strX & xml_Ent("party.contactInstructions", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("party.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "text") strX = strX & xml_Ent("party.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null 'partyType If Not IsNull(.Fields("partyType")) Then 'isn't null strX = strX & xml_Ent("party.partyType") strX = strX & xmlize_txt(.Fields("partyType"), "Text") strX = strX & xml_Ent("party.partyType", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_address("[party_ID] =" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_partyMember("[parentParty_ID] =" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_telephone("[PARTY_ID] =" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("party", .Fields("PARTY_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("party", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_party = strBigger End Function Public Function autoG_table2xml_place(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [place] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("place") 'PLOTPLACE_ID ThisTblPK: If Not IsNull(.Fields("PLOTPLACE_ID")) Then 'isn't null strX = strX & xml_Ent("place.PLOTPLACE_ID") strX = strX & xmlize_txt(.Fields("PLOTPLACE_ID"), "autoNumber") strX = strX & xml_Ent("place.PLOTPLACE_ID", True) End If ' is not null 'PLOT_ID If Not IsNull(.Fields("PLOT_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'calculated If Not IsNull(.Fields("calculated")) Then 'isn't null strX = strX & xml_Ent("place.calculated") strX = strX & xmlize_txt(.Fields("calculated"), "yes/no") strX = strX & xml_Ent("place.calculated", True) End If ' is not null 'NAMEDPLACE_ID If Not IsNull(.Fields("NAMEDPLACE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_namedPlace("[NAMEDPLACE_ID]=" & .Fields("NAMEDPLACE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("place.NAMEDPLACE_ID") & strTemp strX = strX & xml_Ent("place.NAMEDPLACE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("place", .Fields("PLOTPLACE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("place", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_place = strBigger End Function Public Function autoG_table2xml_plot(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [plot] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("plot") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'PLOT_ID ThisTblPK: If Not IsNull(.Fields("PLOT_ID")) Then 'isn't null strX = strX & xml_Ent("plot.PLOT_ID") strX = strX & xmlize_txt(.Fields("PLOT_ID"), "autoNumber") strX = strX & xml_Ent("plot.PLOT_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'authorPlotCode If Not IsNull(.Fields("authorPlotCode")) Then 'isn't null strX = strX & xml_Ent("plot.authorPlotCode") strX = strX & xmlize_txt(.Fields("authorPlotCode"), "text") strX = strX & xml_Ent("plot.authorPlotCode", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plot.reference_ID") & strTemp strX = strX & xml_Ent("plot.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'PARENT_ID If Not IsNull(.Fields("PARENT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plot("[PLOT_ID]=" & .Fields("PARENT_ID") & " AND [PLOT_ID]<>" & .Fields("PLOT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("plot.PARENT_ID") & strTemp strX = strX & xml_Ent("plot.PARENT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'realLatitude If Not IsNull(.Fields("realLatitude")) Then 'isn't null strX = strX & xml_Ent("plot.realLatitude") strX = strX & xmlize_txt(.Fields("realLatitude"), "Double") strX = strX & xml_Ent("plot.realLatitude", True) End If ' is not null 'realLongitude If Not IsNull(.Fields("realLongitude")) Then 'isn't null strX = strX & xml_Ent("plot.realLongitude") strX = strX & xmlize_txt(.Fields("realLongitude"), "Double") strX = strX & xml_Ent("plot.realLongitude", True) End If ' is not null 'locationAccuracy If Not IsNull(.Fields("locationAccuracy")) Then 'isn't null strX = strX & xml_Ent("plot.locationAccuracy") strX = strX & xmlize_txt(.Fields("locationAccuracy"), "Double") strX = strX & xml_Ent("plot.locationAccuracy", True) End If ' is not null 'confidentialityStatus If Not IsNull(.Fields("confidentialityStatus")) Then 'isn't null strX = strX & xml_Ent("plot.confidentialityStatus") strX = strX & xmlize_txt(.Fields("confidentialityStatus"), "Long Integer") strX = strX & xml_Ent("plot.confidentialityStatus", True) End If ' is not null 'confidentialityReason If Not IsNull(.Fields("confidentialityReason")) Then 'isn't null strX = strX & xml_Ent("plot.confidentialityReason") strX = strX & xmlize_txt(.Fields("confidentialityReason"), "text") strX = strX & xml_Ent("plot.confidentialityReason", True) End If ' is not null 'latitude If Not IsNull(.Fields("latitude")) Then 'isn't null strX = strX & xml_Ent("plot.latitude") strX = strX & xmlize_txt(.Fields("latitude"), "Double") strX = strX & xml_Ent("plot.latitude", True) End If ' is not null 'longitude If Not IsNull(.Fields("longitude")) Then 'isn't null strX = strX & xml_Ent("plot.longitude") strX = strX & xmlize_txt(.Fields("longitude"), "Double") strX = strX & xml_Ent("plot.longitude", True) End If ' is not null 'authorE If Not IsNull(.Fields("authorE")) Then 'isn't null strX = strX & xml_Ent("plot.authorE") strX = strX & xmlize_txt(.Fields("authorE"), "text") strX = strX & xml_Ent("plot.authorE", True) End If ' is not null 'authorN If Not IsNull(.Fields("authorN")) Then 'isn't null strX = strX & xml_Ent("plot.authorN") strX = strX & xmlize_txt(.Fields("authorN"), "text") strX = strX & xml_Ent("plot.authorN", True) End If ' is not null 'authorZone If Not IsNull(.Fields("authorZone")) Then 'isn't null strX = strX & xml_Ent("plot.authorZone") strX = strX & xmlize_txt(.Fields("authorZone"), "text") strX = strX & xml_Ent("plot.authorZone", True) End If ' is not null 'authorDatum If Not IsNull(.Fields("authorDatum")) Then 'isn't null strX = strX & xml_Ent("plot.authorDatum") strX = strX & xmlize_txt(.Fields("authorDatum"), "text") strX = strX & xml_Ent("plot.authorDatum", True) End If ' is not null 'authorLocation If Not IsNull(.Fields("authorLocation")) Then 'isn't null strX = strX & xml_Ent("plot.authorLocation") strX = strX & xmlize_txt(.Fields("authorLocation"), "text") strX = strX & xml_Ent("plot.authorLocation", True) End If ' is not null 'locationNarrative If Not IsNull(.Fields("locationNarrative")) Then 'isn't null strX = strX & xml_Ent("plot.locationNarrative") strX = strX & xmlize_txt(.Fields("locationNarrative"), "Memo") strX = strX & xml_Ent("plot.locationNarrative", True) End If ' is not null 'azimuth If Not IsNull(.Fields("azimuth")) Then 'isn't null strX = strX & xml_Ent("plot.azimuth") strX = strX & xmlize_txt(.Fields("azimuth"), "Double") strX = strX & xml_Ent("plot.azimuth", True) End If ' is not null 'dsgpoly If Not IsNull(.Fields("dsgpoly")) Then 'isn't null strX = strX & xml_Ent("plot.dsgpoly") strX = strX & xmlize_txt(.Fields("dsgpoly"), "Memo") strX = strX & xml_Ent("plot.dsgpoly", True) End If ' is not null 'shape If Not IsNull(.Fields("shape")) Then 'isn't null strX = strX & xml_Ent("plot.shape") strX = strX & xmlize_txt(.Fields("shape"), "text") strX = strX & xml_Ent("plot.shape", True) End If ' is not null 'area If Not IsNull(.Fields("area")) Then 'isn't null strX = strX & xml_Ent("plot.area") strX = strX & xmlize_txt(.Fields("area"), "Double") strX = strX & xml_Ent("plot.area", True) End If ' is not null 'standSize If Not IsNull(.Fields("standSize")) Then 'isn't null strX = strX & xml_Ent("plot.standSize") strX = strX & xmlize_txt(.Fields("standSize"), "text") strX = strX & xml_Ent("plot.standSize", True) End If ' is not null 'placementMethod If Not IsNull(.Fields("placementMethod")) Then 'isn't null strX = strX & xml_Ent("plot.placementMethod") strX = strX & xmlize_txt(.Fields("placementMethod"), "text") strX = strX & xml_Ent("plot.placementMethod", True) End If ' is not null 'permanence If Not IsNull(.Fields("permanence")) Then 'isn't null strX = strX & xml_Ent("plot.permanence") strX = strX & xmlize_txt(.Fields("permanence"), "yes/no") strX = strX & xml_Ent("plot.permanence", True) End If ' is not null 'layoutNarrative If Not IsNull(.Fields("layoutNarrative")) Then 'isn't null strX = strX & xml_Ent("plot.layoutNarrative") strX = strX & xmlize_txt(.Fields("layoutNarrative"), "Memo") strX = strX & xml_Ent("plot.layoutNarrative", True) End If ' is not null 'elevation If Not IsNull(.Fields("elevation")) Then 'isn't null strX = strX & xml_Ent("plot.elevation") strX = strX & xmlize_txt(.Fields("elevation"), "Double") strX = strX & xml_Ent("plot.elevation", True) End If ' is not null 'elevationAccuracy If Not IsNull(.Fields("elevationAccuracy")) Then 'isn't null strX = strX & xml_Ent("plot.elevationAccuracy") strX = strX & xmlize_txt(.Fields("elevationAccuracy"), "Double") strX = strX & xml_Ent("plot.elevationAccuracy", True) End If ' is not null 'elevationRange If Not IsNull(.Fields("elevationRange")) Then 'isn't null strX = strX & xml_Ent("plot.elevationRange") strX = strX & xmlize_txt(.Fields("elevationRange"), "Double") strX = strX & xml_Ent("plot.elevationRange", True) End If ' is not null 'slopeAspect If Not IsNull(.Fields("slopeAspect")) Then 'isn't null strX = strX & xml_Ent("plot.slopeAspect") strX = strX & xmlize_txt(.Fields("slopeAspect"), "Double") strX = strX & xml_Ent("plot.slopeAspect", True) End If ' is not null 'minSlopeAspect If Not IsNull(.Fields("minSlopeAspect")) Then 'isn't null strX = strX & xml_Ent("plot.minSlopeAspect") strX = strX & xmlize_txt(.Fields("minSlopeAspect"), "Double") strX = strX & xml_Ent("plot.minSlopeAspect", True) End If ' is not null 'maxSlopeAspect If Not IsNull(.Fields("maxSlopeAspect")) Then 'isn't null strX = strX & xml_Ent("plot.maxSlopeAspect") strX = strX & xmlize_txt(.Fields("maxSlopeAspect"), "Double") strX = strX & xml_Ent("plot.maxSlopeAspect", True) End If ' is not null 'slopeGradient If Not IsNull(.Fields("slopeGradient")) Then 'isn't null strX = strX & xml_Ent("plot.slopeGradient") strX = strX & xmlize_txt(.Fields("slopeGradient"), "Double") strX = strX & xml_Ent("plot.slopeGradient", True) End If ' is not null 'minSlopeGradient If Not IsNull(.Fields("minSlopeGradient")) Then 'isn't null strX = strX & xml_Ent("plot.minSlopeGradient") strX = strX & xmlize_txt(.Fields("minSlopeGradient"), "Double") strX = strX & xml_Ent("plot.minSlopeGradient", True) End If ' is not null 'maxSlopeGradient If Not IsNull(.Fields("maxSlopeGradient")) Then 'isn't null strX = strX & xml_Ent("plot.maxSlopeGradient") strX = strX & xmlize_txt(.Fields("maxSlopeGradient"), "Double") strX = strX & xml_Ent("plot.maxSlopeGradient", True) End If ' is not null 'topoPosition If Not IsNull(.Fields("topoPosition")) Then 'isn't null strX = strX & xml_Ent("plot.topoPosition") strX = strX & xmlize_txt(.Fields("topoPosition"), "text") strX = strX & xml_Ent("plot.topoPosition", True) End If ' is not null 'landform If Not IsNull(.Fields("landform")) Then 'isn't null strX = strX & xml_Ent("plot.landform") strX = strX & xmlize_txt(.Fields("landform"), "text") strX = strX & xml_Ent("plot.landform", True) End If ' is not null 'surficialDeposits If Not IsNull(.Fields("surficialDeposits")) Then 'isn't null strX = strX & xml_Ent("plot.surficialDeposits") strX = strX & xmlize_txt(.Fields("surficialDeposits"), "text") strX = strX & xml_Ent("plot.surficialDeposits", True) End If ' is not null 'rockType If Not IsNull(.Fields("rockType")) Then 'isn't null strX = strX & xml_Ent("plot.rockType") strX = strX & xmlize_txt(.Fields("rockType"), "text") strX = strX & xml_Ent("plot.rockType", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("plot.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("plot.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null 'notesPublic If Not IsNull(.Fields("notesPublic")) Then 'isn't null strX = strX & xml_Ent("plot.notesPublic") strX = strX & xmlize_txt(.Fields("notesPublic"), "yes/no") strX = strX & xml_Ent("plot.notesPublic", True) End If ' is not null 'notesMgt If Not IsNull(.Fields("notesMgt")) Then 'isn't null strX = strX & xml_Ent("plot.notesMgt") strX = strX & xmlize_txt(.Fields("notesMgt"), "yes/no") strX = strX & xml_Ent("plot.notesMgt", True) End If ' is not null 'revisions If Not IsNull(.Fields("revisions")) Then 'isn't null strX = strX & xml_Ent("plot.revisions") strX = strX & xmlize_txt(.Fields("revisions"), "yes/no") strX = strX & xml_Ent("plot.revisions", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_embargo("[plot_ID] =" & .Fields("PLOT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_place("[PLOT_ID] =" & .Fields("PLOT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("plot", .Fields("PLOT_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("plot", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_plot = strBigger End Function Public Function autoG_table2xml_project(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [project] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("project") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'PROJECT_ID ThisTblPK: If Not IsNull(.Fields("PROJECT_ID")) Then 'isn't null strX = strX & xml_Ent("project.PROJECT_ID") strX = strX & xmlize_txt(.Fields("PROJECT_ID"), "autoNumber") strX = strX & xml_Ent("project.PROJECT_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'projectName If Not IsNull(.Fields("projectName")) Then 'isn't null strX = strX & xml_Ent("project.projectName") strX = strX & xmlize_txt(.Fields("projectName"), "text") strX = strX & xml_Ent("project.projectName", True) End If ' is not null 'projectDescription If Not IsNull(.Fields("projectDescription")) Then 'isn't null strX = strX & xml_Ent("project.projectDescription") strX = strX & xmlize_txt(.Fields("projectDescription"), "Memo") strX = strX & xml_Ent("project.projectDescription", True) End If ' is not null 'startDate If Not IsNull(.Fields("startDate")) Then 'isn't null strX = strX & xml_Ent("project.startDate") strX = strX & xmlize_txt(.Fields("startDate"), "date/time") strX = strX & xml_Ent("project.startDate", True) End If ' is not null 'stopDate If Not IsNull(.Fields("stopDate")) Then 'isn't null strX = strX & xml_Ent("project.stopDate") strX = strX & xmlize_txt(.Fields("stopDate"), "date/time") strX = strX & xml_Ent("project.stopDate", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("project.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("project.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_projectContributor("[PROJECT_ID] =" & .Fields("PROJECT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("project", .Fields("PROJECT_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("project", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_project = strBigger End Function Public Function autoG_table2xml_projectContributor(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [projectContributor] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("projectContributor") 'PROJECTCONTRIBUTOR_ID ThisTblPK: If Not IsNull(.Fields("PROJECTCONTRIBUTOR_ID")) Then 'isn't null strX = strX & xml_Ent("projectContributor.PROJECTCONTRIBUTOR_ID") strX = strX & xmlize_txt(.Fields("PROJECTCONTRIBUTOR_ID"), "autoNumber") strX = strX & xml_Ent("projectContributor.PROJECTCONTRIBUTOR_ID", True) End If ' is not null 'PROJECT_ID If Not IsNull(.Fields("PROJECT_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("projectContributor.PARTY_ID") & strTemp strX = strX & xml_Ent("projectContributor.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("projectContributor.ROLE_ID") & strTemp strX = strX & xml_Ent("projectContributor.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("projectContributor", .Fields("PROJECTCONTRIBUTOR_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("projectContributor", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_projectContributor = strBigger End Function Public Function autoG_table2xml_revision(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [revision] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("revision") 'REVISION_ID ThisTblPK: If Not IsNull(.Fields("REVISION_ID")) Then 'isn't null strX = strX & xml_Ent("revision.REVISION_ID") strX = strX & xmlize_txt(.Fields("REVISION_ID"), "autoNumber") strX = strX & xml_Ent("revision.REVISION_ID", True) End If ' is not null 'tableName If Not IsNull(.Fields("tableName")) Then 'isn't null strX = strX & xml_Ent("revision.tableName") strX = strX & xmlize_txt(.Fields("tableName"), "text") strX = strX & xml_Ent("revision.tableName", True) End If ' is not null 'tableAttribute If Not IsNull(.Fields("tableAttribute")) Then 'isn't null strX = strX & xml_Ent("revision.tableAttribute") strX = strX & xmlize_txt(.Fields("tableAttribute"), "text") strX = strX & xml_Ent("revision.tableAttribute", True) End If ' is not null 'tableRecord If Not IsNull(.Fields("tableRecord")) Then 'isn't null strX = strX & xml_Ent("revision.tableRecord") strX = strX & xmlize_txt(.Fields("tableRecord"), "Long Integer") strX = strX & xml_Ent("revision.tableRecord", True) End If ' is not null 'revisionDate If Not IsNull(.Fields("revisionDate")) Then 'isn't null strX = strX & xml_Ent("revision.revisionDate") strX = strX & xmlize_txt(.Fields("revisionDate"), "date/time") strX = strX & xml_Ent("revision.revisionDate", True) End If ' is not null 'previousValueText If Not IsNull(.Fields("previousValueText")) Then 'isn't null strX = strX & xml_Ent("revision.previousValueText") strX = strX & xmlize_txt(.Fields("previousValueText"), "Memo") strX = strX & xml_Ent("revision.previousValueText", True) End If ' is not null 'previousValueType If Not IsNull(.Fields("previousValueType")) Then 'isn't null strX = strX & xml_Ent("revision.previousValueType") strX = strX & xmlize_txt(.Fields("previousValueType"), "text") strX = strX & xml_Ent("revision.previousValueType", True) End If ' is not null 'previousRevision_ID If Not IsNull(.Fields("previousRevision_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_revision("[REVISION_ID]=" & .Fields("previousRevision_ID") & " AND [REVISION_ID]<>" & .Fields("REVISION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("revision.previousRevision_ID") & strTemp strX = strX & xml_Ent("revision.previousRevision_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("revision", .Fields("REVISION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("revision", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_revision = strBigger End Function Public Function autoG_table2xml_soilObs(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [soilObs] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("soilObs") 'SOILOBS_ID ThisTblPK: If Not IsNull(.Fields("SOILOBS_ID")) Then 'isn't null strX = strX & xml_Ent("soilObs.SOILOBS_ID") strX = strX & xmlize_txt(.Fields("SOILOBS_ID"), "autoNumber") strX = strX & xml_Ent("soilObs.SOILOBS_ID", True) End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'soilHorizon If Not IsNull(.Fields("soilHorizon")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilHorizon") strX = strX & xmlize_txt(.Fields("soilHorizon"), "text") strX = strX & xml_Ent("soilObs.soilHorizon", True) End If ' is not null 'soilDepthTop If Not IsNull(.Fields("soilDepthTop")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilDepthTop") strX = strX & xmlize_txt(.Fields("soilDepthTop"), "Double") strX = strX & xml_Ent("soilObs.soilDepthTop", True) End If ' is not null 'soilDepthBottom If Not IsNull(.Fields("soilDepthBottom")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilDepthBottom") strX = strX & xmlize_txt(.Fields("soilDepthBottom"), "Double") strX = strX & xml_Ent("soilObs.soilDepthBottom", True) End If ' is not null 'soilColor If Not IsNull(.Fields("soilColor")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilColor") strX = strX & xmlize_txt(.Fields("soilColor"), "text") strX = strX & xml_Ent("soilObs.soilColor", True) End If ' is not null 'soilOrganic If Not IsNull(.Fields("soilOrganic")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilOrganic") strX = strX & xmlize_txt(.Fields("soilOrganic"), "Double") strX = strX & xml_Ent("soilObs.soilOrganic", True) End If ' is not null 'soilTexture If Not IsNull(.Fields("soilTexture")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilTexture") strX = strX & xmlize_txt(.Fields("soilTexture"), "text") strX = strX & xml_Ent("soilObs.soilTexture", True) End If ' is not null 'soilSand If Not IsNull(.Fields("soilSand")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilSand") strX = strX & xmlize_txt(.Fields("soilSand"), "Double") strX = strX & xml_Ent("soilObs.soilSand", True) End If ' is not null 'soilSilt If Not IsNull(.Fields("soilSilt")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilSilt") strX = strX & xmlize_txt(.Fields("soilSilt"), "Double") strX = strX & xml_Ent("soilObs.soilSilt", True) End If ' is not null 'soilClay If Not IsNull(.Fields("soilClay")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilClay") strX = strX & xmlize_txt(.Fields("soilClay"), "Double") strX = strX & xml_Ent("soilObs.soilClay", True) End If ' is not null 'soilCoarse If Not IsNull(.Fields("soilCoarse")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilCoarse") strX = strX & xmlize_txt(.Fields("soilCoarse"), "Double") strX = strX & xml_Ent("soilObs.soilCoarse", True) End If ' is not null 'soilPH If Not IsNull(.Fields("soilPH")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilPH") strX = strX & xmlize_txt(.Fields("soilPH"), "Double") strX = strX & xml_Ent("soilObs.soilPH", True) End If ' is not null 'exchangeCapacity If Not IsNull(.Fields("exchangeCapacity")) Then 'isn't null strX = strX & xml_Ent("soilObs.exchangeCapacity") strX = strX & xmlize_txt(.Fields("exchangeCapacity"), "Double") strX = strX & xml_Ent("soilObs.exchangeCapacity", True) End If ' is not null 'baseSaturation If Not IsNull(.Fields("baseSaturation")) Then 'isn't null strX = strX & xml_Ent("soilObs.baseSaturation") strX = strX & xmlize_txt(.Fields("baseSaturation"), "Double") strX = strX & xml_Ent("soilObs.baseSaturation", True) End If ' is not null 'soilDescription If Not IsNull(.Fields("soilDescription")) Then 'isn't null strX = strX & xml_Ent("soilObs.soilDescription") strX = strX & xmlize_txt(.Fields("soilDescription"), "Memo") strX = strX & xml_Ent("soilObs.soilDescription", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("soilObs", .Fields("SOILOBS_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("soilObs", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_soilObs = strBigger End Function Public Function autoG_table2xml_soilTaxon(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [soilTaxon] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("soilTaxon") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'SOILTAXON_ID ThisTblPK: If Not IsNull(.Fields("SOILTAXON_ID")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.SOILTAXON_ID") strX = strX & xmlize_txt(.Fields("SOILTAXON_ID"), "autoNumber") strX = strX & xml_Ent("soilTaxon.SOILTAXON_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'soilCode If Not IsNull(.Fields("soilCode")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.soilCode") strX = strX & xmlize_txt(.Fields("soilCode"), "text") strX = strX & xml_Ent("soilTaxon.soilCode", True) End If ' is not null 'soilName If Not IsNull(.Fields("soilName")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.soilName") strX = strX & xmlize_txt(.Fields("soilName"), "text") strX = strX & xml_Ent("soilTaxon.soilName", True) End If ' is not null 'soilLevel If Not IsNull(.Fields("soilLevel")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.soilLevel") strX = strX & xmlize_txt(.Fields("soilLevel"), "Long Integer") strX = strX & xml_Ent("soilTaxon.soilLevel", True) End If ' is not null 'SOILPARENT_ID If Not IsNull(.Fields("SOILPARENT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_soilTaxon("[SOILTAXON_ID]=" & .Fields("SOILPARENT_ID") & " AND [SOILTAXON_ID]<>" & .Fields("SOILTAXON_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("soilTaxon.SOILPARENT_ID") & strTemp strX = strX & xml_Ent("soilTaxon.SOILPARENT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'soilFramework If Not IsNull(.Fields("soilFramework")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.soilFramework") strX = strX & xmlize_txt(.Fields("soilFramework"), "text") strX = strX & xml_Ent("soilTaxon.soilFramework", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("soilTaxon.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("soilTaxon.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("soilTaxon", .Fields("SOILTAXON_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("soilTaxon", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_soilTaxon = strBigger End Function Public Function autoG_table2xml_stemCount(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [stemCount] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("stemCount") 'STEMCOUNT_ID ThisTblPK: If Not IsNull(.Fields("STEMCOUNT_ID")) Then 'isn't null strX = strX & xml_Ent("stemCount.STEMCOUNT_ID") strX = strX & xmlize_txt(.Fields("STEMCOUNT_ID"), "autoNumber") strX = strX & xml_Ent("stemCount.STEMCOUNT_ID", True) End If ' is not null 'TAXONIMPORTANCE_ID If Not IsNull(.Fields("TAXONIMPORTANCE_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'stemDiameter If Not IsNull(.Fields("stemDiameter")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemDiameter") strX = strX & xmlize_txt(.Fields("stemDiameter"), "Double") strX = strX & xml_Ent("stemCount.stemDiameter", True) End If ' is not null 'stemDiameterAccuracy If Not IsNull(.Fields("stemDiameterAccuracy")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemDiameterAccuracy") strX = strX & xmlize_txt(.Fields("stemDiameterAccuracy"), "Double") strX = strX & xml_Ent("stemCount.stemDiameterAccuracy", True) End If ' is not null 'stemHeight If Not IsNull(.Fields("stemHeight")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemHeight") strX = strX & xmlize_txt(.Fields("stemHeight"), "Double") strX = strX & xml_Ent("stemCount.stemHeight", True) End If ' is not null 'stemHeightAccuracy If Not IsNull(.Fields("stemHeightAccuracy")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemHeightAccuracy") strX = strX & xmlize_txt(.Fields("stemHeightAccuracy"), "Double") strX = strX & xml_Ent("stemCount.stemHeightAccuracy", True) End If ' is not null 'stemCount If Not IsNull(.Fields("stemCount")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemCount") strX = strX & xmlize_txt(.Fields("stemCount"), "Long Integer") strX = strX & xml_Ent("stemCount.stemCount", True) End If ' is not null 'stemTaxonArea If Not IsNull(.Fields("stemTaxonArea")) Then 'isn't null strX = strX & xml_Ent("stemCount.stemTaxonArea") strX = strX & xmlize_txt(.Fields("stemTaxonArea"), "Double") strX = strX & xml_Ent("stemCount.stemTaxonArea", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_stemLocation("[STEMCOUNT_ID] =" & .Fields("STEMCOUNT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("stemCount", .Fields("STEMCOUNT_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("stemCount", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_stemCount = strBigger End Function Public Function autoG_table2xml_stemLocation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [stemLocation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("stemLocation") 'STEMLOCATION_ID ThisTblPK: If Not IsNull(.Fields("STEMLOCATION_ID")) Then 'isn't null strX = strX & xml_Ent("stemLocation.STEMLOCATION_ID") strX = strX & xmlize_txt(.Fields("STEMLOCATION_ID"), "autoNumber") strX = strX & xml_Ent("stemLocation.STEMLOCATION_ID", True) End If ' is not null 'STEMCOUNT_ID If Not IsNull(.Fields("STEMCOUNT_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'stemCode If Not IsNull(.Fields("stemCode")) Then 'isn't null strX = strX & xml_Ent("stemLocation.stemCode") strX = strX & xmlize_txt(.Fields("stemCode"), "text") strX = strX & xml_Ent("stemLocation.stemCode", True) End If ' is not null 'stemXPosition If Not IsNull(.Fields("stemXPosition")) Then 'isn't null strX = strX & xml_Ent("stemLocation.stemXPosition") strX = strX & xmlize_txt(.Fields("stemXPosition"), "Double") strX = strX & xml_Ent("stemLocation.stemXPosition", True) End If ' is not null 'stemYPosition If Not IsNull(.Fields("stemYPosition")) Then 'isn't null strX = strX & xml_Ent("stemLocation.stemYPosition") strX = strX & xmlize_txt(.Fields("stemYPosition"), "Double") strX = strX & xml_Ent("stemLocation.stemYPosition", True) End If ' is not null 'stemHealth If Not IsNull(.Fields("stemHealth")) Then 'isn't null strX = strX & xml_Ent("stemLocation.stemHealth") strX = strX & xmlize_txt(.Fields("stemHealth"), "text") strX = strX & xml_Ent("stemLocation.stemHealth", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_taxonInterpretation("[stemLocation_ID] =" & .Fields("stemLocation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("stemLocation", .Fields("STEMLOCATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("stemLocation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_stemLocation = strBigger End Function Public Function autoG_table2xml_stratum(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [stratum] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("stratum") 'STRATUM_ID ThisTblPK: If Not IsNull(.Fields("STRATUM_ID")) Then 'isn't null strX = strX & xml_Ent("stratum.STRATUM_ID") strX = strX & xmlize_txt(.Fields("STRATUM_ID"), "autoNumber") strX = strX & xml_Ent("stratum.STRATUM_ID", True) End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'STRATUMTYPE_ID If Not IsNull(.Fields("STRATUMTYPE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_stratumType("[STRATUMTYPE_ID]=" & .Fields("STRATUMTYPE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("stratum.STRATUMTYPE_ID") & strTemp strX = strX & xml_Ent("stratum.STRATUMTYPE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'stratumHeight If Not IsNull(.Fields("stratumHeight")) Then 'isn't null strX = strX & xml_Ent("stratum.stratumHeight") strX = strX & xmlize_txt(.Fields("stratumHeight"), "Double") strX = strX & xml_Ent("stratum.stratumHeight", True) End If ' is not null 'stratumBase If Not IsNull(.Fields("stratumBase")) Then 'isn't null strX = strX & xml_Ent("stratum.stratumBase") strX = strX & xmlize_txt(.Fields("stratumBase"), "Double") strX = strX & xml_Ent("stratum.stratumBase", True) End If ' is not null 'stratumCover If Not IsNull(.Fields("stratumCover")) Then 'isn't null strX = strX & xml_Ent("stratum.stratumCover") strX = strX & xmlize_txt(.Fields("stratumCover"), "Double") strX = strX & xml_Ent("stratum.stratumCover", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("stratum", .Fields("STRATUM_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("stratum", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_stratum = strBigger End Function Public Function autoG_table2xml_stratumMethod(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [stratumMethod] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("stratumMethod") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'STRATUMMETHOD_ID ThisTblPK: If Not IsNull(.Fields("STRATUMMETHOD_ID")) Then 'isn't null strX = strX & xml_Ent("stratumMethod.STRATUMMETHOD_ID") strX = strX & xmlize_txt(.Fields("STRATUMMETHOD_ID"), "autoNumber") strX = strX & xml_Ent("stratumMethod.STRATUMMETHOD_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("stratumMethod.reference_ID") & strTemp strX = strX & xml_Ent("stratumMethod.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'stratumMethodName If Not IsNull(.Fields("stratumMethodName")) Then 'isn't null strX = strX & xml_Ent("stratumMethod.stratumMethodName") strX = strX & xmlize_txt(.Fields("stratumMethodName"), "text") strX = strX & xml_Ent("stratumMethod.stratumMethodName", True) End If ' is not null 'stratumMethodDescription If Not IsNull(.Fields("stratumMethodDescription")) Then 'isn't null strX = strX & xml_Ent("stratumMethod.stratumMethodDescription") strX = strX & xmlize_txt(.Fields("stratumMethodDescription"), "Memo") strX = strX & xml_Ent("stratumMethod.stratumMethodDescription", True) End If ' is not null 'stratumAssignment If Not IsNull(.Fields("stratumAssignment")) Then 'isn't null strX = strX & xml_Ent("stratumMethod.stratumAssignment") strX = strX & xmlize_txt(.Fields("stratumAssignment"), "Text") strX = strX & xml_Ent("stratumMethod.stratumAssignment", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("stratumMethod.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("stratumMethod.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_stratumType("[STRATUMMETHOD_ID] =" & .Fields("STRATUMMETHOD_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("stratumMethod", .Fields("STRATUMMETHOD_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("stratumMethod", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_stratumMethod = strBigger End Function Public Function autoG_table2xml_stratumType(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [stratumType] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("stratumType") 'STRATUMTYPE_ID ThisTblPK: If Not IsNull(.Fields("STRATUMTYPE_ID")) Then 'isn't null strX = strX & xml_Ent("stratumType.STRATUMTYPE_ID") strX = strX & xmlize_txt(.Fields("STRATUMTYPE_ID"), "autoNumber") strX = strX & xml_Ent("stratumType.STRATUMTYPE_ID", True) End If ' is not null 'STRATUMMETHOD_ID If Not IsNull(.Fields("STRATUMMETHOD_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'stratumIndex If Not IsNull(.Fields("stratumIndex")) Then 'isn't null strX = strX & xml_Ent("stratumType.stratumIndex") strX = strX & xmlize_txt(.Fields("stratumIndex"), "text") strX = strX & xml_Ent("stratumType.stratumIndex", True) End If ' is not null 'stratumName If Not IsNull(.Fields("stratumName")) Then 'isn't null strX = strX & xml_Ent("stratumType.stratumName") strX = strX & xmlize_txt(.Fields("stratumName"), "text") strX = strX & xml_Ent("stratumType.stratumName", True) End If ' is not null 'stratumDescription If Not IsNull(.Fields("stratumDescription")) Then 'isn't null strX = strX & xml_Ent("stratumType.stratumDescription") strX = strX & xmlize_txt(.Fields("stratumDescription"), "Memo") strX = strX & xml_Ent("stratumType.stratumDescription", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("stratumType", .Fields("STRATUMTYPE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("stratumType", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_stratumType = strBigger End Function Public Function autoG_table2xml_taxonInterpretation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [taxonInterpretation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("taxonInterpretation") 'TAXONINTERPRETATION_ID ThisTblPK: If Not IsNull(.Fields("TAXONINTERPRETATION_ID")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.TAXONINTERPRETATION_ID") strX = strX & xmlize_txt(.Fields("TAXONINTERPRETATION_ID"), "autoNumber") strX = strX & xml_Ent("taxonInterpretation.TAXONINTERPRETATION_ID", True) End If ' is not null 'TAXONOBSERVATION_ID If Not IsNull(.Fields("TAXONOBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'stemLocation_ID If Not IsNull(.Fields("stemLocation_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'PLANTCONCEPT_ID If Not IsNull(.Fields("PLANTCONCEPT_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantConcept("[PLANTCONCEPT_ID]=" & .Fields("PLANTCONCEPT_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.PLANTCONCEPT_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.PLANTCONCEPT_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'interpretationDate If Not IsNull(.Fields("interpretationDate")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.interpretationDate") strX = strX & xmlize_txt(.Fields("interpretationDate"), "date/time") strX = strX & xml_Ent("taxonInterpretation.interpretationDate", True) End If ' is not null 'PLANTNAME_ID If Not IsNull(.Fields("PLANTNAME_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantName("[PLANTNAME_ID]=" & .Fields("PLANTNAME_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.PLANTNAME_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.PLANTNAME_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("PARTY_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.PARTY_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.PARTY_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'ROLE_ID If Not IsNull(.Fields("ROLE_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("ROLE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.ROLE_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.ROLE_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'interpretationType If Not IsNull(.Fields("interpretationType")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.interpretationType") strX = strX & xmlize_txt(.Fields("interpretationType"), "text") strX = strX & xml_Ent("taxonInterpretation.interpretationType", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.reference_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'originalInterpretation If Not IsNull(.Fields("originalInterpretation")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.originalInterpretation") strX = strX & xmlize_txt(.Fields("originalInterpretation"), "yes/no") strX = strX & xml_Ent("taxonInterpretation.originalInterpretation", True) End If ' is not null 'currentInterpretation If Not IsNull(.Fields("currentInterpretation")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.currentInterpretation") strX = strX & xmlize_txt(.Fields("currentInterpretation"), "yes/no") strX = strX & xml_Ent("taxonInterpretation.currentInterpretation", True) End If ' is not null 'taxonFit If Not IsNull(.Fields("taxonFit")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.taxonFit") strX = strX & xmlize_txt(.Fields("taxonFit"), "text") strX = strX & xml_Ent("taxonInterpretation.taxonFit", True) End If ' is not null 'taxonConfidence If Not IsNull(.Fields("taxonConfidence")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.taxonConfidence") strX = strX & xmlize_txt(.Fields("taxonConfidence"), "text") strX = strX & xml_Ent("taxonInterpretation.taxonConfidence", True) End If ' is not null 'collector_ID If Not IsNull(.Fields("collector_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("collector_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.collector_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.collector_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'collectionNumber If Not IsNull(.Fields("collectionNumber")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.collectionNumber") strX = strX & xmlize_txt(.Fields("collectionNumber"), "text") strX = strX & xml_Ent("taxonInterpretation.collectionNumber", True) End If ' is not null 'collectionDate If Not IsNull(.Fields("collectionDate")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.collectionDate") strX = strX & xmlize_txt(.Fields("collectionDate"), "date/time") strX = strX & xml_Ent("taxonInterpretation.collectionDate", True) End If ' is not null 'museum_ID If Not IsNull(.Fields("museum_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("museum_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonInterpretation.museum_ID") & strTemp strX = strX & xml_Ent("taxonInterpretation.museum_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'museumAccessionNumber If Not IsNull(.Fields("museumAccessionNumber")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.museumAccessionNumber") strX = strX & xmlize_txt(.Fields("museumAccessionNumber"), "text") strX = strX & xml_Ent("taxonInterpretation.museumAccessionNumber", True) End If ' is not null 'groupType If Not IsNull(.Fields("groupType")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.groupType") strX = strX & xmlize_txt(.Fields("groupType"), "text") strX = strX & xml_Ent("taxonInterpretation.groupType", True) End If ' is not null 'notes If Not IsNull(.Fields("notes")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.notes") strX = strX & xmlize_txt(.Fields("notes"), "Memo") strX = strX & xml_Ent("taxonInterpretation.notes", True) End If ' is not null 'notesPublic If Not IsNull(.Fields("notesPublic")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.notesPublic") strX = strX & xmlize_txt(.Fields("notesPublic"), "yes/no") strX = strX & xml_Ent("taxonInterpretation.notesPublic", True) End If ' is not null 'notesMgt If Not IsNull(.Fields("notesMgt")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.notesMgt") strX = strX & xmlize_txt(.Fields("notesMgt"), "yes/no") strX = strX & xml_Ent("taxonInterpretation.notesMgt", True) End If ' is not null 'revisions If Not IsNull(.Fields("revisions")) Then 'isn't null strX = strX & xml_Ent("taxonInterpretation.revisions") strX = strX & xmlize_txt(.Fields("revisions"), "yes/no") strX = strX & xml_Ent("taxonInterpretation.revisions", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_taxonAlt("[taxonInterpretation_ID] =" & .Fields("taxonInterpretation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("taxonInterpretation", .Fields("TAXONINTERPRETATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("taxonInterpretation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_taxonInterpretation = strBigger End Function Public Function autoG_table2xml_taxonObservation(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [taxonObservation] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("taxonObservation") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'TAXONOBSERVATION_ID ThisTblPK: If Not IsNull(.Fields("TAXONOBSERVATION_ID")) Then 'isn't null strX = strX & xml_Ent("taxonObservation.TAXONOBSERVATION_ID") strX = strX & xmlize_txt(.Fields("TAXONOBSERVATION_ID"), "autoNumber") strX = strX & xml_Ent("taxonObservation.TAXONOBSERVATION_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'OBSERVATION_ID If Not IsNull(.Fields("OBSERVATION_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'authorPlantName If Not IsNull(.Fields("authorPlantName")) Then 'isn't null strX = strX & xml_Ent("taxonObservation.authorPlantName") strX = strX & xmlize_txt(.Fields("authorPlantName"), "text") strX = strX & xml_Ent("taxonObservation.authorPlantName", True) End If ' is not null 'reference_ID If Not IsNull(.Fields("reference_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_reference("[reference_ID]=" & .Fields("reference_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonObservation.reference_ID") & strTemp strX = strX & xml_Ent("taxonObservation.reference_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'taxonInferenceArea If Not IsNull(.Fields("taxonInferenceArea")) Then 'isn't null strX = strX & xml_Ent("taxonObservation.taxonInferenceArea") strX = strX & xmlize_txt(.Fields("taxonInferenceArea"), "Double") strX = strX & xml_Ent("taxonObservation.taxonInferenceArea", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("taxonObservation.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("taxonObservation.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_taxonImportance("[taxonObservation_ID] =" & .Fields("taxonObservation_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If strRealTemp = autoG_table2xml_taxonInterpretation("[TAXONOBSERVATION_ID] =" & .Fields("TAXONOBSERVATION_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("taxonObservation", .Fields("TAXONOBSERVATION_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("taxonObservation", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_taxonObservation = strBigger End Function Public Function autoG_table2xml_telephone(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [telephone] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("telephone") 'TELEPHONE_ID ThisTblPK: If Not IsNull(.Fields("TELEPHONE_ID")) Then 'isn't null strX = strX & xml_Ent("telephone.TELEPHONE_ID") strX = strX & xmlize_txt(.Fields("TELEPHONE_ID"), "autoNumber") strX = strX & xml_Ent("telephone.TELEPHONE_ID", True) End If ' is not null 'PARTY_ID If Not IsNull(.Fields("PARTY_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'phoneNumber If Not IsNull(.Fields("phoneNumber")) Then 'isn't null strX = strX & xml_Ent("telephone.phoneNumber") strX = strX & xmlize_txt(.Fields("phoneNumber"), "text") strX = strX & xml_Ent("telephone.phoneNumber", True) End If ' is not null 'phoneType If Not IsNull(.Fields("phoneType")) Then 'isn't null strX = strX & xml_Ent("telephone.phoneType") strX = strX & xmlize_txt(.Fields("phoneType"), "text") strX = strX & xml_Ent("telephone.phoneType", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("telephone", .Fields("TELEPHONE_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("telephone", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_telephone = strBigger End Function Public Function autoG_table2xml_userDefined(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [userDefined] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("userDefined") If Not IsNull(!accessionCode) Then If doPrefixesMatchAccCode(strAccPrefixToStop, !accessionCode) Then 'write only PK and accessinCode, then leave this rec blnRecog = True GoTo ThisTblPK End If 'recog src End If 'accCode not null 'USERDEFINED_ID ThisTblPK: If Not IsNull(.Fields("USERDEFINED_ID")) Then 'isn't null strX = strX & xml_Ent("userDefined.USERDEFINED_ID") strX = strX & xmlize_txt(.Fields("USERDEFINED_ID"), "autoNumber") strX = strX & xml_Ent("userDefined.USERDEFINED_ID", True) If blnRecog Then GoTo ThisTblAccCode End If ' is not null 'userDefinedName If Not IsNull(.Fields("userDefinedName")) Then 'isn't null strX = strX & xml_Ent("userDefined.userDefinedName") strX = strX & xmlize_txt(.Fields("userDefinedName"), "text") strX = strX & xml_Ent("userDefined.userDefinedName", True) End If ' is not null 'userDefinedMetadata If Not IsNull(.Fields("userDefinedMetadata")) Then 'isn't null strX = strX & xml_Ent("userDefined.userDefinedMetadata") strX = strX & xmlize_txt(.Fields("userDefinedMetadata"), "Memo") strX = strX & xml_Ent("userDefined.userDefinedMetadata", True) End If ' is not null 'userDefinedCategory If Not IsNull(.Fields("userDefinedCategory")) Then 'isn't null strX = strX & xml_Ent("userDefined.userDefinedCategory") strX = strX & xmlize_txt(.Fields("userDefinedCategory"), "text") strX = strX & xml_Ent("userDefined.userDefinedCategory", True) End If ' is not null 'userDefinedType If Not IsNull(.Fields("userDefinedType")) Then 'isn't null strX = strX & xml_Ent("userDefined.userDefinedType") strX = strX & xmlize_txt(.Fields("userDefinedType"), "text") strX = strX & xml_Ent("userDefined.userDefinedType", True) End If ' is not null 'tableName If Not IsNull(.Fields("tableName")) Then 'isn't null strX = strX & xml_Ent("userDefined.tableName") strX = strX & xmlize_txt(.Fields("tableName"), "text") strX = strX & xml_Ent("userDefined.tableName", True) End If ' is not null 'accessionCode ThisTblAccCode: If Not IsNull(.Fields("accessionCode")) Then 'isn't null strX = strX & xml_Ent("userDefined.accessionCode") strX = strX & xmlize_txt(.Fields("accessionCode"), "Text") strX = strX & xml_Ent("userDefined.accessionCode", True) If blnRecog Then GoTo doneWithRec End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("userDefined", .Fields("USERDEFINED_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("userDefined", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_userDefined = strBigger End Function Public Function autoG_table2xml_taxonAlt(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [taxonAlt] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("taxonAlt") 'taxonAlt_ID ThisTblPK: If Not IsNull(.Fields("taxonAlt_ID")) Then 'isn't null strX = strX & xml_Ent("taxonAlt.taxonAlt_ID") strX = strX & xmlize_txt(.Fields("taxonAlt_ID"), "AutoNumber") strX = strX & xml_Ent("taxonAlt.taxonAlt_ID", True) End If ' is not null 'taxonInterpretation_ID If Not IsNull(.Fields("taxonInterpretation_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'plantConcept_ID If Not IsNull(.Fields("plantConcept_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_plantConcept("[PLANTCONCEPT_ID]=" & .Fields("plantConcept_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonAlt.plantConcept_ID") & strTemp strX = strX & xml_Ent("taxonAlt.plantConcept_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'taxonAltFit If Not IsNull(.Fields("taxonAltFit")) Then 'isn't null strX = strX & xml_Ent("taxonAlt.taxonAltFit") strX = strX & xmlize_txt(.Fields("taxonAltFit"), "text") strX = strX & xml_Ent("taxonAlt.taxonAltFit", True) End If ' is not null 'taxonAltConfidence If Not IsNull(.Fields("taxonAltConfidence")) Then 'isn't null strX = strX & xml_Ent("taxonAlt.taxonAltConfidence") strX = strX & xmlize_txt(.Fields("taxonAltConfidence"), "text") strX = strX & xml_Ent("taxonAlt.taxonAltConfidence", True) End If ' is not null 'taxonAltNotes If Not IsNull(.Fields("taxonAltNotes")) Then 'isn't null strX = strX & xml_Ent("taxonAlt.taxonAltNotes") strX = strX & xmlize_txt(.Fields("taxonAltNotes"), "Memo") strX = strX & xml_Ent("taxonAlt.taxonAltNotes", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("taxonAlt", .Fields("taxonAlt_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("taxonAlt", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_taxonAlt = strBigger End Function Public Function autoG_table2xml_embargo(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [embargo] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("embargo") 'embargo_ID ThisTblPK: If Not IsNull(.Fields("embargo_ID")) Then 'isn't null strX = strX & xml_Ent("embargo.embargo_ID") strX = strX & xmlize_txt(.Fields("embargo_ID"), "AutoNumber") strX = strX & xml_Ent("embargo.embargo_ID", True) End If ' is not null 'plot_ID If Not IsNull(.Fields("plot_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'embargoReason If Not IsNull(.Fields("embargoReason")) Then 'isn't null strX = strX & xml_Ent("embargo.embargoReason") strX = strX & xmlize_txt(.Fields("embargoReason"), "Memo") strX = strX & xml_Ent("embargo.embargoReason", True) End If ' is not null 'embargoStart If Not IsNull(.Fields("embargoStart")) Then 'isn't null strX = strX & xml_Ent("embargo.embargoStart") strX = strX & xmlize_txt(.Fields("embargoStart"), "Date/Time") strX = strX & xml_Ent("embargo.embargoStart", True) End If ' is not null 'embargoStop If Not IsNull(.Fields("embargoStop")) Then 'isn't null strX = strX & xml_Ent("embargo.embargoStop") strX = strX & xmlize_txt(.Fields("embargoStop"), "Date/Time") strX = strX & xml_Ent("embargo.embargoStop", True) End If ' is not null 'defaultStatus If Not IsNull(.Fields("defaultStatus")) Then 'isn't null strX = strX & xml_Ent("embargo.defaultStatus") strX = strX & xmlize_txt(.Fields("defaultStatus"), "Long Integer") strX = strX & xml_Ent("embargo.defaultStatus", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("embargo", .Fields("embargo_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("embargo", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_embargo = strBigger End Function Public Function autoG_table2xml_taxonImportance(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [taxonImportance] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("taxonImportance") 'taxonImportance_ID ThisTblPK: If Not IsNull(.Fields("taxonImportance_ID")) Then 'isn't null strX = strX & xml_Ent("taxonImportance.taxonImportance_ID") strX = strX & xmlize_txt(.Fields("taxonImportance_ID"), "AutoNumber") strX = strX & xml_Ent("taxonImportance.taxonImportance_ID", True) End If ' is not null 'taxonObservation_ID If Not IsNull(.Fields("taxonObservation_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'stratum_ID If Not IsNull(.Fields("stratum_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_stratum("[STRATUM_ID]=" & .Fields("stratum_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("taxonImportance.stratum_ID") & strTemp strX = strX & xml_Ent("taxonImportance.stratum_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'cover If Not IsNull(.Fields("cover")) Then 'isn't null strX = strX & xml_Ent("taxonImportance.cover") strX = strX & xmlize_txt(.Fields("cover"), "Double") strX = strX & xml_Ent("taxonImportance.cover", True) End If ' is not null 'basalArea If Not IsNull(.Fields("basalArea")) Then 'isn't null strX = strX & xml_Ent("taxonImportance.basalArea") strX = strX & xmlize_txt(.Fields("basalArea"), "Double") strX = strX & xml_Ent("taxonImportance.basalArea", True) End If ' is not null 'biomass If Not IsNull(.Fields("biomass")) Then 'isn't null strX = strX & xml_Ent("taxonImportance.biomass") strX = strX & xmlize_txt(.Fields("biomass"), "Double") strX = strX & xml_Ent("taxonImportance.biomass", True) End If ' is not null 'inferenceArea If Not IsNull(.Fields("inferenceArea")) Then 'isn't null strX = strX & xml_Ent("taxonImportance.inferenceArea") strX = strX & xmlize_txt(.Fields("inferenceArea"), "Double") strX = strX & xml_Ent("taxonImportance.inferenceArea", True) End If ' is not null Dim strRealTemp As String strRealTemp = autoG_table2xml_stemCount("[TAXONIMPORTANCE_ID] =" & .Fields("TAXONIMPORTANCE_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If strRealTemp <> "" Then 'only add if there are inverted data values to add: strX = strX & strRealTemp End If If blnUDef Then strX = strX & writeUDefFldsToXML("taxonImportance", .Fields("taxonImportance_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("taxonImportance", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_taxonImportance = strBigger End Function Public Function autoG_table2xml_partyMember(strWHERE As String, lngIteration As Long, blnUDef As Boolean, Optional ByVal strAccPrefixToStop As String) As String Dim rstData As New ADODB.Recordset, strX As String, strTemp As String, strTemp2 As String, strBigger As String rstData.Open "select * from [partyMember] WHERE " & strWHERE, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly, adCmdText With rstData Do Until .EOF Dim blnRecog As Boolean 'this is var to signal skipping ahead blnRecog = False 'default strX = strX & xml_Ent("partyMember") 'partyMember_ID ThisTblPK: If Not IsNull(.Fields("partyMember_ID")) Then 'isn't null strX = strX & xml_Ent("partyMember.partyMember_ID") strX = strX & xmlize_txt(.Fields("partyMember_ID"), "AutoNumber") strX = strX & xml_Ent("partyMember.partyMember_ID", True) End If ' is not null 'parentParty_ID If Not IsNull(.Fields("parentParty_ID")) Then 'isn't null 'skip inverted! End If ' is not null 'childParty_ID If Not IsNull(.Fields("childParty_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_party("[PARTY_ID]=" & .Fields("childParty_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("partyMember.childParty_ID") & strTemp strX = strX & xml_Ent("partyMember.childParty_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'role_ID If Not IsNull(.Fields("role_ID")) Then 'isn't null 'get normalized record! strTemp = autoG_table2xml_aux_Role("[ROLE_ID]=" & .Fields("role_ID"), lngIteration + 1, blnUDef, strAccPrefixToStop) If Len(strTemp) > 0 Then strX = strX & xml_Ent("partyMember.role_ID") & strTemp strX = strX & xml_Ent("partyMember.role_ID", True) End If 'normalized rec exists: ie not recursive End If ' is not null 'memberStart If Not IsNull(.Fields("memberStart")) Then 'isn't null strX = strX & xml_Ent("partyMember.memberStart") strX = strX & xmlize_txt(.Fields("memberStart"), "Date/Time") strX = strX & xml_Ent("partyMember.memberStart", True) End If ' is not null 'memberStop If Not IsNull(.Fields("memberStop")) Then 'isn't null strX = strX & xml_Ent("partyMember.memberStop") strX = strX & xmlize_txt(.Fields("memberStop"), "Date/Time") strX = strX & xml_Ent("partyMember.memberStop", True) End If ' is not null Dim strRealTemp As String If blnUDef Then strX = strX & writeUDefFldsToXML("partyMember", .Fields("partyMember_ID").Value, strAccPrefixToStop) End If 'blnUDEF doneWithRec: .MoveNext 'record strX = strX & xml_Ent("partyMember", True) strBigger = strBigger & strX 'put into bigger string container strX = "" 'reset strX Loop End With rstData.Close Set rstData = Nothing autoG_table2xml_partyMember = strBigger End Function