Maintain Databases


Importing Data

This allows you to import congregation and/or speaker data into the database.  The information is held in the same data file that will be imported.  If you read on, you will see detailed instructions about this.

Importing allows you to insert many records into the database in one go. This would save you manually adding new entries into the database one by one. The file to be imported needs to be in a certain format, referred to as a tab-delimited file.

Exhaustive validation of data to be imported is not carried out by the program. It assumes that you, as the user, have ensured the data to be imported is valid and that it is indeed appropriate to do so. You import data entirely at your own risk and I accept no responsibility for any loss of data caused.

When you press the Import button, it displays a dialogue for you to select the data file to import. You are informed if the file could not be opened for whatever reason.

Please note that if you are importing a previously exported file, you must delete the header rows of text from the file first (this is the first line in the text file naming what each item represents).  There is a second header row add the speakers if they are in the file to import, and this will be further down in the text file.  Failure to remove these text lines will generate errors during importing.

You are then asked if you want to delete the current table contents. Please be aware of any other tables which might refer to this current table. If you delete such entries, you are effectively removing this relationship. It won't actually delete the table until it has established that it is safe to add the import data. If you choose not to delete the table, or the program can't delete the table for some reason, it will append the data instead (if the data being imported is valid to append).

If the data file is being appended to the current table, then it will check to see if any congregation or speaker already exists in the table.  If found, you will be notified and the import process will be terminated.  Duplicate entries found within the import data itself will simply get ignored, so only the first entry will get added.  The process will stop if an invalid talk number has been specified for a speaker.  Importing will also stop if the congregation for a speaker doesn't exist (either in the database or the import data).  Also, if it was unable to read in entry information from the file, you will again be informed and importing will stop.

When the import data has been validated, it proceeds to import the records into the database.

As mentioned at the top of this help topic, the import file must be tab-delimited, which means that each line of text in the file represents an entry to add into the database. The information on each line is separated using TAB characters. The order of the information on each line must match one of the following templates.

Congregation entries:

Congregation [TAB] Coordinator [TAB] Last Date Invited [TAB] Time of Meeting [TAB] Notes [TAB] Meeting Time Changes [TAB] Memo1 [TAB] Memo2 [TAB] Memo3 [TAB] Memo4 [TAB] Memo5 [TAB] CoordinatorNotes [TAB] CoordinatorMemo1 [TAB] CoordinatorMemo2 [TAB] CoordinatorMemo3 [TAB] CoordinatorMemo4 [TAB] CoordinatorMemo5 [CR]

Speaker entries:

Congregation [TAB] Speaker [TAB] Ministerial Servant [TAB] Talk Numbers [TAB] Notes [TAB] Memo1 [TAB] Memo2 [TAB] Memo3 [TAB] Memo4 [TAB] Memo5 [CR]

where [TAB] represents the tab character and [CR] represents a carriage return.

You need a special line of text to separate the two tables in the text file. Congregation entries must be listed first. If you only want to import speakers, then this line of text must still precede the list of speaker entries in the file. This is the line of text:

***** END OF CONGS *****

Each item of information must be entered correctly. Here is a breakdown:

Congregation This is a standard character string.
Coordinator This is a standard character string.
Last Date Invited This should follow the following format: YYYY-MM-DD
Time of Meeting This should follow the following format: nn AM or nn PM (where nn represents hours)
Speaker This is a standard character string.
Ministerial Servant This should be:

Y if the brother is serving as a Ministerial Servant
N if the brother is not serving as a Ministerial Servant
Talk Numbers

This should be a series of talk numbers.  Each number should be separated by a comma.  Favourite talks are prefixed with a #. Here is an example:


This is a standard character string. (can be empty)
Meeting Time Changes This is a special encoded text string but it can be empty.  If you feel these instructions are too complex to follow, then please leave the column empty and fill in the details using the Meeting Time Manager once the data file has been imported.

The encoded string is made up from several items.  Each item has a specific meaning and must follow certain rules.  Each item is separated with a ¬ character.  This character can be typed on the keyboard by pressing the SHIFT key and the key to the left of number 1 (just below the ESCape key on my keyboard)..

The first part of the string represents the current meeting time of the congregation and the date when they changed to this current meeting time:


HH is hours 00 to 23 (note: 24 hour format)
MM is minutes 00 to 59
DD is day 01 to 31
MM is month 01 to 12
YYYY is full year eg: 2004

Next on the encoded string is the actual time change information.  You will have from two to five time changes.  Each time change should look like this:


NN is the number of months to the NEXT time change and is a value of 01 to 36.
HH & MM behave as above and is what the time will change to.

As already mentioned, the above should be repeated between two to five times, dependant upon how many time changes are needed.

Here is an example:

Current meeting time: 10 AM
Date when changed to current time: 01\01\2004
Time change 1 in 12 months becomes 2 PM
Time change 2 in 12 months (that is 12 months AFTER the date of time change 1) becomes 10 AM

Therefore, you would have this encoded string:


This is a standard character string. (can be empty)

If the above items are kept in mind when importing, you should have no problems.

All lines of text starting with a semi-colon ; are treated as comments and are ignored.