1

Topic: v8.4 doesn't recognise TVK selection in saved template.

Hi Graham,

I use TVK during validation as opposed to Species Name very successfully; however, if I save a Template, although it saves the TVK choice every record fails validation with "Unknown species or TVK". If I start again and reselect the TVK field selection it works fine. Seems like the save template, although it implies it has saved the setting has in fact not save it. Admittedly, I've not tested this before.

Les Evans-Hill
Senior Data Officer, National Moth Recording Scheme

2

Re: v8.4 doesn't recognise TVK selection in saved template.

Hello Les

If you send me some records that lead to this issue with the templates I can have a look and see what is happening (or not!)

Best wishes

Graham
NBN Technical Liaison Officer

3

Re: v8.4 doesn't recognise TVK selection in saved template.

Hi Graham,

This file should reproduce the issue.

Post's attachments

RCTVKError.xlsx 7.99 kb, 2 downloads since 2013-02-26 

You don't have the permssions to download the attachments of this post.
Les Evans-Hill
Senior Data Officer, National Moth Recording Scheme

4

Re: v8.4 doesn't recognise TVK selection in saved template.

ImportList.xml

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="dataroot">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="ImportList" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ListID" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
                <xs:element name="ListName" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="LastFile" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="DefaultFileLocation" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="FileExtention" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="ConnectionString" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="1000" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="SourceTable" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="4000" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="Delim" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="SourceType" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
                <xs:element name="Level" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
                <xs:element name="SpreadsheetTab" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
                <xs:element name="CustomImportFolder" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string" />
                  </xs:simpleType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="dataroot" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <ImportList>
    <ListID>1</ListID>
    <ListName>Dorset All Records Template</ListName>
    <LastFile>1960 All Records.xlsx</LastFile>
    <DefaultFileLocation>C:\Users\Les\Documents\My Moths\Dorset Moths\Annual Records Worksheets\1951 - 1960\1960</DefaultFileLocation>
    <FileExtention>XLS</FileExtention>
    <ConnectionString />
    <SourceTable />
    <Delim />
    <SourceType>3</SourceType>
    <Level>1</Level>
    <SpreadsheetTab>0</SpreadsheetTab>
  </ImportList>
</NewDataSet>

ImportListTransforms.xml

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="dataroot">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="ImportListTransforms" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ListID" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
                <xs:element name="SourceFieldName" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="DestFieldName" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="200" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="FieldType" minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction base="xs:integer" />
                  </xs:simpleType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="dataroot" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <dataroot />
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>RecordID</SourceFieldName>
    <DestFieldName>RECORDKEYFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>StartDate</SourceFieldName>
    <DestFieldName>SAMPLEDATEFROMFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>FinishDate</SourceFieldName>
    <DestFieldName>SAMPLEDATETOFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>DATESUBTYPEFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>ACTUALDATESUBTYPE</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>GridReference</SourceFieldName>
    <DestFieldName>COORDXFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>COORDYFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>COORDTYPEFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>OSGB</SourceFieldName>
    <DestFieldName>ACTUALCOORDTYPE</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>PrecisionField</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>ManPrecision</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>True</SourceFieldName>
    <DestFieldName>AutoPrecision</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>SPECIESFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName />
    <DestFieldName>COMMONFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>RTVK</SourceFieldName>
    <DestFieldName>TVKFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
  <ImportListTransforms>
    <ListID>1</ListID>
    <SourceFieldName>Vice-county</SourceFieldName>
    <DestFieldName>COUNTYFIELD</DestFieldName>
    <FieldType>0</FieldType>
  </ImportListTransforms>
</NewDataSet>
Les Evans-Hill
Senior Data Officer, National Moth Recording Scheme

5

Re: v8.4 doesn't recognise TVK selection in saved template.

Thanks Les

Will have a look

Best wishes

Graham
NBN Technical Liaison Officer

6

Re: v8.4 doesn't recognise TVK selection in saved template.

Hello Les

The template files look OK to me, they save the filename for the TVK field and not the actual TVK. I also had a go and it worked fine for me. I think this is an issue with the NBN Record Cleaner dictionary and not a template issue. If it is still persisting it may be worth while removing the dictionary file and making Record Cleaner create a new one. Let me know you want to try this

Best wishes

Graham
NBN Technical Liaison Officer

7

Re: v8.4 doesn't recognise TVK selection in saved template.

Graham, many thanks for you help. What process do I need to follow to try this?

Les Evans-Hill
Senior Data Officer, National Moth Recording Scheme

8

Re: v8.4 doesn't recognise TVK selection in saved template.

Hello Les

Instructions on how to clear the NBN Record Cleaner dictionary (masterspecieslist) and verification rules (the ID difficulty rules are dependent on both) is in the latest version of NBN Record Cleaner user guide (for V1.0.8.3) - see 13.4 on page 47. If these aren't clear let me know and I can talk you through it

Best wishes

Graham
NBN Technical  Liaison Officer

9

Re: v8.4 doesn't recognise TVK selection in saved template.

Hi Graham,

All was clear but sadly didn't work. I re-installed and this did the trick!

Les Evans-Hill
Senior Data Officer, National Moth Recording Scheme