Skip to content

Instantly share code, notes, and snippets.

@swellseabird
Last active January 27, 2020 16:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save swellseabird/5590843 to your computer and use it in GitHub Desktop.
Save swellseabird/5590843 to your computer and use it in GitHub Desktop.
Microsoft ACCESS VBA code to export bibliographic database into RIS format compatible with ZOTERO
'Export function of a Microsoft ACCESS table into a .RIS file compatible with ZOTERO
'This code should be modified/completed depending on your database fields
'More details on the RIS format and the coding of RIS fields
'=> https://web.archive.org/web/20120526103719/http://refman.com/support/risformat_intro.asp
'
'To work, this code need the library "Microsoft DAO 3.6 Object Library" activated
'contact : swellseabird at hotmail.fr
Function Export_zotero()
Dim rst As DAO.Recordset
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f
Dim lien As String
lien = Application.CurrentProject.Path
'Table to export
Set rst = CurrentDb.OpenRecordset("your_TableName", dbOpenTable)
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(lien & "\Export.txt", ForWriting, True)
While Not rst.EOF
'Field where the "reference type" is found
Select Case rst("your_reference type_FieldName")
' Reference type "Journal article"
Case "your_reference type_value"
f.writeLine "TY - JOUR"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2 ...
f.writeLine "AU - " & rst("your_FieldName") 'author3 ...
f.writeLine "AU - " & rst("your_FieldName") 'author4 ...
f.writeLine "AU - " & rst("your_FieldName") 'author5 ...
f.writeLine "AU - " & rst("your_FieldName") 'author6 ...
f.writeLine "AU - " & rst("your_FieldName") 'author7 ...
f.writeLine "AU - " & rst("your_FieldName") 'author8 ...
f.writeLine "AU - " & rst("your_FieldName") 'author9 ...
f.writeLine "AU - " & rst("your_FieldName") 'author10 ...
f.writeLine "AU - " & rst("your_FieldName") 'author11 ...
f.writeLine "AU - " & rst("your_FieldName") 'author12 ...
f.writeLine "AU - " & rst("your_FieldName") 'author13 ...
f.writeLine "AU - " & rst("your_FieldName") 'author14 ...
f.writeLine "T2 - " & rst("your_FieldName") 'journal
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "VL - " & rst("your_FieldName") 'volume
f.writeLine "IS - " & rst("your_FieldName") 'issue
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Abstract"
Case "your_reference type_value"
f.writeLine "TY - ABST"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "T2 - " & rst("your_FieldName") 'journal
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "VL - " & rst("your_FieldName") 'volume
f.writeLine "IS - " & rst("your_FieldName") 'issue
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Report"
Case "your_reference type_value"
f.writeLine "TY - RPRT"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "PB - " & rst("your_FieldName") 'institution
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "SN - " & rst("your_FieldName") 'report number
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Conference proceedings"
Case "your_reference type_value"
f.writeLine "TY - CONF"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "PB - " & rst("your_FieldName") 'publisher
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "VL - " & rst("your_FieldName") 'volume
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Book"
Case "your_reference type_value"
f.writeLine "TY - BOOK"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "A2 - " & rst("your_FieldName") 'editor1 - format [Name, first name]
f.writeLine "A2 - " & rst("your_FieldName") 'editor2
f.writeLine "A2 - " & rst("your_FieldName") 'editor3
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "PB - " & rst("your_FieldName") 'publisher
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "VL - " & rst("your_FieldName") 'volume
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Book section"
Case "your_reference type_value"
f.writeLine "TY - CHAP"
f.writeLine "TI - " & rst("your_FieldName") 'section title
f.writeLine "T2 - " & rst("your_FieldName") 'book title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "PB - " & rst("your_FieldName") 'publisher
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "VL - " & rst("your_FieldName") 'volume
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Thesis"
Case "your_reference type_value"
f.writeLine "TY - THES"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "PB - " & rst("your_FieldName") 'university
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "SP - " & rst("your_FieldName") 'pages
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Generic"
Case "your_reference type_value"
f.writeLine "TY - GEN"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("your_FieldName") 'author2
f.writeLine "AU - " & rst("your_FieldName") 'author3
f.writeLine "AU - " & rst("your_FieldName") 'author4
f.writeLine "AU - " & rst("your_FieldName") 'author5
f.writeLine "AU - " & rst("your_FieldName") 'author6
f.writeLine "AU - " & rst("your_FieldName") 'author7
f.writeLine "AU - " & rst("your_FieldName") 'author8
f.writeLine "AU - " & rst("your_FieldName") 'author9
f.writeLine "AU - " & rst("your_FieldName") 'author10
f.writeLine "AU - " & rst("your_FieldName") 'author11
f.writeLine "AU - " & rst("your_FieldName") 'author12
f.writeLine "AU - " & rst("your_FieldName") 'author13
f.writeLine "AU - " & rst("your_FieldName") 'author14
f.writeLine "PB - " & rst("your_FieldName") 'publisher
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type"Film"
Case "your_reference type_value"
f.writeLine "TY - MPCT"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "PB - " & rst("your_FieldName") 'source
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "SP - " & rst("your_FieldName") 'durée
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
' Reference type "Slide"
Case "your_reference type_value"
f.writeLine "TY - SLIDE"
f.writeLine "TI - " & rst("your_FieldName") 'title
f.writeLine "A2 - " & rst("your_FieldName") 'author1 - format [Name, first name]
f.writeLine "T2 - " & rst("your_FieldName") 'distributor
f.writeLine "AB - " & rst("your_FieldName") 'abstract
f.writeLine "PY - " & rst("your_FieldName") 'year
f.writeLine "KW - " & rst("your_FieldName") 'keywords
f.writeLine "N1 - " & rst("your_FieldName") 'notes
f.writeLine "LA - " & rst("your_FieldName") 'language
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments
f.writeLine ""
End Select
rst.MoveNext
Wend
f.Close
Set rst = Nothing
'Export file created in the database folder
Name lien & "\Export.txt" As lien & "\Export.ris"
End Function
@brettnuttall
Copy link

This is exactly what I need, I have over 1000 items listed in an old database from 2007, and I am now trying to import this database in Zotero. As I have zero experience with coding, I attempted to use this code but could not. Kept getting "File not found" and highlighting the "Kill lien & "\Export.ris" line. I dont know if ive filled out the form properly, not sure which "Field_Name" s I have to change, and to what... or what "Case "value" " even means lol. help

@brettnuttall
Copy link

this is what I have

Function Export_zotero()
Dim rst As DAO.Recordset
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f
Dim lien As String

lien = Application.CurrentProject.Path

'Table to export
Set rst = CurrentDb.OpenRecordset("BIBLIOGRAPHY", dbOpenTable)

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(lien & "\Export.txt", ForWriting, True)
While Not rst.EOF

'Field where the "reference type" is found
Select Case rst("Reference Type")

' Reference type "Archaeological excavations"
Case "value"
    f.writeLine "TY - EXCA"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Archaeological impact assessment"
Case "value"
f.writeLine "TY - ARCH"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Archaeological inventory"
Case "value"
    f.writeLine "TY - INVE"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Archaeological overviews"
Case "value"
f.writeLine "TY - OVER"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Article"
Case "value"
f.writeLine "TY - ARTI"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Bibliographies"
Case "value"
    f.writeLine "TY - BIBL"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "B.C. General"
Case "value"
f.writeLine "TY - BIOG"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Ethnography"
Case "value"
f.writeLine "TY - ETHN"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Field manuals"
Case "value"
f.writeLine "TY - MANU"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

' Reference type "Final Report"
Case "value"
f.writeLine "TY - REPO"
f.writeLine "ID - " & rst("Field_Name") 'ID
f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
f.writeLine "AU - " & rst("Field_Name") 'author3 ...
f.writeLine "AU - " & rst("Field_Name") 'author4 ...
f.writeLine "TI - " & rst("Field_Name") 'Title
f.writeLine "YR - " & rst("Field_Name") 'Year
f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
f.writeLine "CO - " & rst("Field_Name") 'Company
f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
f.writeLine "PO - " & rst("Field_Name") 'Prepared for
f.writeLine "OA - " & rst("Field_Name") 'operating area
f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Fish and fishing"
Case "value"
    f.writeLine "TY - FISH"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Forestry"
Case "value"
    f.writeLine "TY - FORE"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "General"
Case "value"
    f.writeLine "TY - GENE"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Hunter and Gatherers"
Case "value"
    f.writeLine "TY - HUNT"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Kamloops"
Case "value"
    f.writeLine "TY - KAML"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Kootenay"
Case "value"
    f.writeLine "TY - KOOT"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Map"
Case "value"
    f.writeLine "TY - MAPS"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Quesnel"
Case "value"
    f.writeLine "TY - QUES"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Religion"
Case "value"
    f.writeLine "TY - RELI"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""

    ' Reference type "Sampling procedures and quantitative methods"
Case "value"
    f.writeLine "TY - SAMP"
    f.writeLine "ID - " & rst("Field_Name") 'ID
    f.writeLine "CT - " & rst("Field_Name") 'Norcan catalogue #
    f.writeLine "AU - " & rst("Field_Name") 'author1 - format [Name, first name]
    f.writeLine "AU - " & rst("Field_Name") 'author2 - format [Name, last name]
    f.writeLine "AU - " & rst("Field_Name") 'author3 ...
    f.writeLine "AU - " & rst("Field_Name") 'author4 ...
    f.writeLine "TI - " & rst("Field_Name") 'Title
    f.writeLine "YR - " & rst("Field_Name") 'Year
    f.writeLine "HI - " & rst("Field_Name") 'Heritage Inspection #
    f.writeLine "CO - " & rst("Field_Name") 'Company
    f.writeLine "PB - " & rst("Field_Name") 'PUBLISHER
    f.writeLine "PL - " & rst("Field_Name") 'PUBLICATION LOCATION
    f.writeLine "PO - " & rst("Field_Name") 'Prepared for
    f.writeLine "OA - " & rst("Field_Name") 'operating area

f.writeLine "CM - " & rst("Field_Name") 'COMMENTS
f.writeLine "RT - " & rst("Field_Name") 'Reference Type
f.writeLine "RF - " & rst("Field_Name") 'REFERENCE
f.writeLine ""
End Select

rst.MoveNext

Wend
f.Close
Set rst = Nothing

'Export file created in the database folder
If lien & "\Export.ris" <> "" Then
Kill lien & "\Export.ris"
End If
Name lien & "\Export.txt" As lien & "\Export.txt"

End Function

@swellseabird
Copy link
Author

swellseabird commented Jan 24, 2020 via email

@brettnuttall
Copy link

thank you for your speedy response. I will give it another try. As previously stated I have zero experience and your explanation helped greatly. thank you!

@brettnuttall
Copy link

For example, does this look more like what I need to do?

' Reference type"Book"
Case "25"
f.writeLine "TY - BOOK"
f.writeLine "TI - " & rst("title") 'title

Am I required to leave the 'title at the end of the phrase or should i remove it? Options being:

f.writeLine "TI - " & rst("title") 'title OR f.writeLine "TI - " & rst("title")

@swellseabird
Copy link
Author

can you send me the structure of your BIBLIOGRAPHY table ? (or a copy of your table in an xls sheet)

@swellseabird
Copy link
Author

f.writeLine "TI - " & rst("title") 'title
Am I required to leave the 'title at the end of the phrase or should i remove it? Options being:

no the ['title] is just a comment like all other '.... , you can remove it (but it gives informations about what kind of fields are expected)

@brettnuttall
Copy link

I am unable to upload .xls onto this website. perhaps I could send the file to your email address?

@brettnuttall
Copy link

Screenshot (13)

@brettnuttall
Copy link

Screenshot (12)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment