Home » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94 » !AWApr94/Goodies/PowerBase/PBaseDoc/CSVFiles

!AWApr94/Goodies/PowerBase/PBaseDoc/CSVFiles

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94
Filename: !AWApr94/Goodies/PowerBase/PBaseDoc/CSVFiles
Read OK:
File size: 3672 bytes
Load address: 0000
Exec address: 0000
File contents
                                CSV Files
                                =========
What are CSV files? 
=================== 
CSV stands for "comma-separated value" and is the name given to data files
in which each item of data is separated from the next by a comma. Such files
are widely used to transfer data from one application to another, e.g. from
a database to a spreadsheet or from a RISC OS database to a PC database. The
standard for such files does not appear to be very rigorously defined and
the following variants may be encountered:-

(1) Data which is non-numeric (e.g. ordinary text items such as names and
addresses) are usually enclosed in quotation marks ("") whereas numeric
items are not. This makes it possible for an application which is reading a
CSV file to distinguish between numbers and strings (which might of course
contain numerals) and also allows the comma to be used as a character within
a string without being mistaken for a data separator. (Addresses often have
commas in them, e.g. 112, Keighley Road.)

(2) Null data items are usually included and can be located by looking for
two commas with either nothing in between them or with only two quotation
marks between them, i.e. ,, or ,"",. Each line of data (record) in such a
file will always contain the same number of data items (fields). Nulls may,
however, be omitted entirely in which case the number of fields per record
will vary.

(3) The way in which each record is terminated tends to vary from one system
to another. The last item of data in a record is not followed by a comma but
by an invisible character or pair of characters called the line terminator.
On RISC OS systems this is the "line-feed" character (ASCII value 10) and on
PCs it is usually the "carriage-return" character (ASCII value 13). You
might, however, encounter CSV files in which BOTH these characters are used,
i.e. LF CR or CR LF.

(4) The separator isn't always even a comma. The "TAB" character (ASCII
value 9) is often used and such files are called TSV files, but characters
such as the semicolon are sometimes used too.

(5) Some applications which accept a CSV file as input expect the first
record to contain the names of the fields which comprise the subsequent
records, e.g. if each record consists of a name and a four-part address this
"header" record might read "NAME","STREET","TOWN","COUNTY","POSTCODE".

How does Powerbase use CSV files?
=================================
Powerbase is able to save data in the form of true CSV files or files using
some other data separator. If the separator is indeed a comma then the file
created is of type &dfe and its icon displays the letters "CSV". If some
other separator, such as TAB, is used (see (4) above) then the file is of
the ordinary "text" type, i.e. &fff. Files of these types may also be used
to enter data into a Powerbase database. In what follows we will, for
convenience, refer to them as "CSV files" whether or not the separator is a
comma. The choices on the main menu which control these actions are 'Export
CSV' and 'CSV options'.

CSV options
===========
This leads to a dialogue box which allows you to specify all the file
characteristics described in the previous section. Thus, selection of the
first three option buttons causes a saved file to have, respectively:-

        (a) quotes round non-numeric fields (see (1) above)
        (b) a header record specifying the field names (see (5) above)
        (c) null fields included (see (2) above).

Note that the "field names" referred to in (b) are, by default, the TAGS of
the corresponding Powerbase fields, but may be changed to the DESCRIPTORS by
altering the settings in the 'Print options' dialogue box.

The field separator and record terminator may be changed by means of menus
which appear when you click on the right-pointing arrows. Each of these
menus also allows you to define your own separator and/or terminator of one
or two printing characters.

Two buttons in this dialogue box have not yet been referred to. Their
function is described later (Using CSV files to import data).

Export CSV
==========
Having set up your options as described above, creating a CSV file is very
like printing a list (see 'Printing'). First highlight the fields to be
exported by clicking on each with ADJUST. Remember that the order in which
the fields are highlighted is important. Next follow the 'Export CSV' option
to the dialogue box and type in the search formula to determine which
records are exported. Finally, enter the name of the file and drag the file
icon to a filer window. The hourglass appears showing the progress of the
operation.

Experiment with saving CSV files with different settings of the CSV options
and then loading the resulting files into Edit to examine them.

Using CSV files to import data
==============================
If you drag a CSV file onto the record display of an open database the
options window (see CSV options) appears with a changed title and some
additional icons, one of which displays the pathname of the CSV file. The
same thing happens with a suitably-constituted text file (see above: 'How
does Powerbase use CSV files'). Please note, however, that there are other
circumstances under which a text file might be dropped on the record window.
A properly-written script file (see 'ScriptFile') would be recognised as
such, but a text file dropped onto the appropriate type of External field
(i.e. a 'Text' or 'Text Block') field would become linked to that field
instead of being treated like a CSV file. If you are importing data from a
plain text file and your record contains fields of the aforementioned types
be sure to drop the file on the window background, not on the external
field. You are strongly advised to use proper CSV files if at all possible.

There is an option to display each record as it is imported. The process is
faster with this option turned off but much less informative. Most people
like to know how things are progressing. 

Another option causes any trailing spaces in the imported data-fields to be
stripped. Some database programs appear to pad all fields to their maximum
length by adding spaces to the end of the data where necessary. If the
program doesn't allow you to get rid of these spaces when exporting data in
CSV format they can be a nuisance when the file is imported into Powerbase.
Queries, for instance, may not work properly unless you use the "contains"
comparator ({) rather than "equals". You can easily recognise this situation
since the caret will always be at the far right of the field even though the
visible characters nowhere near fill the field. Setting the "Strip spaces"
switch before importing the file overcomes the problem.

Clicking on 'GO' will make Powerbase try to create new Powerbase records
from the data. If you decide not to do this you should click on 'Cancel'. If
you do wish to import the data there are some important points to consider:-

(1) The options need to be correctly set up. This means that if the CSV file
originally came from a Powerbase application the settings in the options
window should be exactly the same as they were when the file was exported.
The exception to this is the 'Quotes' button which is greyed out on import
because Powerbase doesn't need it. If the CSV file came from a PC or another
RISC OS application you might have to load it into Edit to find out what
separator and terminator are used, whether it uses quotes etc.

(2) Will the data be read into the correct Powerbase fields? If no fields on
the record screen are highlighted (i.e. with ADJUST) and the CSV file does
not contain a header record then the answer is as follows:-

        (a) The first CSV field will be read into the first WRITABLE
        Powerbase field or Check box field. Non-writable fields such as
        Text blocks, Pictures, Buttons or fields which are merely labels
        will be ignored. The next CSV field will be read into the second
        Powerbase field and so on.

        (b) If the end of the CSV record is reached before all the writable
        fields have been filled then the next CSV record will start a new
        Powerbase record, i.e. the reading won't get out of step. It does not
        matter, therefore, if the CSV file omits null items.

        (c) If all writable fields are filled in before reaching the end of
        the CSV record Powerbase ignores the remainder of the latter and
        skips to the beginning of the next CSV record before starting a new
        Powerbase record. This is also to keep the operation in step.

There will be occasions when you don't want to fill the Powerbase fields
sequentially as just described. There are two ways of making the process
more specific:-

        (a) If you highlight Powerbase fields with ADJUST before starting the
        import the data will be read only into the highlighted fields. The
        order in which the fields are filled is the order in which you
        highlighted them. Paragraphs (b) and (c) above apply in cases where
        the CSV record has more or fewer fields than are highlighted on the
        Powerbase record. In other words the operation proceeds as if the
        highlighted fields were the only ones in the record and as if they
        actually occurred in the order in which they were highlighted.

        (b) If the CSV file has a header which contains the tags or
        descriptors of fields in the Powerbase record then the import behaves
        exactly as if those fields were highlighted. The 'Print options'
        dialogue box must correctly reflect whether the tags or descriptors
        of fields are used. Note that you should not use both a header AND
        highlighting. Note also that there is nothing to prevent you adding
        a header manually to a CSV file which did not originate from a
        Powerbase application.

What if the data won't fit?
===========================
This is really two questions. If the database doesn't contain enough free
records to hold all the imported CSV data you may get a "Database full when
reading CSV file" error. There are two ways of avoiding this. The obvious
one is to make sure the database is big enough before you start. If it isn't
you can expand it via the 'Change length' dialogue box accessible from the
'Utilities' submenu on the icon bar menu. That dialogue box also has an
'Increment for expansion' which, if greater than zero, causes the database
to expand automatically whenever it becomes full. Only if the database
becomes full when the increment is set to zero should the aforementioned
error occur.

The second sense in which data might not fit is if an item of data is too
long for the database field into which you are trying to import it. When a
CSV file is being read Powerbase maintains a file called 'TooBig' inside the
database's 'PrintJobs' directory. Anything read from the CSV file which
won't fit in the target field is written to this file together with
information about where it was intended to go. No writable Powerbase field
may be longer than 246 characters and if an item of imported data exceeds
this a note will be made in the 'TooBig' file advising you to define an
External field (Text Block or Text) for such data.

Advanced features of CSV import
===============================
When you import a CSV file a new Powerbase record is normally created to
accommodate each CSV record read from the file. You may also, subject to
certain restrictions, use a CSV file to enter data into EXISTING Powerbase
records. 

The CSV options window contains a button which, if selected, causes each
record of a saved CSV file to include the primary key of the Powerbase
record. The key is placed at the beginning of the record. Try creating CSV
files with and without this option set and compare the files using Edit. If
a file containing primary keys is dragged into a Powerbase record window
Powerbase will attempt to locate the records with the same primary keys as
the records in the CSV file. If the key is not found the CSV record is
simply ignored. If it is found then the CSV data goes into the same record,
overwriting any data which the target fields already contain.

The operation described needs using with care. It is only really useful for
transferring data between Powerbase databases which have the same primary
key field. It can also lead to trouble if the primary key isn't unique,
since the record located by Powerbase and into which the CSV data is read
might not be the correct one. You have been warned!

Finally, there is one option button in the CSV options window which only
becomes active when the 'Header' button is selected. This is called 'With
field data'. When selected the header of a saved CSV file contains not only
the field names but also the field lengths and types. Again it is suggested
that you create such a file and look at it in Edit. Each item in the header
begins with a number. This is the defined field length in characters, i.e.
the maximum allowed length in the Powerbase record field. Next comes a �
character which separates the length from the field name. Another �
separates the field name from the concluding number which is the field type.
(The type numbers may be inspected by looking at the 'ValStrings' file in
the Powerbase directory.)

A file created in this form is NOT meant to be dropped on the window of an
open database. It should be dropped on the Powerbase icon on the icon bar
when no database is open. Powerbase will attempt to convert the file into a
functioning database. All the fields will be ranged on the left of the
record window, one beneath another and the primary key will consist of the
first four characters of the first field. Don't try to create databases
containing Check box, Button or External fields using this method; it's only
meant for the most basic type of database. 


      


00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000020  43 53 56 20 46 69 6c 65  73 0a 20 20 20 20 20 20  |CSV Files.      |
00000030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000040  20 20 20 20 20 20 20 20  20 20 3d 3d 3d 3d 3d 3d  |          ======|
00000050  3d 3d 3d 0a 57 68 61 74  20 61 72 65 20 43 53 56  |===.What are CSV|
00000060  20 66 69 6c 65 73 3f 20  0a 3d 3d 3d 3d 3d 3d 3d  | files? .=======|
00000070  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 20 0a 43 53  |============ .CS|
00000080  56 20 73 74 61 6e 64 73  20 66 6f 72 20 22 63 6f  |V stands for "co|
00000090  6d 6d 61 2d 73 65 70 61  72 61 74 65 64 20 76 61  |mma-separated va|
000000a0  6c 75 65 22 20 61 6e 64  20 69 73 20 74 68 65 20  |lue" and is the |
000000b0  6e 61 6d 65 20 67 69 76  65 6e 20 74 6f 20 64 61  |name given to da|
000000c0  74 61 20 66 69 6c 65 73  0a 69 6e 20 77 68 69 63  |ta files.in whic|
000000d0  68 20 65 61 63 68 20 69  74 65 6d 20 6f 66 20 64  |h each item of d|
000000e0  61 74 61 20 69 73 20 73  65 70 61 72 61 74 65 64  |ata is separated|
000000f0  20 66 72 6f 6d 20 74 68  65 20 6e 65 78 74 20 62  | from the next b|
00000100  79 20 61 20 63 6f 6d 6d  61 2e 20 53 75 63 68 20  |y a comma. Such |
00000110  66 69 6c 65 73 0a 61 72  65 20 77 69 64 65 6c 79  |files.are widely|
00000120  20 75 73 65 64 20 74 6f  20 74 72 61 6e 73 66 65  | used to transfe|
00000130  72 20 64 61 74 61 20 66  72 6f 6d 20 6f 6e 65 20  |r data from one |
00000140  61 70 70 6c 69 63 61 74  69 6f 6e 20 74 6f 20 61  |application to a|
00000150  6e 6f 74 68 65 72 2c 20  65 2e 67 2e 20 66 72 6f  |nother, e.g. fro|
00000160  6d 0a 61 20 64 61 74 61  62 61 73 65 20 74 6f 20  |m.a database to |
00000170  61 20 73 70 72 65 61 64  73 68 65 65 74 20 6f 72  |a spreadsheet or|
00000180  20 66 72 6f 6d 20 61 20  52 49 53 43 20 4f 53 20  | from a RISC OS |
00000190  64 61 74 61 62 61 73 65  20 74 6f 20 61 20 50 43  |database to a PC|
000001a0  20 64 61 74 61 62 61 73  65 2e 20 54 68 65 0a 73  | database. The.s|
000001b0  74 61 6e 64 61 72 64 20  66 6f 72 20 73 75 63 68  |tandard for such|
000001c0  20 66 69 6c 65 73 20 64  6f 65 73 20 6e 6f 74 20  | files does not |
000001d0  61 70 70 65 61 72 20 74  6f 20 62 65 20 76 65 72  |appear to be ver|
000001e0  79 20 72 69 67 6f 72 6f  75 73 6c 79 20 64 65 66  |y rigorously def|
000001f0  69 6e 65 64 20 61 6e 64  0a 74 68 65 20 66 6f 6c  |ined and.the fol|
00000200  6c 6f 77 69 6e 67 20 76  61 72 69 61 6e 74 73 20  |lowing variants |
00000210  6d 61 79 20 62 65 20 65  6e 63 6f 75 6e 74 65 72  |may be encounter|
00000220  65 64 3a 2d 0a 0a 28 31  29 20 44 61 74 61 20 77  |ed:-..(1) Data w|
00000230  68 69 63 68 20 69 73 20  6e 6f 6e 2d 6e 75 6d 65  |hich is non-nume|
00000240  72 69 63 20 28 65 2e 67  2e 20 6f 72 64 69 6e 61  |ric (e.g. ordina|
00000250  72 79 20 74 65 78 74 20  69 74 65 6d 73 20 73 75  |ry text items su|
00000260  63 68 20 61 73 20 6e 61  6d 65 73 20 61 6e 64 0a  |ch as names and.|
00000270  61 64 64 72 65 73 73 65  73 29 20 61 72 65 20 75  |addresses) are u|
00000280  73 75 61 6c 6c 79 20 65  6e 63 6c 6f 73 65 64 20  |sually enclosed |
00000290  69 6e 20 71 75 6f 74 61  74 69 6f 6e 20 6d 61 72  |in quotation mar|
000002a0  6b 73 20 28 22 22 29 20  77 68 65 72 65 61 73 20  |ks ("") whereas |
000002b0  6e 75 6d 65 72 69 63 0a  69 74 65 6d 73 20 61 72  |numeric.items ar|
000002c0  65 20 6e 6f 74 2e 20 54  68 69 73 20 6d 61 6b 65  |e not. This make|
000002d0  73 20 69 74 20 70 6f 73  73 69 62 6c 65 20 66 6f  |s it possible fo|
000002e0  72 20 61 6e 20 61 70 70  6c 69 63 61 74 69 6f 6e  |r an application|
000002f0  20 77 68 69 63 68 20 69  73 20 72 65 61 64 69 6e  | which is readin|
00000300  67 20 61 0a 43 53 56 20  66 69 6c 65 20 74 6f 20  |g a.CSV file to |
00000310  64 69 73 74 69 6e 67 75  69 73 68 20 62 65 74 77  |distinguish betw|
00000320  65 65 6e 20 6e 75 6d 62  65 72 73 20 61 6e 64 20  |een numbers and |
00000330  73 74 72 69 6e 67 73 20  28 77 68 69 63 68 20 6d  |strings (which m|
00000340  69 67 68 74 20 6f 66 20  63 6f 75 72 73 65 0a 63  |ight of course.c|
00000350  6f 6e 74 61 69 6e 20 6e  75 6d 65 72 61 6c 73 29  |ontain numerals)|
00000360  20 61 6e 64 20 61 6c 73  6f 20 61 6c 6c 6f 77 73  | and also allows|
00000370  20 74 68 65 20 63 6f 6d  6d 61 20 74 6f 20 62 65  | the comma to be|
00000380  20 75 73 65 64 20 61 73  20 61 20 63 68 61 72 61  | used as a chara|
00000390  63 74 65 72 20 77 69 74  68 69 6e 0a 61 20 73 74  |cter within.a st|
000003a0  72 69 6e 67 20 77 69 74  68 6f 75 74 20 62 65 69  |ring without bei|
000003b0  6e 67 20 6d 69 73 74 61  6b 65 6e 20 66 6f 72 20  |ng mistaken for |
000003c0  61 20 64 61 74 61 20 73  65 70 61 72 61 74 6f 72  |a data separator|
000003d0  2e 20 28 41 64 64 72 65  73 73 65 73 20 6f 66 74  |. (Addresses oft|
000003e0  65 6e 20 68 61 76 65 0a  63 6f 6d 6d 61 73 20 69  |en have.commas i|
000003f0  6e 20 74 68 65 6d 2c 20  65 2e 67 2e 20 31 31 32  |n them, e.g. 112|
00000400  2c 20 4b 65 69 67 68 6c  65 79 20 52 6f 61 64 2e  |, Keighley Road.|
00000410  29 0a 0a 28 32 29 20 4e  75 6c 6c 20 64 61 74 61  |)..(2) Null data|
00000420  20 69 74 65 6d 73 20 61  72 65 20 75 73 75 61 6c  | items are usual|
00000430  6c 79 20 69 6e 63 6c 75  64 65 64 20 61 6e 64 20  |ly included and |
00000440  63 61 6e 20 62 65 20 6c  6f 63 61 74 65 64 20 62  |can be located b|
00000450  79 20 6c 6f 6f 6b 69 6e  67 20 66 6f 72 0a 74 77  |y looking for.tw|
00000460  6f 20 63 6f 6d 6d 61 73  20 77 69 74 68 20 65 69  |o commas with ei|
00000470  74 68 65 72 20 6e 6f 74  68 69 6e 67 20 69 6e 20  |ther nothing in |
00000480  62 65 74 77 65 65 6e 20  74 68 65 6d 20 6f 72 20  |between them or |
00000490  77 69 74 68 20 6f 6e 6c  79 20 74 77 6f 20 71 75  |with only two qu|
000004a0  6f 74 61 74 69 6f 6e 0a  6d 61 72 6b 73 20 62 65  |otation.marks be|
000004b0  74 77 65 65 6e 20 74 68  65 6d 2c 20 69 2e 65 2e  |tween them, i.e.|
000004c0  20 2c 2c 20 6f 72 20 2c  22 22 2c 2e 20 45 61 63  | ,, or ,"",. Eac|
000004d0  68 20 6c 69 6e 65 20 6f  66 20 64 61 74 61 20 28  |h line of data (|
000004e0  72 65 63 6f 72 64 29 20  69 6e 20 73 75 63 68 20  |record) in such |
000004f0  61 0a 66 69 6c 65 20 77  69 6c 6c 20 61 6c 77 61  |a.file will alwa|
00000500  79 73 20 63 6f 6e 74 61  69 6e 20 74 68 65 20 73  |ys contain the s|
00000510  61 6d 65 20 6e 75 6d 62  65 72 20 6f 66 20 64 61  |ame number of da|
00000520  74 61 20 69 74 65 6d 73  20 28 66 69 65 6c 64 73  |ta items (fields|
00000530  29 2e 20 4e 75 6c 6c 73  20 6d 61 79 2c 0a 68 6f  |). Nulls may,.ho|
00000540  77 65 76 65 72 2c 20 62  65 20 6f 6d 69 74 74 65  |wever, be omitte|
00000550  64 20 65 6e 74 69 72 65  6c 79 20 69 6e 20 77 68  |d entirely in wh|
00000560  69 63 68 20 63 61 73 65  20 74 68 65 20 6e 75 6d  |ich case the num|
00000570  62 65 72 20 6f 66 20 66  69 65 6c 64 73 20 70 65  |ber of fields pe|
00000580  72 20 72 65 63 6f 72 64  0a 77 69 6c 6c 20 76 61  |r record.will va|
00000590  72 79 2e 0a 0a 28 33 29  20 54 68 65 20 77 61 79  |ry...(3) The way|
000005a0  20 69 6e 20 77 68 69 63  68 20 65 61 63 68 20 72  | in which each r|
000005b0  65 63 6f 72 64 20 69 73  20 74 65 72 6d 69 6e 61  |ecord is termina|
000005c0  74 65 64 20 74 65 6e 64  73 20 74 6f 20 76 61 72  |ted tends to var|
000005d0  79 20 66 72 6f 6d 20 6f  6e 65 20 73 79 73 74 65  |y from one syste|
000005e0  6d 0a 74 6f 20 61 6e 6f  74 68 65 72 2e 20 54 68  |m.to another. Th|
000005f0  65 20 6c 61 73 74 20 69  74 65 6d 20 6f 66 20 64  |e last item of d|
00000600  61 74 61 20 69 6e 20 61  20 72 65 63 6f 72 64 20  |ata in a record |
00000610  69 73 20 6e 6f 74 20 66  6f 6c 6c 6f 77 65 64 20  |is not followed |
00000620  62 79 20 61 20 63 6f 6d  6d 61 20 62 75 74 0a 62  |by a comma but.b|
00000630  79 20 61 6e 20 69 6e 76  69 73 69 62 6c 65 20 63  |y an invisible c|
00000640  68 61 72 61 63 74 65 72  20 6f 72 20 70 61 69 72  |haracter or pair|
00000650  20 6f 66 20 63 68 61 72  61 63 74 65 72 73 20 63  | of characters c|
00000660  61 6c 6c 65 64 20 74 68  65 20 6c 69 6e 65 20 74  |alled the line t|
00000670  65 72 6d 69 6e 61 74 6f  72 2e 0a 4f 6e 20 52 49  |erminator..On RI|
00000680  53 43 20 4f 53 20 73 79  73 74 65 6d 73 20 74 68  |SC OS systems th|
00000690  69 73 20 69 73 20 74 68  65 20 22 6c 69 6e 65 2d  |is is the "line-|
000006a0  66 65 65 64 22 20 63 68  61 72 61 63 74 65 72 20  |feed" character |
000006b0  28 41 53 43 49 49 20 76  61 6c 75 65 20 31 30 29  |(ASCII value 10)|
000006c0  20 61 6e 64 20 6f 6e 0a  50 43 73 20 69 74 20 69  | and on.PCs it i|
000006d0  73 20 75 73 75 61 6c 6c  79 20 74 68 65 20 22 63  |s usually the "c|
000006e0  61 72 72 69 61 67 65 2d  72 65 74 75 72 6e 22 20  |arriage-return" |
000006f0  63 68 61 72 61 63 74 65  72 20 28 41 53 43 49 49  |character (ASCII|
00000700  20 76 61 6c 75 65 20 31  33 29 2e 20 59 6f 75 0a  | value 13). You.|
00000710  6d 69 67 68 74 2c 20 68  6f 77 65 76 65 72 2c 20  |might, however, |
00000720  65 6e 63 6f 75 6e 74 65  72 20 43 53 56 20 66 69  |encounter CSV fi|
00000730  6c 65 73 20 69 6e 20 77  68 69 63 68 20 42 4f 54  |les in which BOT|
00000740  48 20 74 68 65 73 65 20  63 68 61 72 61 63 74 65  |H these characte|
00000750  72 73 20 61 72 65 20 75  73 65 64 2c 0a 69 2e 65  |rs are used,.i.e|
00000760  2e 20 4c 46 20 43 52 20  6f 72 20 43 52 20 4c 46  |. LF CR or CR LF|
00000770  2e 0a 0a 28 34 29 20 54  68 65 20 73 65 70 61 72  |...(4) The separ|
00000780  61 74 6f 72 20 69 73 6e  27 74 20 61 6c 77 61 79  |ator isn't alway|
00000790  73 20 65 76 65 6e 20 61  20 63 6f 6d 6d 61 2e 20  |s even a comma. |
000007a0  54 68 65 20 22 54 41 42  22 20 63 68 61 72 61 63  |The "TAB" charac|
000007b0  74 65 72 20 28 41 53 43  49 49 0a 76 61 6c 75 65  |ter (ASCII.value|
000007c0  20 39 29 20 69 73 20 6f  66 74 65 6e 20 75 73 65  | 9) is often use|
000007d0  64 20 61 6e 64 20 73 75  63 68 20 66 69 6c 65 73  |d and such files|
000007e0  20 61 72 65 20 63 61 6c  6c 65 64 20 54 53 56 20  | are called TSV |
000007f0  66 69 6c 65 73 2c 20 62  75 74 20 63 68 61 72 61  |files, but chara|
00000800  63 74 65 72 73 0a 73 75  63 68 20 61 73 20 74 68  |cters.such as th|
00000810  65 20 73 65 6d 69 63 6f  6c 6f 6e 20 61 72 65 20  |e semicolon are |
00000820  73 6f 6d 65 74 69 6d 65  73 20 75 73 65 64 20 74  |sometimes used t|
00000830  6f 6f 2e 0a 0a 28 35 29  20 53 6f 6d 65 20 61 70  |oo...(5) Some ap|
00000840  70 6c 69 63 61 74 69 6f  6e 73 20 77 68 69 63 68  |plications which|
00000850  20 61 63 63 65 70 74 20  61 20 43 53 56 20 66 69  | accept a CSV fi|
00000860  6c 65 20 61 73 20 69 6e  70 75 74 20 65 78 70 65  |le as input expe|
00000870  63 74 20 74 68 65 20 66  69 72 73 74 0a 72 65 63  |ct the first.rec|
00000880  6f 72 64 20 74 6f 20 63  6f 6e 74 61 69 6e 20 74  |ord to contain t|
00000890  68 65 20 6e 61 6d 65 73  20 6f 66 20 74 68 65 20  |he names of the |
000008a0  66 69 65 6c 64 73 20 77  68 69 63 68 20 63 6f 6d  |fields which com|
000008b0  70 72 69 73 65 20 74 68  65 20 73 75 62 73 65 71  |prise the subseq|
000008c0  75 65 6e 74 0a 72 65 63  6f 72 64 73 2c 20 65 2e  |uent.records, e.|
000008d0  67 2e 20 69 66 20 65 61  63 68 20 72 65 63 6f 72  |g. if each recor|
000008e0  64 20 63 6f 6e 73 69 73  74 73 20 6f 66 20 61 20  |d consists of a |
000008f0  6e 61 6d 65 20 61 6e 64  20 61 20 66 6f 75 72 2d  |name and a four-|
00000900  70 61 72 74 20 61 64 64  72 65 73 73 20 74 68 69  |part address thi|
00000910  73 0a 22 68 65 61 64 65  72 22 20 72 65 63 6f 72  |s."header" recor|
00000920  64 20 6d 69 67 68 74 20  72 65 61 64 20 22 4e 41  |d might read "NA|
00000930  4d 45 22 2c 22 53 54 52  45 45 54 22 2c 22 54 4f  |ME","STREET","TO|
00000940  57 4e 22 2c 22 43 4f 55  4e 54 59 22 2c 22 50 4f  |WN","COUNTY","PO|
00000950  53 54 43 4f 44 45 22 2e  0a 0a 48 6f 77 20 64 6f  |STCODE"...How do|
00000960  65 73 20 50 6f 77 65 72  62 61 73 65 20 75 73 65  |es Powerbase use|
00000970  20 43 53 56 20 66 69 6c  65 73 3f 0a 3d 3d 3d 3d  | CSV files?.====|
00000980  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000990  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 50 6f  |=============.Po|
000009a0  77 65 72 62 61 73 65 20  69 73 20 61 62 6c 65 20  |werbase is able |
000009b0  74 6f 20 73 61 76 65 20  64 61 74 61 20 69 6e 20  |to save data in |
000009c0  74 68 65 20 66 6f 72 6d  20 6f 66 20 74 72 75 65  |the form of true|
000009d0  20 43 53 56 20 66 69 6c  65 73 20 6f 72 20 66 69  | CSV files or fi|
000009e0  6c 65 73 20 75 73 69 6e  67 0a 73 6f 6d 65 20 6f  |les using.some o|
000009f0  74 68 65 72 20 64 61 74  61 20 73 65 70 61 72 61  |ther data separa|
00000a00  74 6f 72 2e 20 49 66 20  74 68 65 20 73 65 70 61  |tor. If the sepa|
00000a10  72 61 74 6f 72 20 69 73  20 69 6e 64 65 65 64 20  |rator is indeed |
00000a20  61 20 63 6f 6d 6d 61 20  74 68 65 6e 20 74 68 65  |a comma then the|
00000a30  20 66 69 6c 65 0a 63 72  65 61 74 65 64 20 69 73  | file.created is|
00000a40  20 6f 66 20 74 79 70 65  20 26 64 66 65 20 61 6e  | of type &dfe an|
00000a50  64 20 69 74 73 20 69 63  6f 6e 20 64 69 73 70 6c  |d its icon displ|
00000a60  61 79 73 20 74 68 65 20  6c 65 74 74 65 72 73 20  |ays the letters |
00000a70  22 43 53 56 22 2e 20 49  66 20 73 6f 6d 65 0a 6f  |"CSV". If some.o|
00000a80  74 68 65 72 20 73 65 70  61 72 61 74 6f 72 2c 20  |ther separator, |
00000a90  73 75 63 68 20 61 73 20  54 41 42 2c 20 69 73 20  |such as TAB, is |
00000aa0  75 73 65 64 20 28 73 65  65 20 28 34 29 20 61 62  |used (see (4) ab|
00000ab0  6f 76 65 29 20 74 68 65  6e 20 74 68 65 20 66 69  |ove) then the fi|
00000ac0  6c 65 20 69 73 20 6f 66  0a 74 68 65 20 6f 72 64  |le is of.the ord|
00000ad0  69 6e 61 72 79 20 22 74  65 78 74 22 20 74 79 70  |inary "text" typ|
00000ae0  65 2c 20 69 2e 65 2e 20  26 66 66 66 2e 20 46 69  |e, i.e. &fff. Fi|
00000af0  6c 65 73 20 6f 66 20 74  68 65 73 65 20 74 79 70  |les of these typ|
00000b00  65 73 20 6d 61 79 20 61  6c 73 6f 20 62 65 20 75  |es may also be u|
00000b10  73 65 64 0a 74 6f 20 65  6e 74 65 72 20 64 61 74  |sed.to enter dat|
00000b20  61 20 69 6e 74 6f 20 61  20 50 6f 77 65 72 62 61  |a into a Powerba|
00000b30  73 65 20 64 61 74 61 62  61 73 65 2e 20 49 6e 20  |se database. In |
00000b40  77 68 61 74 20 66 6f 6c  6c 6f 77 73 20 77 65 20  |what follows we |
00000b50  77 69 6c 6c 2c 20 66 6f  72 0a 63 6f 6e 76 65 6e  |will, for.conven|
00000b60  69 65 6e 63 65 2c 20 72  65 66 65 72 20 74 6f 20  |ience, refer to |
00000b70  74 68 65 6d 20 61 73 20  22 43 53 56 20 66 69 6c  |them as "CSV fil|
00000b80  65 73 22 20 77 68 65 74  68 65 72 20 6f 72 20 6e  |es" whether or n|
00000b90  6f 74 20 74 68 65 20 73  65 70 61 72 61 74 6f 72  |ot the separator|
00000ba0  20 69 73 20 61 0a 63 6f  6d 6d 61 2e 20 54 68 65  | is a.comma. The|
00000bb0  20 63 68 6f 69 63 65 73  20 6f 6e 20 74 68 65 20  | choices on the |
00000bc0  6d 61 69 6e 20 6d 65 6e  75 20 77 68 69 63 68 20  |main menu which |
00000bd0  63 6f 6e 74 72 6f 6c 20  74 68 65 73 65 20 61 63  |control these ac|
00000be0  74 69 6f 6e 73 20 61 72  65 20 27 45 78 70 6f 72  |tions are 'Expor|
00000bf0  74 0a 43 53 56 27 20 61  6e 64 20 27 43 53 56 20  |t.CSV' and 'CSV |
00000c00  6f 70 74 69 6f 6e 73 27  2e 0a 0a 43 53 56 20 6f  |options'...CSV o|
00000c10  70 74 69 6f 6e 73 0a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ptions.=========|
00000c20  3d 3d 0a 54 68 69 73 20  6c 65 61 64 73 20 74 6f  |==.This leads to|
00000c30  20 61 20 64 69 61 6c 6f  67 75 65 20 62 6f 78 20  | a dialogue box |
00000c40  77 68 69 63 68 20 61 6c  6c 6f 77 73 20 79 6f 75  |which allows you|
00000c50  20 74 6f 20 73 70 65 63  69 66 79 20 61 6c 6c 20  | to specify all |
00000c60  74 68 65 20 66 69 6c 65  0a 63 68 61 72 61 63 74  |the file.charact|
00000c70  65 72 69 73 74 69 63 73  20 64 65 73 63 72 69 62  |eristics describ|
00000c80  65 64 20 69 6e 20 74 68  65 20 70 72 65 76 69 6f  |ed in the previo|
00000c90  75 73 20 73 65 63 74 69  6f 6e 2e 20 54 68 75 73  |us section. Thus|
00000ca0  2c 20 73 65 6c 65 63 74  69 6f 6e 20 6f 66 20 74  |, selection of t|
00000cb0  68 65 0a 66 69 72 73 74  20 74 68 72 65 65 20 6f  |he.first three o|
00000cc0  70 74 69 6f 6e 20 62 75  74 74 6f 6e 73 20 63 61  |ption buttons ca|
00000cd0  75 73 65 73 20 61 20 73  61 76 65 64 20 66 69 6c  |uses a saved fil|
00000ce0  65 20 74 6f 20 68 61 76  65 2c 20 72 65 73 70 65  |e to have, respe|
00000cf0  63 74 69 76 65 6c 79 3a  2d 0a 0a 20 20 20 20 20  |ctively:-..     |
00000d00  20 20 20 28 61 29 20 71  75 6f 74 65 73 20 72 6f  |   (a) quotes ro|
00000d10  75 6e 64 20 6e 6f 6e 2d  6e 75 6d 65 72 69 63 20  |und non-numeric |
00000d20  66 69 65 6c 64 73 20 28  73 65 65 20 28 31 29 20  |fields (see (1) |
00000d30  61 62 6f 76 65 29 0a 20  20 20 20 20 20 20 20 28  |above).        (|
00000d40  62 29 20 61 20 68 65 61  64 65 72 20 72 65 63 6f  |b) a header reco|
00000d50  72 64 20 73 70 65 63 69  66 79 69 6e 67 20 74 68  |rd specifying th|
00000d60  65 20 66 69 65 6c 64 20  6e 61 6d 65 73 20 28 73  |e field names (s|
00000d70  65 65 20 28 35 29 20 61  62 6f 76 65 29 0a 20 20  |ee (5) above).  |
00000d80  20 20 20 20 20 20 28 63  29 20 6e 75 6c 6c 20 66  |      (c) null f|
00000d90  69 65 6c 64 73 20 69 6e  63 6c 75 64 65 64 20 28  |ields included (|
00000da0  73 65 65 20 28 32 29 20  61 62 6f 76 65 29 2e 0a  |see (2) above)..|
00000db0  0a 4e 6f 74 65 20 74 68  61 74 20 74 68 65 20 22  |.Note that the "|
00000dc0  66 69 65 6c 64 20 6e 61  6d 65 73 22 20 72 65 66  |field names" ref|
00000dd0  65 72 72 65 64 20 74 6f  20 69 6e 20 28 62 29 20  |erred to in (b) |
00000de0  61 72 65 2c 20 62 79 20  64 65 66 61 75 6c 74 2c  |are, by default,|
00000df0  20 74 68 65 20 54 41 47  53 20 6f 66 0a 74 68 65  | the TAGS of.the|
00000e00  20 63 6f 72 72 65 73 70  6f 6e 64 69 6e 67 20 50  | corresponding P|
00000e10  6f 77 65 72 62 61 73 65  20 66 69 65 6c 64 73 2c  |owerbase fields,|
00000e20  20 62 75 74 20 6d 61 79  20 62 65 20 63 68 61 6e  | but may be chan|
00000e30  67 65 64 20 74 6f 20 74  68 65 20 44 45 53 43 52  |ged to the DESCR|
00000e40  49 50 54 4f 52 53 20 62  79 0a 61 6c 74 65 72 69  |IPTORS by.alteri|
00000e50  6e 67 20 74 68 65 20 73  65 74 74 69 6e 67 73 20  |ng the settings |
00000e60  69 6e 20 74 68 65 20 27  50 72 69 6e 74 20 6f 70  |in the 'Print op|
00000e70  74 69 6f 6e 73 27 20 64  69 61 6c 6f 67 75 65 20  |tions' dialogue |
00000e80  62 6f 78 2e 0a 0a 54 68  65 20 66 69 65 6c 64 20  |box...The field |
00000e90  73 65 70 61 72 61 74 6f  72 20 61 6e 64 20 72 65  |separator and re|
00000ea0  63 6f 72 64 20 74 65 72  6d 69 6e 61 74 6f 72 20  |cord terminator |
00000eb0  6d 61 79 20 62 65 20 63  68 61 6e 67 65 64 20 62  |may be changed b|
00000ec0  79 20 6d 65 61 6e 73 20  6f 66 20 6d 65 6e 75 73  |y means of menus|
00000ed0  0a 77 68 69 63 68 20 61  70 70 65 61 72 20 77 68  |.which appear wh|
00000ee0  65 6e 20 79 6f 75 20 63  6c 69 63 6b 20 6f 6e 20  |en you click on |
00000ef0  74 68 65 20 72 69 67 68  74 2d 70 6f 69 6e 74 69  |the right-pointi|
00000f00  6e 67 20 61 72 72 6f 77  73 2e 20 45 61 63 68 20  |ng arrows. Each |
00000f10  6f 66 20 74 68 65 73 65  0a 6d 65 6e 75 73 20 61  |of these.menus a|
00000f20  6c 73 6f 20 61 6c 6c 6f  77 73 20 79 6f 75 20 74  |lso allows you t|
00000f30  6f 20 64 65 66 69 6e 65  20 79 6f 75 72 20 6f 77  |o define your ow|
00000f40  6e 20 73 65 70 61 72 61  74 6f 72 20 61 6e 64 2f  |n separator and/|
00000f50  6f 72 20 74 65 72 6d 69  6e 61 74 6f 72 20 6f 66  |or terminator of|
00000f60  20 6f 6e 65 0a 6f 72 20  74 77 6f 20 70 72 69 6e  | one.or two prin|
00000f70  74 69 6e 67 20 63 68 61  72 61 63 74 65 72 73 2e  |ting characters.|
00000f80  0a 0a 54 77 6f 20 62 75  74 74 6f 6e 73 20 69 6e  |..Two buttons in|
00000f90  20 74 68 69 73 20 64 69  61 6c 6f 67 75 65 20 62  | this dialogue b|
00000fa0  6f 78 20 68 61 76 65 20  6e 6f 74 20 79 65 74 20  |ox have not yet |
00000fb0  62 65 65 6e 20 72 65 66  65 72 72 65 64 20 74 6f  |been referred to|
00000fc0  2e 20 54 68 65 69 72 0a  66 75 6e 63 74 69 6f 6e  |. Their.function|
00000fd0  20 69 73 20 64 65 73 63  72 69 62 65 64 20 6c 61  | is described la|
00000fe0  74 65 72 20 28 55 73 69  6e 67 20 43 53 56 20 66  |ter (Using CSV f|
00000ff0  69 6c 65 73 20 74 6f 20  69 6d 70 6f 72 74 20 64  |iles to import d|
00001000  61 74 61 29 2e 0a 0a 45  78 70 6f 72 74 20 43 53  |ata)...Export CS|
00001010  56 0a 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 48 61 76  |V.==========.Hav|
00001020  69 6e 67 20 73 65 74 20  75 70 20 79 6f 75 72 20  |ing set up your |
00001030  6f 70 74 69 6f 6e 73 20  61 73 20 64 65 73 63 72  |options as descr|
00001040  69 62 65 64 20 61 62 6f  76 65 2c 20 63 72 65 61  |ibed above, crea|
00001050  74 69 6e 67 20 61 20 43  53 56 20 66 69 6c 65 20  |ting a CSV file |
00001060  69 73 20 76 65 72 79 0a  6c 69 6b 65 20 70 72 69  |is very.like pri|
00001070  6e 74 69 6e 67 20 61 20  6c 69 73 74 20 28 73 65  |nting a list (se|
00001080  65 20 27 50 72 69 6e 74  69 6e 67 27 29 2e 20 46  |e 'Printing'). F|
00001090  69 72 73 74 20 68 69 67  68 6c 69 67 68 74 20 74  |irst highlight t|
000010a0  68 65 20 66 69 65 6c 64  73 20 74 6f 20 62 65 0a  |he fields to be.|
000010b0  65 78 70 6f 72 74 65 64  20 62 79 20 63 6c 69 63  |exported by clic|
000010c0  6b 69 6e 67 20 6f 6e 20  65 61 63 68 20 77 69 74  |king on each wit|
000010d0  68 20 41 44 4a 55 53 54  2e 20 52 65 6d 65 6d 62  |h ADJUST. Rememb|
000010e0  65 72 20 74 68 61 74 20  74 68 65 20 6f 72 64 65  |er that the orde|
000010f0  72 20 69 6e 20 77 68 69  63 68 0a 74 68 65 20 66  |r in which.the f|
00001100  69 65 6c 64 73 20 61 72  65 20 68 69 67 68 6c 69  |ields are highli|
00001110  67 68 74 65 64 20 69 73  20 69 6d 70 6f 72 74 61  |ghted is importa|
00001120  6e 74 2e 20 4e 65 78 74  20 66 6f 6c 6c 6f 77 20  |nt. Next follow |
00001130  74 68 65 20 27 45 78 70  6f 72 74 20 43 53 56 27  |the 'Export CSV'|
00001140  20 6f 70 74 69 6f 6e 0a  74 6f 20 74 68 65 20 64  | option.to the d|
00001150  69 61 6c 6f 67 75 65 20  62 6f 78 20 61 6e 64 20  |ialogue box and |
00001160  74 79 70 65 20 69 6e 20  74 68 65 20 73 65 61 72  |type in the sear|
00001170  63 68 20 66 6f 72 6d 75  6c 61 20 74 6f 20 64 65  |ch formula to de|
00001180  74 65 72 6d 69 6e 65 20  77 68 69 63 68 0a 72 65  |termine which.re|
00001190  63 6f 72 64 73 20 61 72  65 20 65 78 70 6f 72 74  |cords are export|
000011a0  65 64 2e 20 46 69 6e 61  6c 6c 79 2c 20 65 6e 74  |ed. Finally, ent|
000011b0  65 72 20 74 68 65 20 6e  61 6d 65 20 6f 66 20 74  |er the name of t|
000011c0  68 65 20 66 69 6c 65 20  61 6e 64 20 64 72 61 67  |he file and drag|
000011d0  20 74 68 65 20 66 69 6c  65 0a 69 63 6f 6e 20 74  | the file.icon t|
000011e0  6f 20 61 20 66 69 6c 65  72 20 77 69 6e 64 6f 77  |o a filer window|
000011f0  2e 20 54 68 65 20 68 6f  75 72 67 6c 61 73 73 20  |. The hourglass |
00001200  61 70 70 65 61 72 73 20  73 68 6f 77 69 6e 67 20  |appears showing |
00001210  74 68 65 20 70 72 6f 67  72 65 73 73 20 6f 66 20  |the progress of |
00001220  74 68 65 0a 6f 70 65 72  61 74 69 6f 6e 2e 0a 0a  |the.operation...|
00001230  45 78 70 65 72 69 6d 65  6e 74 20 77 69 74 68 20  |Experiment with |
00001240  73 61 76 69 6e 67 20 43  53 56 20 66 69 6c 65 73  |saving CSV files|
00001250  20 77 69 74 68 20 64 69  66 66 65 72 65 6e 74 20  | with different |
00001260  73 65 74 74 69 6e 67 73  20 6f 66 20 74 68 65 20  |settings of the |
00001270  43 53 56 20 6f 70 74 69  6f 6e 73 0a 61 6e 64 20  |CSV options.and |
00001280  74 68 65 6e 20 6c 6f 61  64 69 6e 67 20 74 68 65  |then loading the|
00001290  20 72 65 73 75 6c 74 69  6e 67 20 66 69 6c 65 73  | resulting files|
000012a0  20 69 6e 74 6f 20 45 64  69 74 20 74 6f 20 65 78  | into Edit to ex|
000012b0  61 6d 69 6e 65 20 74 68  65 6d 2e 0a 0a 55 73 69  |amine them...Usi|
000012c0  6e 67 20 43 53 56 20 66  69 6c 65 73 20 74 6f 20  |ng CSV files to |
000012d0  69 6d 70 6f 72 74 20 64  61 74 61 0a 3d 3d 3d 3d  |import data.====|
000012e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000012f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 49 66 20 79 6f  |==========.If yo|
00001300  75 20 64 72 61 67 20 61  20 43 53 56 20 66 69 6c  |u drag a CSV fil|
00001310  65 20 6f 6e 74 6f 20 74  68 65 20 72 65 63 6f 72  |e onto the recor|
00001320  64 20 64 69 73 70 6c 61  79 20 6f 66 20 61 6e 20  |d display of an |
00001330  6f 70 65 6e 20 64 61 74  61 62 61 73 65 20 74 68  |open database th|
00001340  65 0a 6f 70 74 69 6f 6e  73 20 77 69 6e 64 6f 77  |e.options window|
00001350  20 28 73 65 65 20 43 53  56 20 6f 70 74 69 6f 6e  | (see CSV option|
00001360  73 29 20 61 70 70 65 61  72 73 20 77 69 74 68 20  |s) appears with |
00001370  61 20 63 68 61 6e 67 65  64 20 74 69 74 6c 65 20  |a changed title |
00001380  61 6e 64 20 73 6f 6d 65  0a 61 64 64 69 74 69 6f  |and some.additio|
00001390  6e 61 6c 20 69 63 6f 6e  73 2c 20 6f 6e 65 20 6f  |nal icons, one o|
000013a0  66 20 77 68 69 63 68 20  64 69 73 70 6c 61 79 73  |f which displays|
000013b0  20 74 68 65 20 70 61 74  68 6e 61 6d 65 20 6f 66  | the pathname of|
000013c0  20 74 68 65 20 43 53 56  20 66 69 6c 65 2e 20 54  | the CSV file. T|
000013d0  68 65 0a 73 61 6d 65 20  74 68 69 6e 67 20 68 61  |he.same thing ha|
000013e0  70 70 65 6e 73 20 77 69  74 68 20 61 20 73 75 69  |ppens with a sui|
000013f0  74 61 62 6c 79 2d 63 6f  6e 73 74 69 74 75 74 65  |tably-constitute|
00001400  64 20 74 65 78 74 20 66  69 6c 65 20 28 73 65 65  |d text file (see|
00001410  20 61 62 6f 76 65 3a 20  27 48 6f 77 0a 64 6f 65  | above: 'How.doe|
00001420  73 20 50 6f 77 65 72 62  61 73 65 20 75 73 65 20  |s Powerbase use |
00001430  43 53 56 20 66 69 6c 65  73 27 29 2e 20 50 6c 65  |CSV files'). Ple|
00001440  61 73 65 20 6e 6f 74 65  2c 20 68 6f 77 65 76 65  |ase note, howeve|
00001450  72 2c 20 74 68 61 74 20  74 68 65 72 65 20 61 72  |r, that there ar|
00001460  65 20 6f 74 68 65 72 0a  63 69 72 63 75 6d 73 74  |e other.circumst|
00001470  61 6e 63 65 73 20 75 6e  64 65 72 20 77 68 69 63  |ances under whic|
00001480  68 20 61 20 74 65 78 74  20 66 69 6c 65 20 6d 69  |h a text file mi|
00001490  67 68 74 20 62 65 20 64  72 6f 70 70 65 64 20 6f  |ght be dropped o|
000014a0  6e 20 74 68 65 20 72 65  63 6f 72 64 20 77 69 6e  |n the record win|
000014b0  64 6f 77 2e 0a 41 20 70  72 6f 70 65 72 6c 79 2d  |dow..A properly-|
000014c0  77 72 69 74 74 65 6e 20  73 63 72 69 70 74 20 66  |written script f|
000014d0  69 6c 65 20 28 73 65 65  20 27 53 63 72 69 70 74  |ile (see 'Script|
000014e0  46 69 6c 65 27 29 20 77  6f 75 6c 64 20 62 65 20  |File') would be |
000014f0  72 65 63 6f 67 6e 69 73  65 64 20 61 73 0a 73 75  |recognised as.su|
00001500  63 68 2c 20 62 75 74 20  61 20 74 65 78 74 20 66  |ch, but a text f|
00001510  69 6c 65 20 64 72 6f 70  70 65 64 20 6f 6e 74 6f  |ile dropped onto|
00001520  20 74 68 65 20 61 70 70  72 6f 70 72 69 61 74 65  | the appropriate|
00001530  20 74 79 70 65 20 6f 66  20 45 78 74 65 72 6e 61  | type of Externa|
00001540  6c 20 66 69 65 6c 64 0a  28 69 2e 65 2e 20 61 20  |l field.(i.e. a |
00001550  27 54 65 78 74 27 20 6f  72 20 27 54 65 78 74 20  |'Text' or 'Text |
00001560  42 6c 6f 63 6b 27 29 20  66 69 65 6c 64 20 77 6f  |Block') field wo|
00001570  75 6c 64 20 62 65 63 6f  6d 65 20 6c 69 6e 6b 65  |uld become linke|
00001580  64 20 74 6f 20 74 68 61  74 20 66 69 65 6c 64 0a  |d to that field.|
00001590  69 6e 73 74 65 61 64 20  6f 66 20 62 65 69 6e 67  |instead of being|
000015a0  20 74 72 65 61 74 65 64  20 6c 69 6b 65 20 61 20  | treated like a |
000015b0  43 53 56 20 66 69 6c 65  2e 20 49 66 20 79 6f 75  |CSV file. If you|
000015c0  20 61 72 65 20 69 6d 70  6f 72 74 69 6e 67 20 64  | are importing d|
000015d0  61 74 61 20 66 72 6f 6d  20 61 0a 70 6c 61 69 6e  |ata from a.plain|
000015e0  20 74 65 78 74 20 66 69  6c 65 20 61 6e 64 20 79  | text file and y|
000015f0  6f 75 72 20 72 65 63 6f  72 64 20 63 6f 6e 74 61  |our record conta|
00001600  69 6e 73 20 66 69 65 6c  64 73 20 6f 66 20 74 68  |ins fields of th|
00001610  65 20 61 66 6f 72 65 6d  65 6e 74 69 6f 6e 65 64  |e aforementioned|
00001620  20 74 79 70 65 73 0a 62  65 20 73 75 72 65 20 74  | types.be sure t|
00001630  6f 20 64 72 6f 70 20 74  68 65 20 66 69 6c 65 20  |o drop the file |
00001640  6f 6e 20 74 68 65 20 77  69 6e 64 6f 77 20 62 61  |on the window ba|
00001650  63 6b 67 72 6f 75 6e 64  2c 20 6e 6f 74 20 6f 6e  |ckground, not on|
00001660  20 74 68 65 20 65 78 74  65 72 6e 61 6c 0a 66 69  | the external.fi|
00001670  65 6c 64 2e 20 59 6f 75  20 61 72 65 20 73 74 72  |eld. You are str|
00001680  6f 6e 67 6c 79 20 61 64  76 69 73 65 64 20 74 6f  |ongly advised to|
00001690  20 75 73 65 20 70 72 6f  70 65 72 20 43 53 56 20  | use proper CSV |
000016a0  66 69 6c 65 73 20 69 66  20 61 74 20 61 6c 6c 20  |files if at all |
000016b0  70 6f 73 73 69 62 6c 65  2e 0a 0a 54 68 65 72 65  |possible...There|
000016c0  20 69 73 20 61 6e 20 6f  70 74 69 6f 6e 20 74 6f  | is an option to|
000016d0  20 64 69 73 70 6c 61 79  20 65 61 63 68 20 72 65  | display each re|
000016e0  63 6f 72 64 20 61 73 20  69 74 20 69 73 20 69 6d  |cord as it is im|
000016f0  70 6f 72 74 65 64 2e 20  54 68 65 20 70 72 6f 63  |ported. The proc|
00001700  65 73 73 20 69 73 0a 66  61 73 74 65 72 20 77 69  |ess is.faster wi|
00001710  74 68 20 74 68 69 73 20  6f 70 74 69 6f 6e 20 74  |th this option t|
00001720  75 72 6e 65 64 20 6f 66  66 20 62 75 74 20 6d 75  |urned off but mu|
00001730  63 68 20 6c 65 73 73 20  69 6e 66 6f 72 6d 61 74  |ch less informat|
00001740  69 76 65 2e 20 4d 6f 73  74 20 70 65 6f 70 6c 65  |ive. Most people|
00001750  0a 6c 69 6b 65 20 74 6f  20 6b 6e 6f 77 20 68 6f  |.like to know ho|
00001760  77 20 74 68 69 6e 67 73  20 61 72 65 20 70 72 6f  |w things are pro|
00001770  67 72 65 73 73 69 6e 67  2e 20 0a 0a 41 6e 6f 74  |gressing. ..Anot|
00001780  68 65 72 20 6f 70 74 69  6f 6e 20 63 61 75 73 65  |her option cause|
00001790  73 20 61 6e 79 20 74 72  61 69 6c 69 6e 67 20 73  |s any trailing s|
000017a0  70 61 63 65 73 20 69 6e  20 74 68 65 20 69 6d 70  |paces in the imp|
000017b0  6f 72 74 65 64 20 64 61  74 61 2d 66 69 65 6c 64  |orted data-field|
000017c0  73 20 74 6f 20 62 65 0a  73 74 72 69 70 70 65 64  |s to be.stripped|
000017d0  2e 20 53 6f 6d 65 20 64  61 74 61 62 61 73 65 20  |. Some database |
000017e0  70 72 6f 67 72 61 6d 73  20 61 70 70 65 61 72 20  |programs appear |
000017f0  74 6f 20 70 61 64 20 61  6c 6c 20 66 69 65 6c 64  |to pad all field|
00001800  73 20 74 6f 20 74 68 65  69 72 20 6d 61 78 69 6d  |s to their maxim|
00001810  75 6d 0a 6c 65 6e 67 74  68 20 62 79 20 61 64 64  |um.length by add|
00001820  69 6e 67 20 73 70 61 63  65 73 20 74 6f 20 74 68  |ing spaces to th|
00001830  65 20 65 6e 64 20 6f 66  20 74 68 65 20 64 61 74  |e end of the dat|
00001840  61 20 77 68 65 72 65 20  6e 65 63 65 73 73 61 72  |a where necessar|
00001850  79 2e 20 49 66 20 74 68  65 0a 70 72 6f 67 72 61  |y. If the.progra|
00001860  6d 20 64 6f 65 73 6e 27  74 20 61 6c 6c 6f 77 20  |m doesn't allow |
00001870  79 6f 75 20 74 6f 20 67  65 74 20 72 69 64 20 6f  |you to get rid o|
00001880  66 20 74 68 65 73 65 20  73 70 61 63 65 73 20 77  |f these spaces w|
00001890  68 65 6e 20 65 78 70 6f  72 74 69 6e 67 20 64 61  |hen exporting da|
000018a0  74 61 20 69 6e 0a 43 53  56 20 66 6f 72 6d 61 74  |ta in.CSV format|
000018b0  20 74 68 65 79 20 63 61  6e 20 62 65 20 61 20 6e  | they can be a n|
000018c0  75 69 73 61 6e 63 65 20  77 68 65 6e 20 74 68 65  |uisance when the|
000018d0  20 66 69 6c 65 20 69 73  20 69 6d 70 6f 72 74 65  | file is importe|
000018e0  64 20 69 6e 74 6f 20 50  6f 77 65 72 62 61 73 65  |d into Powerbase|
000018f0  2e 0a 51 75 65 72 69 65  73 2c 20 66 6f 72 20 69  |..Queries, for i|
00001900  6e 73 74 61 6e 63 65 2c  20 6d 61 79 20 6e 6f 74  |nstance, may not|
00001910  20 77 6f 72 6b 20 70 72  6f 70 65 72 6c 79 20 75  | work properly u|
00001920  6e 6c 65 73 73 20 79 6f  75 20 75 73 65 20 74 68  |nless you use th|
00001930  65 20 22 63 6f 6e 74 61  69 6e 73 22 0a 63 6f 6d  |e "contains".com|
00001940  70 61 72 61 74 6f 72 20  28 7b 29 20 72 61 74 68  |parator ({) rath|
00001950  65 72 20 74 68 61 6e 20  22 65 71 75 61 6c 73 22  |er than "equals"|
00001960  2e 20 59 6f 75 20 63 61  6e 20 65 61 73 69 6c 79  |. You can easily|
00001970  20 72 65 63 6f 67 6e 69  73 65 20 74 68 69 73 20  | recognise this |
00001980  73 69 74 75 61 74 69 6f  6e 0a 73 69 6e 63 65 20  |situation.since |
00001990  74 68 65 20 63 61 72 65  74 20 77 69 6c 6c 20 61  |the caret will a|
000019a0  6c 77 61 79 73 20 62 65  20 61 74 20 74 68 65 20  |lways be at the |
000019b0  66 61 72 20 72 69 67 68  74 20 6f 66 20 74 68 65  |far right of the|
000019c0  20 66 69 65 6c 64 20 65  76 65 6e 20 74 68 6f 75  | field even thou|
000019d0  67 68 20 74 68 65 0a 76  69 73 69 62 6c 65 20 63  |gh the.visible c|
000019e0  68 61 72 61 63 74 65 72  73 20 6e 6f 77 68 65 72  |haracters nowher|
000019f0  65 20 6e 65 61 72 20 66  69 6c 6c 20 74 68 65 20  |e near fill the |
00001a00  66 69 65 6c 64 2e 20 53  65 74 74 69 6e 67 20 74  |field. Setting t|
00001a10  68 65 20 22 53 74 72 69  70 20 73 70 61 63 65 73  |he "Strip spaces|
00001a20  22 0a 73 77 69 74 63 68  20 62 65 66 6f 72 65 20  |".switch before |
00001a30  69 6d 70 6f 72 74 69 6e  67 20 74 68 65 20 66 69  |importing the fi|
00001a40  6c 65 20 6f 76 65 72 63  6f 6d 65 73 20 74 68 65  |le overcomes the|
00001a50  20 70 72 6f 62 6c 65 6d  2e 0a 0a 43 6c 69 63 6b  | problem...Click|
00001a60  69 6e 67 20 6f 6e 20 27  47 4f 27 20 77 69 6c 6c  |ing on 'GO' will|
00001a70  20 6d 61 6b 65 20 50 6f  77 65 72 62 61 73 65 20  | make Powerbase |
00001a80  74 72 79 20 74 6f 20 63  72 65 61 74 65 20 6e 65  |try to create ne|
00001a90  77 20 50 6f 77 65 72 62  61 73 65 20 72 65 63 6f  |w Powerbase reco|
00001aa0  72 64 73 0a 66 72 6f 6d  20 74 68 65 20 64 61 74  |rds.from the dat|
00001ab0  61 2e 20 49 66 20 79 6f  75 20 64 65 63 69 64 65  |a. If you decide|
00001ac0  20 6e 6f 74 20 74 6f 20  64 6f 20 74 68 69 73 20  | not to do this |
00001ad0  79 6f 75 20 73 68 6f 75  6c 64 20 63 6c 69 63 6b  |you should click|
00001ae0  20 6f 6e 20 27 43 61 6e  63 65 6c 27 2e 20 49 66  | on 'Cancel'. If|
00001af0  0a 79 6f 75 20 64 6f 20  77 69 73 68 20 74 6f 20  |.you do wish to |
00001b00  69 6d 70 6f 72 74 20 74  68 65 20 64 61 74 61 20  |import the data |
00001b10  74 68 65 72 65 20 61 72  65 20 73 6f 6d 65 20 69  |there are some i|
00001b20  6d 70 6f 72 74 61 6e 74  20 70 6f 69 6e 74 73 20  |mportant points |
00001b30  74 6f 20 63 6f 6e 73 69  64 65 72 3a 2d 0a 0a 28  |to consider:-..(|
00001b40  31 29 20 54 68 65 20 6f  70 74 69 6f 6e 73 20 6e  |1) The options n|
00001b50  65 65 64 20 74 6f 20 62  65 20 63 6f 72 72 65 63  |eed to be correc|
00001b60  74 6c 79 20 73 65 74 20  75 70 2e 20 54 68 69 73  |tly set up. This|
00001b70  20 6d 65 61 6e 73 20 74  68 61 74 20 69 66 20 74  | means that if t|
00001b80  68 65 20 43 53 56 20 66  69 6c 65 0a 6f 72 69 67  |he CSV file.orig|
00001b90  69 6e 61 6c 6c 79 20 63  61 6d 65 20 66 72 6f 6d  |inally came from|
00001ba0  20 61 20 50 6f 77 65 72  62 61 73 65 20 61 70 70  | a Powerbase app|
00001bb0  6c 69 63 61 74 69 6f 6e  20 74 68 65 20 73 65 74  |lication the set|
00001bc0  74 69 6e 67 73 20 69 6e  20 74 68 65 20 6f 70 74  |tings in the opt|
00001bd0  69 6f 6e 73 0a 77 69 6e  64 6f 77 20 73 68 6f 75  |ions.window shou|
00001be0  6c 64 20 62 65 20 65 78  61 63 74 6c 79 20 74 68  |ld be exactly th|
00001bf0  65 20 73 61 6d 65 20 61  73 20 74 68 65 79 20 77  |e same as they w|
00001c00  65 72 65 20 77 68 65 6e  20 74 68 65 20 66 69 6c  |ere when the fil|
00001c10  65 20 77 61 73 20 65 78  70 6f 72 74 65 64 2e 0a  |e was exported..|
00001c20  54 68 65 20 65 78 63 65  70 74 69 6f 6e 20 74 6f  |The exception to|
00001c30  20 74 68 69 73 20 69 73  20 74 68 65 20 27 51 75  | this is the 'Qu|
00001c40  6f 74 65 73 27 20 62 75  74 74 6f 6e 20 77 68 69  |otes' button whi|
00001c50  63 68 20 69 73 20 67 72  65 79 65 64 20 6f 75 74  |ch is greyed out|
00001c60  20 6f 6e 20 69 6d 70 6f  72 74 0a 62 65 63 61 75  | on import.becau|
00001c70  73 65 20 50 6f 77 65 72  62 61 73 65 20 64 6f 65  |se Powerbase doe|
00001c80  73 6e 27 74 20 6e 65 65  64 20 69 74 2e 20 49 66  |sn't need it. If|
00001c90  20 74 68 65 20 43 53 56  20 66 69 6c 65 20 63 61  | the CSV file ca|
00001ca0  6d 65 20 66 72 6f 6d 20  61 20 50 43 20 6f 72 20  |me from a PC or |
00001cb0  61 6e 6f 74 68 65 72 0a  52 49 53 43 20 4f 53 20  |another.RISC OS |
00001cc0  61 70 70 6c 69 63 61 74  69 6f 6e 20 79 6f 75 20  |application you |
00001cd0  6d 69 67 68 74 20 68 61  76 65 20 74 6f 20 6c 6f  |might have to lo|
00001ce0  61 64 20 69 74 20 69 6e  74 6f 20 45 64 69 74 20  |ad it into Edit |
00001cf0  74 6f 20 66 69 6e 64 20  6f 75 74 20 77 68 61 74  |to find out what|
00001d00  0a 73 65 70 61 72 61 74  6f 72 20 61 6e 64 20 74  |.separator and t|
00001d10  65 72 6d 69 6e 61 74 6f  72 20 61 72 65 20 75 73  |erminator are us|
00001d20  65 64 2c 20 77 68 65 74  68 65 72 20 69 74 20 75  |ed, whether it u|
00001d30  73 65 73 20 71 75 6f 74  65 73 20 65 74 63 2e 0a  |ses quotes etc..|
00001d40  0a 28 32 29 20 57 69 6c  6c 20 74 68 65 20 64 61  |.(2) Will the da|
00001d50  74 61 20 62 65 20 72 65  61 64 20 69 6e 74 6f 20  |ta be read into |
00001d60  74 68 65 20 63 6f 72 72  65 63 74 20 50 6f 77 65  |the correct Powe|
00001d70  72 62 61 73 65 20 66 69  65 6c 64 73 3f 20 49 66  |rbase fields? If|
00001d80  20 6e 6f 20 66 69 65 6c  64 73 20 6f 6e 0a 74 68  | no fields on.th|
00001d90  65 20 72 65 63 6f 72 64  20 73 63 72 65 65 6e 20  |e record screen |
00001da0  61 72 65 20 68 69 67 68  6c 69 67 68 74 65 64 20  |are highlighted |
00001db0  28 69 2e 65 2e 20 77 69  74 68 20 41 44 4a 55 53  |(i.e. with ADJUS|
00001dc0  54 29 20 61 6e 64 20 74  68 65 20 43 53 56 20 66  |T) and the CSV f|
00001dd0  69 6c 65 20 64 6f 65 73  0a 6e 6f 74 20 63 6f 6e  |ile does.not con|
00001de0  74 61 69 6e 20 61 20 68  65 61 64 65 72 20 72 65  |tain a header re|
00001df0  63 6f 72 64 20 74 68 65  6e 20 74 68 65 20 61 6e  |cord then the an|
00001e00  73 77 65 72 20 69 73 20  61 73 20 66 6f 6c 6c 6f  |swer is as follo|
00001e10  77 73 3a 2d 0a 0a 20 20  20 20 20 20 20 20 28 61  |ws:-..        (a|
00001e20  29 20 54 68 65 20 66 69  72 73 74 20 43 53 56 20  |) The first CSV |
00001e30  66 69 65 6c 64 20 77 69  6c 6c 20 62 65 20 72 65  |field will be re|
00001e40  61 64 20 69 6e 74 6f 20  74 68 65 20 66 69 72 73  |ad into the firs|
00001e50  74 20 57 52 49 54 41 42  4c 45 0a 20 20 20 20 20  |t WRITABLE.     |
00001e60  20 20 20 50 6f 77 65 72  62 61 73 65 20 66 69 65  |   Powerbase fie|
00001e70  6c 64 20 6f 72 20 43 68  65 63 6b 20 62 6f 78 20  |ld or Check box |
00001e80  66 69 65 6c 64 2e 20 4e  6f 6e 2d 77 72 69 74 61  |field. Non-writa|
00001e90  62 6c 65 20 66 69 65 6c  64 73 20 73 75 63 68 20  |ble fields such |
00001ea0  61 73 0a 20 20 20 20 20  20 20 20 54 65 78 74 20  |as.        Text |
00001eb0  62 6c 6f 63 6b 73 2c 20  50 69 63 74 75 72 65 73  |blocks, Pictures|
00001ec0  2c 20 42 75 74 74 6f 6e  73 20 6f 72 20 66 69 65  |, Buttons or fie|
00001ed0  6c 64 73 20 77 68 69 63  68 20 61 72 65 20 6d 65  |lds which are me|
00001ee0  72 65 6c 79 20 6c 61 62  65 6c 73 0a 20 20 20 20  |rely labels.    |
00001ef0  20 20 20 20 77 69 6c 6c  20 62 65 20 69 67 6e 6f  |    will be igno|
00001f00  72 65 64 2e 20 54 68 65  20 6e 65 78 74 20 43 53  |red. The next CS|
00001f10  56 20 66 69 65 6c 64 20  77 69 6c 6c 20 62 65 20  |V field will be |
00001f20  72 65 61 64 20 69 6e 74  6f 20 74 68 65 20 73 65  |read into the se|
00001f30  63 6f 6e 64 0a 20 20 20  20 20 20 20 20 50 6f 77  |cond.        Pow|
00001f40  65 72 62 61 73 65 20 66  69 65 6c 64 20 61 6e 64  |erbase field and|
00001f50  20 73 6f 20 6f 6e 2e 0a  0a 20 20 20 20 20 20 20  | so on...       |
00001f60  20 28 62 29 20 49 66 20  74 68 65 20 65 6e 64 20  | (b) If the end |
00001f70  6f 66 20 74 68 65 20 43  53 56 20 72 65 63 6f 72  |of the CSV recor|
00001f80  64 20 69 73 20 72 65 61  63 68 65 64 20 62 65 66  |d is reached bef|
00001f90  6f 72 65 20 61 6c 6c 20  74 68 65 20 77 72 69 74  |ore all the writ|
00001fa0  61 62 6c 65 0a 20 20 20  20 20 20 20 20 66 69 65  |able.        fie|
00001fb0  6c 64 73 20 68 61 76 65  20 62 65 65 6e 20 66 69  |lds have been fi|
00001fc0  6c 6c 65 64 20 74 68 65  6e 20 74 68 65 20 6e 65  |lled then the ne|
00001fd0  78 74 20 43 53 56 20 72  65 63 6f 72 64 20 77 69  |xt CSV record wi|
00001fe0  6c 6c 20 73 74 61 72 74  20 61 20 6e 65 77 0a 20  |ll start a new. |
00001ff0  20 20 20 20 20 20 20 50  6f 77 65 72 62 61 73 65  |       Powerbase|
00002000  20 72 65 63 6f 72 64 2c  20 69 2e 65 2e 20 74 68  | record, i.e. th|
00002010  65 20 72 65 61 64 69 6e  67 20 77 6f 6e 27 74 20  |e reading won't |
00002020  67 65 74 20 6f 75 74 20  6f 66 20 73 74 65 70 2e  |get out of step.|
00002030  20 49 74 20 64 6f 65 73  20 6e 6f 74 0a 20 20 20  | It does not.   |
00002040  20 20 20 20 20 6d 61 74  74 65 72 2c 20 74 68 65  |     matter, the|
00002050  72 65 66 6f 72 65 2c 20  69 66 20 74 68 65 20 43  |refore, if the C|
00002060  53 56 20 66 69 6c 65 20  6f 6d 69 74 73 20 6e 75  |SV file omits nu|
00002070  6c 6c 20 69 74 65 6d 73  2e 0a 0a 20 20 20 20 20  |ll items...     |
00002080  20 20 20 28 63 29 20 49  66 20 61 6c 6c 20 77 72  |   (c) If all wr|
00002090  69 74 61 62 6c 65 20 66  69 65 6c 64 73 20 61 72  |itable fields ar|
000020a0  65 20 66 69 6c 6c 65 64  20 69 6e 20 62 65 66 6f  |e filled in befo|
000020b0  72 65 20 72 65 61 63 68  69 6e 67 20 74 68 65 20  |re reaching the |
000020c0  65 6e 64 20 6f 66 0a 20  20 20 20 20 20 20 20 74  |end of.        t|
000020d0  68 65 20 43 53 56 20 72  65 63 6f 72 64 20 50 6f  |he CSV record Po|
000020e0  77 65 72 62 61 73 65 20  69 67 6e 6f 72 65 73 20  |werbase ignores |
000020f0  74 68 65 20 72 65 6d 61  69 6e 64 65 72 20 6f 66  |the remainder of|
00002100  20 74 68 65 20 6c 61 74  74 65 72 20 61 6e 64 0a  | the latter and.|
00002110  20 20 20 20 20 20 20 20  73 6b 69 70 73 20 74 6f  |        skips to|
00002120  20 74 68 65 20 62 65 67  69 6e 6e 69 6e 67 20 6f  | the beginning o|
00002130  66 20 74 68 65 20 6e 65  78 74 20 43 53 56 20 72  |f the next CSV r|
00002140  65 63 6f 72 64 20 62 65  66 6f 72 65 20 73 74 61  |ecord before sta|
00002150  72 74 69 6e 67 20 61 20  6e 65 77 0a 20 20 20 20  |rting a new.    |
00002160  20 20 20 20 50 6f 77 65  72 62 61 73 65 20 72 65  |    Powerbase re|
00002170  63 6f 72 64 2e 20 54 68  69 73 20 69 73 20 61 6c  |cord. This is al|
00002180  73 6f 20 74 6f 20 6b 65  65 70 20 74 68 65 20 6f  |so to keep the o|
00002190  70 65 72 61 74 69 6f 6e  20 69 6e 20 73 74 65 70  |peration in step|
000021a0  2e 0a 0a 54 68 65 72 65  20 77 69 6c 6c 20 62 65  |...There will be|
000021b0  20 6f 63 63 61 73 69 6f  6e 73 20 77 68 65 6e 20  | occasions when |
000021c0  79 6f 75 20 64 6f 6e 27  74 20 77 61 6e 74 20 74  |you don't want t|
000021d0  6f 20 66 69 6c 6c 20 74  68 65 20 50 6f 77 65 72  |o fill the Power|
000021e0  62 61 73 65 20 66 69 65  6c 64 73 0a 73 65 71 75  |base fields.sequ|
000021f0  65 6e 74 69 61 6c 6c 79  20 61 73 20 6a 75 73 74  |entially as just|
00002200  20 64 65 73 63 72 69 62  65 64 2e 20 54 68 65 72  | described. Ther|
00002210  65 20 61 72 65 20 74 77  6f 20 77 61 79 73 20 6f  |e are two ways o|
00002220  66 20 6d 61 6b 69 6e 67  20 74 68 65 20 70 72 6f  |f making the pro|
00002230  63 65 73 73 0a 6d 6f 72  65 20 73 70 65 63 69 66  |cess.more specif|
00002240  69 63 3a 2d 0a 0a 20 20  20 20 20 20 20 20 28 61  |ic:-..        (a|
00002250  29 20 49 66 20 79 6f 75  20 68 69 67 68 6c 69 67  |) If you highlig|
00002260  68 74 20 50 6f 77 65 72  62 61 73 65 20 66 69 65  |ht Powerbase fie|
00002270  6c 64 73 20 77 69 74 68  20 41 44 4a 55 53 54 20  |lds with ADJUST |
00002280  62 65 66 6f 72 65 20 73  74 61 72 74 69 6e 67 20  |before starting |
00002290  74 68 65 0a 20 20 20 20  20 20 20 20 69 6d 70 6f  |the.        impo|
000022a0  72 74 20 74 68 65 20 64  61 74 61 20 77 69 6c 6c  |rt the data will|
000022b0  20 62 65 20 72 65 61 64  20 6f 6e 6c 79 20 69 6e  | be read only in|
000022c0  74 6f 20 74 68 65 20 68  69 67 68 6c 69 67 68 74  |to the highlight|
000022d0  65 64 20 66 69 65 6c 64  73 2e 20 54 68 65 0a 20  |ed fields. The. |
000022e0  20 20 20 20 20 20 20 6f  72 64 65 72 20 69 6e 20  |       order in |
000022f0  77 68 69 63 68 20 74 68  65 20 66 69 65 6c 64 73  |which the fields|
00002300  20 61 72 65 20 66 69 6c  6c 65 64 20 69 73 20 74  | are filled is t|
00002310  68 65 20 6f 72 64 65 72  20 69 6e 20 77 68 69 63  |he order in whic|
00002320  68 20 79 6f 75 0a 20 20  20 20 20 20 20 20 68 69  |h you.        hi|
00002330  67 68 6c 69 67 68 74 65  64 20 74 68 65 6d 2e 20  |ghlighted them. |
00002340  50 61 72 61 67 72 61 70  68 73 20 28 62 29 20 61  |Paragraphs (b) a|
00002350  6e 64 20 28 63 29 20 61  62 6f 76 65 20 61 70 70  |nd (c) above app|
00002360  6c 79 20 69 6e 20 63 61  73 65 73 20 77 68 65 72  |ly in cases wher|
00002370  65 0a 20 20 20 20 20 20  20 20 74 68 65 20 43 53  |e.        the CS|
00002380  56 20 72 65 63 6f 72 64  20 68 61 73 20 6d 6f 72  |V record has mor|
00002390  65 20 6f 72 20 66 65 77  65 72 20 66 69 65 6c 64  |e or fewer field|
000023a0  73 20 74 68 61 6e 20 61  72 65 20 68 69 67 68 6c  |s than are highl|
000023b0  69 67 68 74 65 64 20 6f  6e 20 74 68 65 0a 20 20  |ighted on the.  |
000023c0  20 20 20 20 20 20 50 6f  77 65 72 62 61 73 65 20  |      Powerbase |
000023d0  72 65 63 6f 72 64 2e 20  49 6e 20 6f 74 68 65 72  |record. In other|
000023e0  20 77 6f 72 64 73 20 74  68 65 20 6f 70 65 72 61  | words the opera|
000023f0  74 69 6f 6e 20 70 72 6f  63 65 65 64 73 20 61 73  |tion proceeds as|
00002400  20 69 66 20 74 68 65 0a  20 20 20 20 20 20 20 20  | if the.        |
00002410  68 69 67 68 6c 69 67 68  74 65 64 20 66 69 65 6c  |highlighted fiel|
00002420  64 73 20 77 65 72 65 20  74 68 65 20 6f 6e 6c 79  |ds were the only|
00002430  20 6f 6e 65 73 20 69 6e  20 74 68 65 20 72 65 63  | ones in the rec|
00002440  6f 72 64 20 61 6e 64 20  61 73 20 69 66 20 74 68  |ord and as if th|
00002450  65 79 0a 20 20 20 20 20  20 20 20 61 63 74 75 61  |ey.        actua|
00002460  6c 6c 79 20 6f 63 63 75  72 72 65 64 20 69 6e 20  |lly occurred in |
00002470  74 68 65 20 6f 72 64 65  72 20 69 6e 20 77 68 69  |the order in whi|
00002480  63 68 20 74 68 65 79 20  77 65 72 65 20 68 69 67  |ch they were hig|
00002490  68 6c 69 67 68 74 65 64  2e 0a 0a 20 20 20 20 20  |hlighted...     |
000024a0  20 20 20 28 62 29 20 49  66 20 74 68 65 20 43 53  |   (b) If the CS|
000024b0  56 20 66 69 6c 65 20 68  61 73 20 61 20 68 65 61  |V file has a hea|
000024c0  64 65 72 20 77 68 69 63  68 20 63 6f 6e 74 61 69  |der which contai|
000024d0  6e 73 20 74 68 65 20 74  61 67 73 20 6f 72 0a 20  |ns the tags or. |
000024e0  20 20 20 20 20 20 20 64  65 73 63 72 69 70 74 6f  |       descripto|
000024f0  72 73 20 6f 66 20 66 69  65 6c 64 73 20 69 6e 20  |rs of fields in |
00002500  74 68 65 20 50 6f 77 65  72 62 61 73 65 20 72 65  |the Powerbase re|
00002510  63 6f 72 64 20 74 68 65  6e 20 74 68 65 20 69 6d  |cord then the im|
00002520  70 6f 72 74 20 62 65 68  61 76 65 73 0a 20 20 20  |port behaves.   |
00002530  20 20 20 20 20 65 78 61  63 74 6c 79 20 61 73 20  |     exactly as |
00002540  69 66 20 74 68 6f 73 65  20 66 69 65 6c 64 73 20  |if those fields |
00002550  77 65 72 65 20 68 69 67  68 6c 69 67 68 74 65 64  |were highlighted|
00002560  2e 20 54 68 65 20 27 50  72 69 6e 74 20 6f 70 74  |. The 'Print opt|
00002570  69 6f 6e 73 27 0a 20 20  20 20 20 20 20 20 64 69  |ions'.        di|
00002580  61 6c 6f 67 75 65 20 62  6f 78 20 6d 75 73 74 20  |alogue box must |
00002590  63 6f 72 72 65 63 74 6c  79 20 72 65 66 6c 65 63  |correctly reflec|
000025a0  74 20 77 68 65 74 68 65  72 20 74 68 65 20 74 61  |t whether the ta|
000025b0  67 73 20 6f 72 20 64 65  73 63 72 69 70 74 6f 72  |gs or descriptor|
000025c0  73 0a 20 20 20 20 20 20  20 20 6f 66 20 66 69 65  |s.        of fie|
000025d0  6c 64 73 20 61 72 65 20  75 73 65 64 2e 20 4e 6f  |lds are used. No|
000025e0  74 65 20 74 68 61 74 20  79 6f 75 20 73 68 6f 75  |te that you shou|
000025f0  6c 64 20 6e 6f 74 20 75  73 65 20 62 6f 74 68 20  |ld not use both |
00002600  61 20 68 65 61 64 65 72  20 41 4e 44 0a 20 20 20  |a header AND.   |
00002610  20 20 20 20 20 68 69 67  68 6c 69 67 68 74 69 6e  |     highlightin|
00002620  67 2e 20 4e 6f 74 65 20  61 6c 73 6f 20 74 68 61  |g. Note also tha|
00002630  74 20 74 68 65 72 65 20  69 73 20 6e 6f 74 68 69  |t there is nothi|
00002640  6e 67 20 74 6f 20 70 72  65 76 65 6e 74 20 79 6f  |ng to prevent yo|
00002650  75 20 61 64 64 69 6e 67  0a 20 20 20 20 20 20 20  |u adding.       |
00002660  20 61 20 68 65 61 64 65  72 20 6d 61 6e 75 61 6c  | a header manual|
00002670  6c 79 20 74 6f 20 61 20  43 53 56 20 66 69 6c 65  |ly to a CSV file|
00002680  20 77 68 69 63 68 20 64  69 64 20 6e 6f 74 20 6f  | which did not o|
00002690  72 69 67 69 6e 61 74 65  20 66 72 6f 6d 20 61 0a  |riginate from a.|
000026a0  20 20 20 20 20 20 20 20  50 6f 77 65 72 62 61 73  |        Powerbas|
000026b0  65 20 61 70 70 6c 69 63  61 74 69 6f 6e 2e 0a 0a  |e application...|
000026c0  57 68 61 74 20 69 66 20  74 68 65 20 64 61 74 61  |What if the data|
000026d0  20 77 6f 6e 27 74 20 66  69 74 3f 0a 3d 3d 3d 3d  | won't fit?.====|
000026e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000026f0  3d 3d 3d 3d 3d 3d 3d 0a  54 68 69 73 20 69 73 20  |=======.This is |
00002700  72 65 61 6c 6c 79 20 74  77 6f 20 71 75 65 73 74  |really two quest|
00002710  69 6f 6e 73 2e 20 49 66  20 74 68 65 20 64 61 74  |ions. If the dat|
00002720  61 62 61 73 65 20 64 6f  65 73 6e 27 74 20 63 6f  |abase doesn't co|
00002730  6e 74 61 69 6e 20 65 6e  6f 75 67 68 20 66 72 65  |ntain enough fre|
00002740  65 0a 72 65 63 6f 72 64  73 20 74 6f 20 68 6f 6c  |e.records to hol|
00002750  64 20 61 6c 6c 20 74 68  65 20 69 6d 70 6f 72 74  |d all the import|
00002760  65 64 20 43 53 56 20 64  61 74 61 20 79 6f 75 20  |ed CSV data you |
00002770  6d 61 79 20 67 65 74 20  61 20 22 44 61 74 61 62  |may get a "Datab|
00002780  61 73 65 20 66 75 6c 6c  20 77 68 65 6e 0a 72 65  |ase full when.re|
00002790  61 64 69 6e 67 20 43 53  56 20 66 69 6c 65 22 20  |ading CSV file" |
000027a0  65 72 72 6f 72 2e 20 54  68 65 72 65 20 61 72 65  |error. There are|
000027b0  20 74 77 6f 20 77 61 79  73 20 6f 66 20 61 76 6f  | two ways of avo|
000027c0  69 64 69 6e 67 20 74 68  69 73 2e 20 54 68 65 20  |iding this. The |
000027d0  6f 62 76 69 6f 75 73 0a  6f 6e 65 20 69 73 20 74  |obvious.one is t|
000027e0  6f 20 6d 61 6b 65 20 73  75 72 65 20 74 68 65 20  |o make sure the |
000027f0  64 61 74 61 62 61 73 65  20 69 73 20 62 69 67 20  |database is big |
00002800  65 6e 6f 75 67 68 20 62  65 66 6f 72 65 20 79 6f  |enough before yo|
00002810  75 20 73 74 61 72 74 2e  20 49 66 20 69 74 20 69  |u start. If it i|
00002820  73 6e 27 74 0a 79 6f 75  20 63 61 6e 20 65 78 70  |sn't.you can exp|
00002830  61 6e 64 20 69 74 20 76  69 61 20 74 68 65 20 27  |and it via the '|
00002840  43 68 61 6e 67 65 20 6c  65 6e 67 74 68 27 20 64  |Change length' d|
00002850  69 61 6c 6f 67 75 65 20  62 6f 78 20 61 63 63 65  |ialogue box acce|
00002860  73 73 69 62 6c 65 20 66  72 6f 6d 20 74 68 65 0a  |ssible from the.|
00002870  27 55 74 69 6c 69 74 69  65 73 27 20 73 75 62 6d  |'Utilities' subm|
00002880  65 6e 75 20 6f 6e 20 74  68 65 20 69 63 6f 6e 20  |enu on the icon |
00002890  62 61 72 20 6d 65 6e 75  2e 20 54 68 61 74 20 64  |bar menu. That d|
000028a0  69 61 6c 6f 67 75 65 20  62 6f 78 20 61 6c 73 6f  |ialogue box also|
000028b0  20 68 61 73 20 61 6e 0a  27 49 6e 63 72 65 6d 65  | has an.'Increme|
000028c0  6e 74 20 66 6f 72 20 65  78 70 61 6e 73 69 6f 6e  |nt for expansion|
000028d0  27 20 77 68 69 63 68 2c  20 69 66 20 67 72 65 61  |' which, if grea|
000028e0  74 65 72 20 74 68 61 6e  20 7a 65 72 6f 2c 20 63  |ter than zero, c|
000028f0  61 75 73 65 73 20 74 68  65 20 64 61 74 61 62 61  |auses the databa|
00002900  73 65 0a 74 6f 20 65 78  70 61 6e 64 20 61 75 74  |se.to expand aut|
00002910  6f 6d 61 74 69 63 61 6c  6c 79 20 77 68 65 6e 65  |omatically whene|
00002920  76 65 72 20 69 74 20 62  65 63 6f 6d 65 73 20 66  |ver it becomes f|
00002930  75 6c 6c 2e 20 4f 6e 6c  79 20 69 66 20 74 68 65  |ull. Only if the|
00002940  20 64 61 74 61 62 61 73  65 0a 62 65 63 6f 6d 65  | database.become|
00002950  73 20 66 75 6c 6c 20 77  68 65 6e 20 74 68 65 20  |s full when the |
00002960  69 6e 63 72 65 6d 65 6e  74 20 69 73 20 73 65 74  |increment is set|
00002970  20 74 6f 20 7a 65 72 6f  20 73 68 6f 75 6c 64 20  | to zero should |
00002980  74 68 65 20 61 66 6f 72  65 6d 65 6e 74 69 6f 6e  |the aforemention|
00002990  65 64 0a 65 72 72 6f 72  20 6f 63 63 75 72 2e 0a  |ed.error occur..|
000029a0  0a 54 68 65 20 73 65 63  6f 6e 64 20 73 65 6e 73  |.The second sens|
000029b0  65 20 69 6e 20 77 68 69  63 68 20 64 61 74 61 20  |e in which data |
000029c0  6d 69 67 68 74 20 6e 6f  74 20 66 69 74 20 69 73  |might not fit is|
000029d0  20 69 66 20 61 6e 20 69  74 65 6d 20 6f 66 20 64  | if an item of d|
000029e0  61 74 61 20 69 73 20 74  6f 6f 0a 6c 6f 6e 67 20  |ata is too.long |
000029f0  66 6f 72 20 74 68 65 20  64 61 74 61 62 61 73 65  |for the database|
00002a00  20 66 69 65 6c 64 20 69  6e 74 6f 20 77 68 69 63  | field into whic|
00002a10  68 20 79 6f 75 20 61 72  65 20 74 72 79 69 6e 67  |h you are trying|
00002a20  20 74 6f 20 69 6d 70 6f  72 74 20 69 74 2e 20 57  | to import it. W|
00002a30  68 65 6e 20 61 0a 43 53  56 20 66 69 6c 65 20 69  |hen a.CSV file i|
00002a40  73 20 62 65 69 6e 67 20  72 65 61 64 20 50 6f 77  |s being read Pow|
00002a50  65 72 62 61 73 65 20 6d  61 69 6e 74 61 69 6e 73  |erbase maintains|
00002a60  20 61 20 66 69 6c 65 20  63 61 6c 6c 65 64 20 27  | a file called '|
00002a70  54 6f 6f 42 69 67 27 20  69 6e 73 69 64 65 20 74  |TooBig' inside t|
00002a80  68 65 0a 64 61 74 61 62  61 73 65 27 73 20 27 50  |he.database's 'P|
00002a90  72 69 6e 74 4a 6f 62 73  27 20 64 69 72 65 63 74  |rintJobs' direct|
00002aa0  6f 72 79 2e 20 41 6e 79  74 68 69 6e 67 20 72 65  |ory. Anything re|
00002ab0  61 64 20 66 72 6f 6d 20  74 68 65 20 43 53 56 20  |ad from the CSV |
00002ac0  66 69 6c 65 20 77 68 69  63 68 0a 77 6f 6e 27 74  |file which.won't|
00002ad0  20 66 69 74 20 69 6e 20  74 68 65 20 74 61 72 67  | fit in the targ|
00002ae0  65 74 20 66 69 65 6c 64  20 69 73 20 77 72 69 74  |et field is writ|
00002af0  74 65 6e 20 74 6f 20 74  68 69 73 20 66 69 6c 65  |ten to this file|
00002b00  20 74 6f 67 65 74 68 65  72 20 77 69 74 68 0a 69  | together with.i|
00002b10  6e 66 6f 72 6d 61 74 69  6f 6e 20 61 62 6f 75 74  |nformation about|
00002b20  20 77 68 65 72 65 20 69  74 20 77 61 73 20 69 6e  | where it was in|
00002b30  74 65 6e 64 65 64 20 74  6f 20 67 6f 2e 20 4e 6f  |tended to go. No|
00002b40  20 77 72 69 74 61 62 6c  65 20 50 6f 77 65 72 62  | writable Powerb|
00002b50  61 73 65 20 66 69 65 6c  64 0a 6d 61 79 20 62 65  |ase field.may be|
00002b60  20 6c 6f 6e 67 65 72 20  74 68 61 6e 20 32 34 36  | longer than 246|
00002b70  20 63 68 61 72 61 63 74  65 72 73 20 61 6e 64 20  | characters and |
00002b80  69 66 20 61 6e 20 69 74  65 6d 20 6f 66 20 69 6d  |if an item of im|
00002b90  70 6f 72 74 65 64 20 64  61 74 61 20 65 78 63 65  |ported data exce|
00002ba0  65 64 73 0a 74 68 69 73  20 61 20 6e 6f 74 65 20  |eds.this a note |
00002bb0  77 69 6c 6c 20 62 65 20  6d 61 64 65 20 69 6e 20  |will be made in |
00002bc0  74 68 65 20 27 54 6f 6f  42 69 67 27 20 66 69 6c  |the 'TooBig' fil|
00002bd0  65 20 61 64 76 69 73 69  6e 67 20 79 6f 75 20 74  |e advising you t|
00002be0  6f 20 64 65 66 69 6e 65  20 61 6e 0a 45 78 74 65  |o define an.Exte|
00002bf0  72 6e 61 6c 20 66 69 65  6c 64 20 28 54 65 78 74  |rnal field (Text|
00002c00  20 42 6c 6f 63 6b 20 6f  72 20 54 65 78 74 29 20  | Block or Text) |
00002c10  66 6f 72 20 73 75 63 68  20 64 61 74 61 2e 0a 0a  |for such data...|
00002c20  41 64 76 61 6e 63 65 64  20 66 65 61 74 75 72 65  |Advanced feature|
00002c30  73 20 6f 66 20 43 53 56  20 69 6d 70 6f 72 74 0a  |s of CSV import.|
00002c40  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002c50  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
00002c60  57 68 65 6e 20 79 6f 75  20 69 6d 70 6f 72 74 20  |When you import |
00002c70  61 20 43 53 56 20 66 69  6c 65 20 61 20 6e 65 77  |a CSV file a new|
00002c80  20 50 6f 77 65 72 62 61  73 65 20 72 65 63 6f 72  | Powerbase recor|
00002c90  64 20 69 73 20 6e 6f 72  6d 61 6c 6c 79 20 63 72  |d is normally cr|
00002ca0  65 61 74 65 64 20 74 6f  0a 61 63 63 6f 6d 6d 6f  |eated to.accommo|
00002cb0  64 61 74 65 20 65 61 63  68 20 43 53 56 20 72 65  |date each CSV re|
00002cc0  63 6f 72 64 20 72 65 61  64 20 66 72 6f 6d 20 74  |cord read from t|
00002cd0  68 65 20 66 69 6c 65 2e  20 59 6f 75 20 6d 61 79  |he file. You may|
00002ce0  20 61 6c 73 6f 2c 20 73  75 62 6a 65 63 74 20 74  | also, subject t|
00002cf0  6f 0a 63 65 72 74 61 69  6e 20 72 65 73 74 72 69  |o.certain restri|
00002d00  63 74 69 6f 6e 73 2c 20  75 73 65 20 61 20 43 53  |ctions, use a CS|
00002d10  56 20 66 69 6c 65 20 74  6f 20 65 6e 74 65 72 20  |V file to enter |
00002d20  64 61 74 61 20 69 6e 74  6f 20 45 58 49 53 54 49  |data into EXISTI|
00002d30  4e 47 20 50 6f 77 65 72  62 61 73 65 0a 72 65 63  |NG Powerbase.rec|
00002d40  6f 72 64 73 2e 20 0a 0a  54 68 65 20 43 53 56 20  |ords. ..The CSV |
00002d50  6f 70 74 69 6f 6e 73 20  77 69 6e 64 6f 77 20 63  |options window c|
00002d60  6f 6e 74 61 69 6e 73 20  61 20 62 75 74 74 6f 6e  |ontains a button|
00002d70  20 77 68 69 63 68 2c 20  69 66 20 73 65 6c 65 63  | which, if selec|
00002d80  74 65 64 2c 20 63 61 75  73 65 73 20 65 61 63 68  |ted, causes each|
00002d90  0a 72 65 63 6f 72 64 20  6f 66 20 61 20 73 61 76  |.record of a sav|
00002da0  65 64 20 43 53 56 20 66  69 6c 65 20 74 6f 20 69  |ed CSV file to i|
00002db0  6e 63 6c 75 64 65 20 74  68 65 20 70 72 69 6d 61  |nclude the prima|
00002dc0  72 79 20 6b 65 79 20 6f  66 20 74 68 65 20 50 6f  |ry key of the Po|
00002dd0  77 65 72 62 61 73 65 0a  72 65 63 6f 72 64 2e 20  |werbase.record. |
00002de0  54 68 65 20 6b 65 79 20  69 73 20 70 6c 61 63 65  |The key is place|
00002df0  64 20 61 74 20 74 68 65  20 62 65 67 69 6e 6e 69  |d at the beginni|
00002e00  6e 67 20 6f 66 20 74 68  65 20 72 65 63 6f 72 64  |ng of the record|
00002e10  2e 20 54 72 79 20 63 72  65 61 74 69 6e 67 20 43  |. Try creating C|
00002e20  53 56 0a 66 69 6c 65 73  20 77 69 74 68 20 61 6e  |SV.files with an|
00002e30  64 20 77 69 74 68 6f 75  74 20 74 68 69 73 20 6f  |d without this o|
00002e40  70 74 69 6f 6e 20 73 65  74 20 61 6e 64 20 63 6f  |ption set and co|
00002e50  6d 70 61 72 65 20 74 68  65 20 66 69 6c 65 73 20  |mpare the files |
00002e60  75 73 69 6e 67 20 45 64  69 74 2e 20 49 66 0a 61  |using Edit. If.a|
00002e70  20 66 69 6c 65 20 63 6f  6e 74 61 69 6e 69 6e 67  | file containing|
00002e80  20 70 72 69 6d 61 72 79  20 6b 65 79 73 20 69 73  | primary keys is|
00002e90  20 64 72 61 67 67 65 64  20 69 6e 74 6f 20 61 20  | dragged into a |
00002ea0  50 6f 77 65 72 62 61 73  65 20 72 65 63 6f 72 64  |Powerbase record|
00002eb0  20 77 69 6e 64 6f 77 0a  50 6f 77 65 72 62 61 73  | window.Powerbas|
00002ec0  65 20 77 69 6c 6c 20 61  74 74 65 6d 70 74 20 74  |e will attempt t|
00002ed0  6f 20 6c 6f 63 61 74 65  20 74 68 65 20 72 65 63  |o locate the rec|
00002ee0  6f 72 64 73 20 77 69 74  68 20 74 68 65 20 73 61  |ords with the sa|
00002ef0  6d 65 20 70 72 69 6d 61  72 79 20 6b 65 79 73 20  |me primary keys |
00002f00  61 73 0a 74 68 65 20 72  65 63 6f 72 64 73 20 69  |as.the records i|
00002f10  6e 20 74 68 65 20 43 53  56 20 66 69 6c 65 2e 20  |n the CSV file. |
00002f20  49 66 20 74 68 65 20 6b  65 79 20 69 73 20 6e 6f  |If the key is no|
00002f30  74 20 66 6f 75 6e 64 20  74 68 65 20 43 53 56 20  |t found the CSV |
00002f40  72 65 63 6f 72 64 20 69  73 0a 73 69 6d 70 6c 79  |record is.simply|
00002f50  20 69 67 6e 6f 72 65 64  2e 20 49 66 20 69 74 20  | ignored. If it |
00002f60  69 73 20 66 6f 75 6e 64  20 74 68 65 6e 20 74 68  |is found then th|
00002f70  65 20 43 53 56 20 64 61  74 61 20 67 6f 65 73 20  |e CSV data goes |
00002f80  69 6e 74 6f 20 74 68 65  20 73 61 6d 65 20 72 65  |into the same re|
00002f90  63 6f 72 64 2c 0a 6f 76  65 72 77 72 69 74 69 6e  |cord,.overwritin|
00002fa0  67 20 61 6e 79 20 64 61  74 61 20 77 68 69 63 68  |g any data which|
00002fb0  20 74 68 65 20 74 61 72  67 65 74 20 66 69 65 6c  | the target fiel|
00002fc0  64 73 20 61 6c 72 65 61  64 79 20 63 6f 6e 74 61  |ds already conta|
00002fd0  69 6e 2e 0a 0a 54 68 65  20 6f 70 65 72 61 74 69  |in...The operati|
00002fe0  6f 6e 20 64 65 73 63 72  69 62 65 64 20 6e 65 65  |on described nee|
00002ff0  64 73 20 75 73 69 6e 67  20 77 69 74 68 20 63 61  |ds using with ca|
00003000  72 65 2e 20 49 74 20 69  73 20 6f 6e 6c 79 20 72  |re. It is only r|
00003010  65 61 6c 6c 79 20 75 73  65 66 75 6c 20 66 6f 72  |eally useful for|
00003020  0a 74 72 61 6e 73 66 65  72 72 69 6e 67 20 64 61  |.transferring da|
00003030  74 61 20 62 65 74 77 65  65 6e 20 50 6f 77 65 72  |ta between Power|
00003040  62 61 73 65 20 64 61 74  61 62 61 73 65 73 20 77  |base databases w|
00003050  68 69 63 68 20 68 61 76  65 20 74 68 65 20 73 61  |hich have the sa|
00003060  6d 65 20 70 72 69 6d 61  72 79 0a 6b 65 79 20 66  |me primary.key f|
00003070  69 65 6c 64 2e 20 49 74  20 63 61 6e 20 61 6c 73  |ield. It can als|
00003080  6f 20 6c 65 61 64 20 74  6f 20 74 72 6f 75 62 6c  |o lead to troubl|
00003090  65 20 69 66 20 74 68 65  20 70 72 69 6d 61 72 79  |e if the primary|
000030a0  20 6b 65 79 20 69 73 6e  27 74 20 75 6e 69 71 75  | key isn't uniqu|
000030b0  65 2c 0a 73 69 6e 63 65  20 74 68 65 20 72 65 63  |e,.since the rec|
000030c0  6f 72 64 20 6c 6f 63 61  74 65 64 20 62 79 20 50  |ord located by P|
000030d0  6f 77 65 72 62 61 73 65  20 61 6e 64 20 69 6e 74  |owerbase and int|
000030e0  6f 20 77 68 69 63 68 20  74 68 65 20 43 53 56 20  |o which the CSV |
000030f0  64 61 74 61 20 69 73 20  72 65 61 64 0a 6d 69 67  |data is read.mig|
00003100  68 74 20 6e 6f 74 20 62  65 20 74 68 65 20 63 6f  |ht not be the co|
00003110  72 72 65 63 74 20 6f 6e  65 2e 20 59 6f 75 20 68  |rrect one. You h|
00003120  61 76 65 20 62 65 65 6e  20 77 61 72 6e 65 64 21  |ave been warned!|
00003130  0a 0a 46 69 6e 61 6c 6c  79 2c 20 74 68 65 72 65  |..Finally, there|
00003140  20 69 73 20 6f 6e 65 20  6f 70 74 69 6f 6e 20 62  | is one option b|
00003150  75 74 74 6f 6e 20 69 6e  20 74 68 65 20 43 53 56  |utton in the CSV|
00003160  20 6f 70 74 69 6f 6e 73  20 77 69 6e 64 6f 77 20  | options window |
00003170  77 68 69 63 68 20 6f 6e  6c 79 0a 62 65 63 6f 6d  |which only.becom|
00003180  65 73 20 61 63 74 69 76  65 20 77 68 65 6e 20 74  |es active when t|
00003190  68 65 20 27 48 65 61 64  65 72 27 20 62 75 74 74  |he 'Header' butt|
000031a0  6f 6e 20 69 73 20 73 65  6c 65 63 74 65 64 2e 20  |on is selected. |
000031b0  54 68 69 73 20 69 73 20  63 61 6c 6c 65 64 20 27  |This is called '|
000031c0  57 69 74 68 0a 66 69 65  6c 64 20 64 61 74 61 27  |With.field data'|
000031d0  2e 20 57 68 65 6e 20 73  65 6c 65 63 74 65 64 20  |. When selected |
000031e0  74 68 65 20 68 65 61 64  65 72 20 6f 66 20 61 20  |the header of a |
000031f0  73 61 76 65 64 20 43 53  56 20 66 69 6c 65 20 63  |saved CSV file c|
00003200  6f 6e 74 61 69 6e 73 20  6e 6f 74 20 6f 6e 6c 79  |ontains not only|
00003210  0a 74 68 65 20 66 69 65  6c 64 20 6e 61 6d 65 73  |.the field names|
00003220  20 62 75 74 20 61 6c 73  6f 20 74 68 65 20 66 69  | but also the fi|
00003230  65 6c 64 20 6c 65 6e 67  74 68 73 20 61 6e 64 20  |eld lengths and |
00003240  74 79 70 65 73 2e 20 41  67 61 69 6e 20 69 74 20  |types. Again it |
00003250  69 73 20 73 75 67 67 65  73 74 65 64 0a 74 68 61  |is suggested.tha|
00003260  74 20 79 6f 75 20 63 72  65 61 74 65 20 73 75 63  |t you create suc|
00003270  68 20 61 20 66 69 6c 65  20 61 6e 64 20 6c 6f 6f  |h a file and loo|
00003280  6b 20 61 74 20 69 74 20  69 6e 20 45 64 69 74 2e  |k at it in Edit.|
00003290  20 45 61 63 68 20 69 74  65 6d 20 69 6e 20 74 68  | Each item in th|
000032a0  65 20 68 65 61 64 65 72  0a 62 65 67 69 6e 73 20  |e header.begins |
000032b0  77 69 74 68 20 61 20 6e  75 6d 62 65 72 2e 20 54  |with a number. T|
000032c0  68 69 73 20 69 73 20 74  68 65 20 64 65 66 69 6e  |his is the defin|
000032d0  65 64 20 66 69 65 6c 64  20 6c 65 6e 67 74 68 20  |ed field length |
000032e0  69 6e 20 63 68 61 72 61  63 74 65 72 73 2c 20 69  |in characters, i|
000032f0  2e 65 2e 0a 74 68 65 20  6d 61 78 69 6d 75 6d 20  |.e..the maximum |
00003300  61 6c 6c 6f 77 65 64 20  6c 65 6e 67 74 68 20 69  |allowed length i|
00003310  6e 20 74 68 65 20 50 6f  77 65 72 62 61 73 65 20  |n the Powerbase |
00003320  72 65 63 6f 72 64 20 66  69 65 6c 64 2e 20 4e 65  |record field. Ne|
00003330  78 74 20 63 6f 6d 65 73  20 61 20 a4 0a 63 68 61  |xt comes a ..cha|
00003340  72 61 63 74 65 72 20 77  68 69 63 68 20 73 65 70  |racter which sep|
00003350  61 72 61 74 65 73 20 74  68 65 20 6c 65 6e 67 74  |arates the lengt|
00003360  68 20 66 72 6f 6d 20 74  68 65 20 66 69 65 6c 64  |h from the field|
00003370  20 6e 61 6d 65 2e 20 41  6e 6f 74 68 65 72 20 a4  | name. Another .|
00003380  0a 73 65 70 61 72 61 74  65 73 20 74 68 65 20 66  |.separates the f|
00003390  69 65 6c 64 20 6e 61 6d  65 20 66 72 6f 6d 20 74  |ield name from t|
000033a0  68 65 20 63 6f 6e 63 6c  75 64 69 6e 67 20 6e 75  |he concluding nu|
000033b0  6d 62 65 72 20 77 68 69  63 68 20 69 73 20 74 68  |mber which is th|
000033c0  65 20 66 69 65 6c 64 20  74 79 70 65 2e 0a 28 54  |e field type..(T|
000033d0  68 65 20 74 79 70 65 20  6e 75 6d 62 65 72 73 20  |he type numbers |
000033e0  6d 61 79 20 62 65 20 69  6e 73 70 65 63 74 65 64  |may be inspected|
000033f0  20 62 79 20 6c 6f 6f 6b  69 6e 67 20 61 74 20 74  | by looking at t|
00003400  68 65 20 27 56 61 6c 53  74 72 69 6e 67 73 27 20  |he 'ValStrings' |
00003410  66 69 6c 65 20 69 6e 0a  74 68 65 20 50 6f 77 65  |file in.the Powe|
00003420  72 62 61 73 65 20 64 69  72 65 63 74 6f 72 79 2e  |rbase directory.|
00003430  29 0a 0a 41 20 66 69 6c  65 20 63 72 65 61 74 65  |)..A file create|
00003440  64 20 69 6e 20 74 68 69  73 20 66 6f 72 6d 20 69  |d in this form i|
00003450  73 20 4e 4f 54 20 6d 65  61 6e 74 20 74 6f 20 62  |s NOT meant to b|
00003460  65 20 64 72 6f 70 70 65  64 20 6f 6e 20 74 68 65  |e dropped on the|
00003470  20 77 69 6e 64 6f 77 20  6f 66 20 61 6e 0a 6f 70  | window of an.op|
00003480  65 6e 20 64 61 74 61 62  61 73 65 2e 20 49 74 20  |en database. It |
00003490  73 68 6f 75 6c 64 20 62  65 20 64 72 6f 70 70 65  |should be droppe|
000034a0  64 20 6f 6e 20 74 68 65  20 50 6f 77 65 72 62 61  |d on the Powerba|
000034b0  73 65 20 69 63 6f 6e 20  6f 6e 20 74 68 65 20 69  |se icon on the i|
000034c0  63 6f 6e 20 62 61 72 0a  77 68 65 6e 20 6e 6f 20  |con bar.when no |
000034d0  64 61 74 61 62 61 73 65  20 69 73 20 6f 70 65 6e  |database is open|
000034e0  2e 20 50 6f 77 65 72 62  61 73 65 20 77 69 6c 6c  |. Powerbase will|
000034f0  20 61 74 74 65 6d 70 74  20 74 6f 20 63 6f 6e 76  | attempt to conv|
00003500  65 72 74 20 74 68 65 20  66 69 6c 65 20 69 6e 74  |ert the file int|
00003510  6f 20 61 0a 66 75 6e 63  74 69 6f 6e 69 6e 67 20  |o a.functioning |
00003520  64 61 74 61 62 61 73 65  2e 20 41 6c 6c 20 74 68  |database. All th|
00003530  65 20 66 69 65 6c 64 73  20 77 69 6c 6c 20 62 65  |e fields will be|
00003540  20 72 61 6e 67 65 64 20  6f 6e 20 74 68 65 20 6c  | ranged on the l|
00003550  65 66 74 20 6f 66 20 74  68 65 0a 72 65 63 6f 72  |eft of the.recor|
00003560  64 20 77 69 6e 64 6f 77  2c 20 6f 6e 65 20 62 65  |d window, one be|
00003570  6e 65 61 74 68 20 61 6e  6f 74 68 65 72 20 61 6e  |neath another an|
00003580  64 20 74 68 65 20 70 72  69 6d 61 72 79 20 6b 65  |d the primary ke|
00003590  79 20 77 69 6c 6c 20 63  6f 6e 73 69 73 74 20 6f  |y will consist o|
000035a0  66 20 74 68 65 0a 66 69  72 73 74 20 66 6f 75 72  |f the.first four|
000035b0  20 63 68 61 72 61 63 74  65 72 73 20 6f 66 20 74  | characters of t|
000035c0  68 65 20 66 69 72 73 74  20 66 69 65 6c 64 2e 20  |he first field. |
000035d0  44 6f 6e 27 74 20 74 72  79 20 74 6f 20 63 72 65  |Don't try to cre|
000035e0  61 74 65 20 64 61 74 61  62 61 73 65 73 0a 63 6f  |ate databases.co|
000035f0  6e 74 61 69 6e 69 6e 67  20 43 68 65 63 6b 20 62  |ntaining Check b|
00003600  6f 78 2c 20 42 75 74 74  6f 6e 20 6f 72 20 45 78  |ox, Button or Ex|
00003610  74 65 72 6e 61 6c 20 66  69 65 6c 64 73 20 75 73  |ternal fields us|
00003620  69 6e 67 20 74 68 69 73  20 6d 65 74 68 6f 64 3b  |ing this method;|
00003630  20 69 74 27 73 20 6f 6e  6c 79 0a 6d 65 61 6e 74  | it's only.meant|
00003640  20 66 6f 72 20 74 68 65  20 6d 6f 73 74 20 62 61  | for the most ba|
00003650  73 69 63 20 74 79 70 65  20 6f 66 20 64 61 74 61  |sic type of data|
00003660  62 61 73 65 2e 20 0a 0a  0a 20 20 20 20 20 20 0a  |base. ...      .|
00003670  0a 0a                                             |..|
00003672