Datastore Database For The Amiga Version 1.1 for AMIGA COMPUTERS Digita International (c) Copyright Digita International Limited, 1995. All Rights Reserved. Datastore was written by T Titchmarsh. Datastore book written by: J Blake and D Petitt. Designed and typeset by: A J Lambert and J Blake. First published in 1995. Second Edition. Copying software is theft by any interpretation of the law. Except for the personal use of the purchaser only, it is illegal to copy Datastore. No part of this book may be reproduced without permission. DIGITA INTERNATIONAL LIMITED OR ASSOCIATED COMPANIES MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. Further, Digita International reserves the right to revise this publication and to make changes from time to time in the content hereof without obligation of Digita International to notify any person of such revision or changes. Digita International cannot be held responsible for any loss of data due to the use of Datastore. All Rights Reserved. This product is sold subject to the company's Standard Terms and Conditions of Sale and may not be lent or re-sold. No part of this program may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without the prior written permission of Digita International Limited. No liability shall attach to the authors, or Digita International Limited, or any associated companies for loss or damage of any nature suffered as a result of reliance on any of the contents of this program or any errors or omissions in its contents. Digita International Limited reserves the right to change the style and specification of all products illustrated in this book and reserves the right not to accept orders where it feels necessary. Digita(r), the Digita(r) logo, Wordworth(r), and the Wordworth(r) logo are registered trademarks, and Datastore, HIP(tm), Human Interface Protocol(tm) and DigiSense(tm) and Auto-Date(tm) are trademarks of Digita Holdings Ltd. Amiga(r) and the Amiga(r) logo are registered trademarks, and Amigados(tm), Kickstart(tm), Intuition(tm) and Workbench(tm) are trademarks of ESCOM AG, Burgstraße 27-31, 44867 Bochum/Germany. All other trademarks and their owners are acknowledged. LHA decompression software was written by Stefan Boberg copyright 1991, 92. Printed in England. Welcome to Datastore Machine Requirements 4 What is a Database? 5 How to Use This Book Mouse Pointer Commands 7 Mouse Pointer Shapes 7 How to Get Help Using Datastore's On-line Help System 8 Product Support And Registration 8 Preparing to Use Datastore What You Should Already Know 9 Make Backups 9 Installing Datastore Floppy Disk Users 10 Hard Disk Users 10 Starting Datastore 12 Tutorial 1 - Your First Steps 1.1 What's on The Screen 13 1.2 Creating a Database 14 1.3 Getting Help 14 Tutorial 2 - Creating a Simple Address Book 2.1 Creating Fields 16 2.2 Saving Your Database 18 2.3 Changing The Format of a Field 19 2.4 Creating a Title 20 2.5 Using a Simple Address Book 21 2.6 Inserting Some Addresses 21 2.7 Browsing The Records 22 2.8 Sorting Records 23 2.9 Finding a Record 24 2.10 Using Reports to View The Database 24 2.11 Quitting Datastore 26 Tutorial 3 - Advanced Features 3.1 Changing a Record Design 27 3.2 Saving The Database Using a Different Name 29 3.3 Creating New Fields 29 3.4 Validating Field Entries 33 3.5 Viewing Sets of Records 35 3.6 Using a Query 37 3.7 Using Reports 37 3.8 Applying a Query to a Report 38 3.9 Protecting The Database 39 3.10 Using Librarian 40 3.11 EasyStart Templates 40 3.12 Creating a New Datastore File From a Subset of Records 41 Using Datastore With Other Programs Importing 42 Exporting 43 Terms And Conditions of Sale 44 Welcome to Datastore. It is important to return your registration card (postage is prepaid) so that we can keep you informed as upgrades become available. We invite you to send us your comments about Datastore and ideas for new features that you would like to see in the future. This instruction book contains tutorials about Datastore. More detailed information is provided by the AmigaGuide Help system. To view the help, just press the Help key once you have started Datastore. Machine Requirements To use Datastore, this is the minimum Amiga configuration you'll need: n An Amiga A1200. n One or more floppy disk drives, or hard disk drive. The number of fields and the number of records you can create with Datastore is limited only by the amount of available memory fitted to your Amiga and the amount of free disk space. A database is a software program which lets you store and organise information on a computer. The main advantage is that once added, the information can be easily accessed and manipulated. To use a database like Datastore effectively, it is important to understand some of the basic computer terminology: NAME MEANS File This is the container which holds the data (information). In a file, the data is divided into sections, or records. Record This is one section of the file (usually one page). A record is divided into elements, or fields. Field This is an element (usually one line) within the record. For example, in the people database below, the file contains all of the people (the book), one record contains one person (one page), and each field contains one part of the person's details (there are two fields in this example, Name and Age). With Datastore, you can easily open, save and close any number of files from the Project menu. When you open a file, the first record appears on the screen and you scroll through the other records using the "Record Browser" palette (the icons work like the controls on a VCR). You can see that the data is divided into fields. To add new records you use the "Insert Record" command (Record menu), or click the Insert icon on the "Record Browser" palette. A new record appears on the screen with empty fields, ready for you to type new data. To change a file (for example, to add new fields or alter the appearance of the record), or if you want to create a new file, use the "Change Design" command (Edit menu). A range of commands become available (Design menu) and the "Design Tools" palette appears. You can freely create, alter, re-size or remove fields, and create other items such as boxes and pictures. When you have finished, use the "Edit Records" command (Edit menu) to switch off the design tools and return to the database. The best way to learn Datastore quickly is by following the Tutorials Sections. The tutorials centre on specific features of Datastore, relevant to the task required. However, before you start reading any more, it is important to understand typographic conventions used in this book: CONVENTION MEANS Italics type Indicates words or characters you type. For example, "type mydata in the File text gadget". They are also used to indicate program or disk names. For example, "use the Install program, which is on your DSInstall disk". n Square-bulleted lists provide information. Shortcut keys Right Amiga-S, for example, is a combination keypress. This means hold down the Right Amiga key and press the S key. Then release both keys. Selection button The left mouse button on the mouse. Used to click, double-click and drag items with the pointer. Menu button The right mouse button on the mouse. Used to reveal the menu bar and choose menu commands with the pointer. Insertion point (z) Square block which indicates the current editing position in a field. Mouse Pointer Commands Point Position the pointer on an item. Click Point to an item, and then quickly press and release the Selection button. Double-click Point to an item, and then quickly press and release the Selection button twice. Drag Point to an item. Press and hold the Selection button as you move the mouse to a new location. Then, release the mouse button. Mouse Pointer Shapes WHEN DOES I-beam pointer in field Type into a field. Arrow pointer in menu bar, Choose from menus (with the Menu inactive window, scroll bar, Mouse button depressed). Click buttons toolbar or ruler on the toolbar and requesters. Select and move fields and shapes. ; Cross hair along sides and Create and size items. corners of frames and shapes 2-way pointer along sides Re-size items. ÷ and corners of frames and shapes Using Datastore's On-line Help System Any time you want information about a command or option, you can ask Datastore for help. Press the menu button (Right Mouse button) and move the arrow pointer over the menu command with which you want help. With the command highlighted (and the menu button still depressed), press the Help key on the keyboard (floppy disk users may be prompted to insert another disk). You can also ask Datastore for help by pressing the Help key. Product Support And Registration When you choose Digita, you're getting more than just a great product, you're getting a company committed to providing the best possible customer service and support for your product. We want you to get the most from your Digita software. As a registered user, we'll help you get it. If you have any question about Datastore, first look in this book, or consult Datastore's on-line help system. If you cannot find the answer, contact Digita: n For technical support call 0891 616 944. This is available to registered Datastore users from 11AM until 5PM. Calls are charged at 36p per minute cheap rate and 48p per minute at all other times. Be sure to ask permission of the telephone owner before calling. n Enclosing a stamped self-addressed padded envelope, write to Digita Technical Support Division, Black Horse House, Exmouth EX8 1JL ENGLAND, or fax 01 395 268 893. n Mail Digita on CIX-mailbox digita@cix. There is one open conference, digita, and a closed conference for registered users, digita.tech. n Mail Digita on Internet-mailbox support@digita.demon.co.uk. n Mail Digita on Compuserve-mailbox 100031, 3032. n For general enquiries only, call 01 395 270 273. Before contacting technical support, check the Troubleshooting Section in the Datastore on-line help system (Help menu). Important Under no circumstances can we provide either telephone or written product support to unregistered users. What You Should Already Know To set up Datastore on your Amiga, you need an understanding of basic Amiga concepts. Before you begin, you should know how to: n Use icons on the Amiga Workbench. n Use the mouse to point, drag, click and double-click. n Start and quit applications using Workbench. n Initialize (format) and copy disks using the Shell and Workbench. n Open, copy, and delete Amiga files and disks from Workbench. n Select menus, pull down menus and choose commands. n Scroll in windows, and re-size and re-position windows. n Use requesters and requester gadgets (more information is contained in the Datastore on-line help). If you are not familiar with these terms or processes, see your Amiga owner's guide. Make Backups You have been provided with one master disk. It's important to work with a copy of your Datastore disk rather than the original. If a copy is damaged or lost, you can go back to the original and make another copy. step 1 Make backup copies of your master disk. Before copying the master disks, slide up the small tab (if it exists) in the upper-left corner on the back of each disk so that it is in the uppermost position (the tab will no longer be visible from the front side of the disk). This locks information on the disk, preventing accidental deletion of files and documents. step 2 Now copy each disk as follows. Switch on your Amiga and insert the disk titled Workbench. Double-click the Workbench disk icon, double-click the System drawer, and then double-click the Shell icon. Type Sys:System/diskcopy from df0: to df0: and press the Return key (be sure to type zero, not the letter O). step 3 Now place the original master disk in the internal disk drive and when prompted, press the Return key. Follow the on-screen instructions. Important If you make backups from Workbench be sure to rename the backup disks removing copy_of_ and make sure there are no hidden spaces contained in the disk titles. You need to install Datastore once before you can use it. Once Datastore has been successfully installed, you do not need to repeat the process. Floppy Disk Users You need to have the following items before you can begin: n A backup copy of your Datastore master disk (to make a backup copy, follow the procedures outlined in section "Preparing to Use Datastore"). n Two blank floppy disks onto which Datastore will be installed. Throughout this procedure you will be prompted to change disks as necessary (for example, Insert volume Datastore in any drive). step 1 Switch on your Amiga and insert the disk titled DSInstall. step 2 When the Workbench screen appears, double-click the DSInstall disk icon, and then double-click the Install Datastore icon. step 3 Before the installation begins, you will be asked to specify your knowledge of the Amiga: Novice A basic installation is automatically performed for you. From time-to-time the installer may ask you to insert other disks. Intermediate and Expert A basic installation is automatically performed for you. Occasionally, you may be asked to make certain choices that will affect the installation. Click Proceed to start the installation and follow the on-screen instructions. step 4 When prompted, select the radio button titled "On Floppy Disks" and then click the Proceed button to start the installation process. Installing onto floppy disk may take some time as the installer needs to create two disks for you to use. Important If you get a message to insert a disk which is already in the drive, then the disk is incorrectly titled and needs renaming. A message will appear to confirm that the installation has been successfully completed. Now reset your Amiga with the disk titled Datastore in the internal drive and refer to the section "Starting Datastore". Hard Disk Users You will need a minimum of 2MB of disk space to install Datastore to hard disk. This installation copies Datastore into a drawer titled Datastore on your hard disk. Within this drawer, the installer will copy the Datastore files, a selection of Datastore EasyStart Templates, icons, and the Datastore help files. step 1 Switch on your computer and wait for the Workbench screen to appear as normal. step 2 When the Workbench appears, insert the disk titled DSInstall. Double-click the disk icon and then double-click the icon titled Install Datastore. step 3 Before the installation begins, you will be asked to specify your knowledge of the Amiga: Novice A basic installation is automatically performed for you. From time-to-time the installer may ask you to insert appropriate disks. Intermediate A basic installation is automatically performed for you. Occasionally, you may be asked to make certain choices that will affect the installation. Expert You will be asked to make certain choices that will affect the installation. Click Proceed to start the installation and follow the on-screen instructions. step 4 When prompted, select the radio button titled "On A Hard Disk" and then click the Proceed button to start the installation. step 5 Novice users only-the installer will install Datastore onto your hard disk. At the end of the installation, you will be told where the Datastore drawer containing the Datastore program is situated. (On most hard disks, this will be the partition titled Work. However, if a partition of this name does not exist, the installer will make an informed guess.) A message will appear to confirm that the installation has been successfully completed. Now reset your Amiga as usual (ensuring that no Datastore disks are in the internal drive) and refer to the section "Starting Datastore". Intermediate or Expert users-the installer will ask you to select the destination for Datastore (where you wish the Datastore program and files to be located on your hard disk). Insert the appropriate disks as requested. You will also need about 25K disk space in your System partition for Datastore fonts and other files. Important If you get a message to insert a disk which is already in the drive, then the disk is incorrectly titled and needs renaming. A message will appear to confirm that the installation has been successfully completed. Now reset your Amiga as usual (ensuring that no Datastore disks are in the internal drive) and refer to the section "Starting Datastore". Floppy Disk Users Insert the disk titled Datastore into the internal disk drive and switch on your Amiga. Important Be sure to use the Datastore disk, not your DSInstall disk or the Amiga Workbench disk. To start Datastore, double-click the Datastore disk icon and then double-click the Datastore program icon (you may be prompted to swap disks, this is normal as Datastore searches for files located on other disks). Hard Disk Users Double-click the Datastore icon located in the Datastore drawer on your hard disk. Personalising Datastore The first time you start Datastore, you will be prompted to type: n Your name. n The name of your organisation. (If this is not applicable, type your name again.) n Your licence number (this appears on your registration card). Click OK. You must type information in all three boxes. Important Don't forget to return the prepaid registration card. Only registered Datastore users receive technical support and special upgrade discounts. Once you have personalised the program, your name and details will appear every time you start Datastore, confirming that you are a licenced user. If you do not personalise Datastore correctly, you will be returned to the Workbench screen. This tutorial assumes you have: n Successfully installed Datastore. n Personalised your copy of Datastore. n Double-clicked the READ.ME document (which if it exists, will be on the disk titled DSInstall). n Started Datastore by double-clicking the icon titled Datastore. 1.1 What's on The Screen Close Gadget: Closes the database file (window). Title Bar: This shows the program name, version number and copyright owner. Window Zoom: Toggles between maximum and minimum window size. Depth Gadget: This gadget moves the front screen backwards. Scroll Bars And Scroll Arrows: The scroll bars are displayed on the right and across the bottom of the database window. The scale of the box within the scroll bar is directly proportional to the length and width of the record. You can move about the record by dragging the solid box, clicking each side of the box, or using the scroll arrows. Sizing Gadget: Drag this gadget to re-size the window. Working Record Area: This is shown by the white area on a blue background and represents the record area on which you create your database record. Design Tools: A floating palette of icons used for creating elements on your record. Toolbar: The toolbar is a group of icons to the left of the page. It allows you to select various commands just by clicking the icon (each icon is explained on the rear of this operating book). Status Bar: Displays information about the current mode of operation. During lengthy operations, Datastore will display messages here about its progress. Menu Bar: The menu bar is shown by pressing and holding the menu button (Right Mouse button). It appears in place of the title bar as long as the menu button is depressed. To choose a command from a menu, press and hold the menu button, and then move the arrow pointer over the menu you want (Project menu, for example). The full command list will then pop-down, and with the menu button still depressed, move the arrow pointer down the list until it's over the command you want. Then, release the menu button to choose that command (Save, for example). 1.2 Creating a Database When you start Datastore, the record window appears, "untitled", and you are placed in Design mode. Before you can start adding information (using the "Edit Records" command, Edit menu), you have to create at least one field in the record. 1.3 Getting Help Any time you want information about a command or option, you can ask Datastore for help. Choose the menu command you want help with, but before releasing the mouse button, press the Help key (floppy disk users may be prompted to insert the appropriate disk). You can also ask Datastore for help by pressing the Help key. The Buttons Contents: Click to reveal help contents list. Index:This option is permanently unavailable. Help: Click to display help about how to use the on-line AmigaGuide help system (this button may be dimmed on some versions of Workbench). Retrace: Steps backwards through the help topics previously selected. Browse <:Steps to the previous section of the topic. Browse >:Steps to the next section of the topic. Each help topic has further cross references, which are accessed by clicking their button in the text. The Help window can be re-sized and moved like any other. Click the close gadget to close the Help window. (As AmigaGuide menus vary depending on the version of Workbench they are not documented in this book.) Datastore Requesters For help on how to use the requesters and gadgets in Datastore, use the AmigaGuide on-line help system. Choose Contents (Help menu), click the "Datastore Basics" button, and then click the button titled "How To Use Datastore Requesters". When you start Datastore, you start in 'design mode'. A blank record with a grid appears on screen, called "untitled", which is framed on the left and top by rulers, and the "Design Tools" palette appears in a floating window. You use the 'design mode' to create elements on your record. This is how the "Design Tools" palette works: 2.1 Creating Fields step 1 By default, the Arrow pointer tool will be selected, so click the Field tool and drag an outline of a box on the page. step 2 Once created, a requester appears showing various attributes of the field (the position and settings of the field). This type of requester is called an Information requester. The Name text gadget will appear active, delete the contents, type Name and press the Return key. Then, type the following values in the gadgets in the Position group: Position-"From Left": 1.00 in Position-"From Top": 0.50 in Position-Width: 5.75 in Position-Height: 0.25 in Ensure the checkboxes "Show Name" and "Show Box" are selected, then click OK. step 3 Now create an address field. Choose "Create Field" from the Design menu and drag a field outline on the record below the field you created in step 1. Type these values in the Information requester: Position-"From Left": 1.00 in Position-"From Top": 1.00 in Position-Width: 5.75 in Position-Height: 1.00 in Field Settings-Name: Address Field Settings-"Show Name": On Field Settings-"Show Box": On Click OK. step 4 Select the Field tool from the "Design Tools" palette and create a field below the address for the year of birth. Type the following attributes in the Information requester: Position-From Left: 1.00 in Position-From Top: 2.25 in Position-Width: 5.75 in Position-Height: 0.25 in Click Apply and you will notice that the settings have been applied to the field but the requester remains on the screen. This is so that you can try out different values before closing the requester. Now type the following: Field Settings-Name: YearOfBirth Field Settings-"Show Name": On Field Settings-"Show Box": On Click OK. Notice that there are no spaces in the field name YearOfBirth. This is because field names in Datastore cannot contain spaces. They should also be unique. It's worth remembering that field names are case independent, which means Datastore considers the fields HomeAddress and Homeaddress identical. If you want to use a field title containing spaces, deselect the "Show Name" checkbox and create a separate Caption item on the record (using the Caption tool) to the left of the field. 2.2 Saving Your Database It is important to save your file regularly. It is now time to save the database you created. As this is the first time you save the database, you will need to give it a name. step 1 Choose Save from the Project menu (single floppy disk users may need to swap disks). step 2 The "Save Datastore File" file requester will appear (since the file is untitled). In the File text gadget type My Address Book and click Save (if the file already exists, you will be prompted to confirm whether you wish to over-write it). The database stays on the screen after you save so that you can continue working on it. Notice that the window title bar now shows the database name. To save your database onto a different floppy disk, in the Drawer box type the disk name (followed by a colon), and press the Return key. When prompted, place the new disk in a drive and type the name of your database in the File text gadget, then click Save or press the Return key. Important You need to save your work on the disk by choosing the Save command at the end of each session. It is wise to save your database about every 10 minutes as you work. This ensures that your work will not be lost if there should be a power cut or other problem causing the computer to shut down or restart. 2.3 Changing The Format of a Field The "YearOfBirth" field should only accept numbers (in this example, the year date will always be a whole number), therefore the field needs to be defined in terms of style and format of its contents. step 1 Select the field by clicking on it with the Arrow pointer. Four small boxes (handles) appear on each corner and another four along each edge of the field outline. Choose Information (Design menu) to display the "Field Information" requester. step 2 Select Number from the Type pop-up gadget in the "Field Settings" group. This will tell the field to only accept numbers. step 3 The format of the number can also be specified. Click the "Type Options" button and the "Number Field Options" requester appears. In the list, there are several different types of number format from which to choose. Select "Whole Numbers" by clicking it. Click OK to leave the Options requester, and OK again to close the "Field Information" requester. 2.4 Creating a Title The record needs a title to clearly identify which database you are using. step 1 Choose "Create Other" from the Design menu and you will notice three more menu commands appear to its right. This is called a sub-menu. With the Menu button (Right Mouse button) still held down, move the mouse to the right and select the Caption command. step 2 Click and drag an area at the top of the record for the title. The "Caption Information" requester will appear. Type Address Book in the "Caption Text" text gadget. Then, click the Select button to display the font requester, select DGSansSerif from the first list box (you may need to scroll the list), 13 from the second list box and click the Bold checkbox. Click OK to return to the "Caption Information" requester. In the Position-"From Left" text gadget type 3.25 in and 0.00 in in the Position-"From Top" text gadget. Click Apply. The caption will appear at the top of the record and the requester will remain open. If the requester obscures the caption, select the requester title bar and drag the requester out of the way. Select "Light Red" from the Colour pop-up and then click OK. 2.5 Using a Simple Address Book Before using the newly created address book, it is necessary to switch from "Change Design" mode to "Edit Records" mode. Records can only be edited or browsed in "Edit Records" mode. Choose "Edit Records" from the Edit menu. The grid disappears and then the record appears on the top of a stack of other records. The "Design Tools" are replaced by the "Record Browser" palette . 2.6 Inserting Some Addresses A database consists of records of data held sequentially that can be edited, deleted, browsed, sorted and viewed quickly and easily. step 1 In the first field, Name, you will see a black rectangle. This is the Insertion Cursor and shows the position that text will appear when you type. step 2 Type Bertrand Russell and press the Tab key to move onto the next field (address). Type 5 Philosophers Close and press the Return key to create a new line. Type Verse Town, press the Return key, type England and then press Tab to move onto the last field. Lastly type 1872 in the "YearOfBirth" field, and then press Tab to complete this record. step 3 To insert another record, choose "Insert Record" from the Record menu or click the "Insert Record" tool on the "Record Browser" palette. Again, you will be presented with an empty record and the cursor will be in the first field. Add the following record: Name: John Stuart Mill and press Tab. Address: Philosph Manor and press the Return key. Cornwall and press the Return key. England and press Tab. Year of Birth: 1806 and press Tab. Now add these records: (The character ½ means press Tab and ¶ means press the Return key.) NAME ADDRESS YEAROFBIRTH Descartes½ Flat 3b¶Philosophical Flats¶Greece½ 1596½ Ralph Waldo Emerson½ The Writers Cottage¶Philoside¶England½ 1803½ Martin Luther King½ 19 Speech Close¶The Suburbs¶USA½ 1929½ It is a good time to save your database again. Choose the Save command from the Project menu to save the database to the same place and using the same name specified previously. Notice that no file requester appeared, this is because the file now has a name. If you want to give the file a new name or wish to save it to a different place, choose "Save As" (Project menu) instead. 2.7 Browsing The Records You now have a small database with five records in it. These records can be viewed one at a time by using the "Record Browser". step 1 If the "Record Browser" palette is not on the screen, choose "Record Browser" from the View menu to display it. On the browser there are five icons: The "Record Browser" also shows the current record number and the total number of records in the database (you should be viewing Record 5 of 5). Click the first icon to view the first record in the database. The browser should now indicate that you are viewing Record 1 of 5. step 2 Click the "Next Record" icon to display the address of John Stuart Mill and click again to display Descartes' address. step 3 The Record Browser can be used quickly and easily to sequentially view the records in your database. You can also use the menu or keyboard. Choose Last from the Record menu to go to the last record, Martin Luther King. step 4 If you look at the menu commands on the Record menu you will notice a black A followed by a letter to the right of the command. This is the keyboard shortcut for the command. The shortcut for the Previous command is A-, . This means for the shortcut, hold down the Right Amiga key and press the Comma key. Press Right Amiga-, to go to the previous record, Ralph Waldo Emerson. 2.8 Sorting Records The records in your database are not in any particular order, but you can sort them alphabetically. Choose Sort from the Record menu to display the Sort requester (or click the Sort icon on the toolbar). From the Field pop-up in the Level 1 group, choose Name and ensure that the Order is Ascend. Click OK and the records will be sorted by Name, alphabetically from A to Z. Choose Save from the Project menu to Save the database to disk. 2.9 Finding a Record As there are only five records in our database, it is not too difficult to find the record you want using the browser. However, if there were several hundred records, it would be difficult and time-consuming. Finding records with Datastore is very easy using the Find command. step 1 Press Right Amiga Shift-, to move to the first record in the database (or choose First command, Record menu). Then choose Find from the Edit menu and type John in the "Find What" text gadget. Select Name from the In pop-up gadget. step 2 Click "Find Next" to find the first occurrence of John in the database. The record of John Stuart Mill will appear (when the text is found a message appears in the Status Bar). Click Done to close the Find requester. 2.10 Using Reports to View The Database The reports feature of Datastore is very powerful and allows you to create different types of reports for different sets of data in different ways. Reports can be viewed on screen, printed or output to a file for inclusion in a word processor like Digita Wordworth. step 1 Choose Report from the Record menu. The list contains all previously created reports which can be recalled, deleted or edited. There is also one permanent report at the top, "Database Statistics". Click View to view this report. Choose "Close Report" from the Project menu to close the report window. step 2 To create a report, again choose Report from the Record menu and then click New. Delete the contents of the "Report Name" gadget, type Years Of Birth and press the Return key. step 3 The list gadget on the left contains all of the fields in the database and the list on the right contains all of the fields which will appear on the report. Select "YearOfBirth" from the "Available Fields" list and click the >> button to copy it into the "Chosen Fields" list, then select Name from the first list and copy it into the second list. The fields in the "Chosen Fields" list are in the order that they would appear on the report. In this report, "YearOfBirth" should follow Name. To swap them around, select the Name entry and click "Move Before" to move it up the list. step 4 Click OK to close the "New Report" requester and then click View to see the report in its own separate window. Click the window close gadget in the top left corner of the window to close the Report and return to the database. 2.11 Quitting Datastore Choose the "Quit Datastore" command from the Project menu to close all database files that are open and exit Datastore. A requester will appear informing you that the "My Address Book" database has been changed since it was last saved (reminding you to save the file before it is closed). Click Yes to save the database, close the file and exit Datastore. This tutorial is for people with database experience who understand the basic concepts of Datastore and the Amiga. It uses the Address Book created in the earlier tutorials and changes it into a members database for a small club. 3.1 Changing a Record Design This section covers many aspects of changing the design of a record. Adding new fields, re-sizing and moving existing fields, as well as more advanced formatting features. Fields can be moved anywhere on the record and when positioned, snap to the on-screen grid; this keeps them in alignment. You can switch off the option using the "Snap To Grid?" command (Settings menu). (For this tutorial leave this setting on.) step 1 Choose Open from the Project menu, select "My Address Book" from the list and click Open. Choose "Change Design" from the Edit menu. step 2 One way a field can be moved and sized is using the Information requester. Select the Name field so that handles (small boxes) appear along the sides and choose Information from the Design menu. When the "Field Information" requester appears type the following in the Position gadgets: Position-"From Left": 0.25 in Position-"From Top": 0.50 in Position-Width: 4.50 in Position-Height: leave unchanged Click OK and the field will move and shrink to its new position. step 3 The second way of moving a field is by clicking and dragging it to a new position. Select the Address field and, with the Mouse Selection Button still depressed, drag the field to just below the Name field. step 4 A field can also be sized using the mouse. Select the Address field so that the handles appear. Move the pointer to the handle on the right corner of the field and a double ended arrow will appear, this is the Re-sizing Pointer. With the Re-sizing pointer still shown, click and drag the field outline to the left so that it is the same width as the Name field. step 5 As you can see, the Name and Address field outlines touch causing a large black line. Double-click the Name field to display the "Field Information" requester, deselect the "Show Box" checkbox and click OK. This turns off the outline around the field data entry area. Now do the same for the Address Field. step 6 Select the "YearOfBirth" field and choose Information (Design menu). Type the following (the Height should remain unchanged): Position-"From Left": 5.00 in Position-"From Top": 0.50 in Position-Width: 2.25 in Set the "Field Settings"-"Show Box" Off. Click OK. step 7 Select the title caption and choose Information (Design menu). Delete Address Book from the "Caption Text" gadget and type Philosophers Club. Finally, change the Position-"From Left" gadget to 3.00 in and click OK. 3.2 Saving The Database Using a Different Name As the database is now evolving into something quite different, it is a good time to re-save using a different file name. Choose "Save As"(Project menu), in the File gadget type Philosophers Club and click Save. 3.3 Creating New Fields Now create a few more fields for the new database "Philosophers Club". step 1 The first new field to add to the club database is the type of membership. As there are only three types of membership for the club, a "Preset List" field type can be used. Choose "Create Field" (Design menu), draw a field on the record and type the following information: Position-"From Left": 5.00 in Position-"From Top": 0.75 in Position-Width: 2.25 in Position-Height: 0.25 in "Field Settings"-Name: Membership Set the "Field Settings"-Type to "Preset List". Set the "Field Settings"-"Show Box" Off. step 2 Click the "Type Options" button to display the "Preset List Field Options" requester. For this field, three items need to be created. Click New and type Student and then press the Return key. Do the same for Adult and OAP. Click OK and then OK again. step 3 Create two more fields beneath Membership with the following: First field: "Field Settings"-Name: Subs "Field Settings"-Type: Number "Field Settings"-"Show Box": Off Position-"From Left": 5.00 in Position-"From Top": 1.00 in Position-Width: 2.25 in Position-Height: 0.25 in Click the "Type Options" button to display the "Number Field Options" requester. From the Type list gadget, select "Currency, Two Decimals", click OK and then OK again. Second Field: "Field Settings"-Name: Paid "Field Settings"-Type: Number "Field Settings"-"Show Box": Off Position-"From Left": 5.00 in Position-"From Top": 1.25 in Position-Width: 2.25 in Position-Height: 0.25 in Click "Type Options" and from the Type list gadget, select "Currency, Two Decimals". Click OK and then OK again. step 4 Now create a field that will calculate the amount of subscriptions due, by subtracting the Subs Paid field from the Subs field. This is done by creating a computed field, which is essentially a number field that calculates its contents from other fields. Create a field below Paid with the following attributes: "Field Settings"-Name: Due "Field Settings"-Type: Number "Field Settings"-"Show Box": Off Position-"From Left": 5.00 in Position-"From Top": 1.50 in Position-Width: 2.25 in Position-Height: 0.25 in Click "Type Options" and from the Type list gadget, select "Currency, Two Decimals". Then type Subs-Paid in the Compute text gadget, click OK and then OK again. step 5 Now create a picture field for storing small icons relating to the type of activity the person wants to do in the club (football, tennis or swimming). Choose "Create Field" (Design menu) and draw a box outline below the Due field, then select Picture from the "Field Settings"-Type pop-up gadget. Ensure "Show Name" and "Show Box" are selected and type the following values in the Position gadgets: "From Left": 5.00 in "From Top": 1.75 in Width: 2.25 in Height: 0.75 in "Field Settings"-Name: Activity Click OK. step 6 The last field will be for general comments. Create a field beneath Address. Position-"From Left": 0.25 in Position-"From Top": 2.00 in Position-Width: 4.50 in Position-Height: 0.50 in "Field Settings"-Name: Comments Leave "Show Name" selected but deselect "Show Box" Click OK. step 7 Choose Box from the "Create Other" command (Design menu) and drag an outline from the top left corner of the record to the bottom right. Select "Light Green" from the "Fill Colour" pop-up gadget (if it is not already selected) and click OK. All items drawn onto the record have their own 'layer'. Any other item can move in front of, or behind this layer with the commands "Move Backward/Forward" or "Send To Back/Bring To Front" (Design menu). In this way you can arrange any number of items overlapping each other; this gives great flexibility when designing records. With the box still selected, choose "Send To Back" (Design menu) to move the box behind all of the fields and captions on the record. 3.4 Validating Field Entries Validating a field entry can be extremely useful. In this example, a condition can be added to the Subs fields to disallow an entry of less than 0 or more than 100. step 1 Double-click the Subs field and click the Condition button in the Information requester. Select "is greater than or equals" from the second pop-up and type 0 in the text gadget. This means that any amount that is 0 or more will be accepted. step 2 Select And from the Operator pop-up gadget, select "is less than or equals" from the second pop-up of the "Second Condition"group, and type 100 in the text gadget. The combination of these two conditions restricts anyone to typing a number between 0-100 (inclusive) in the field. Click OK and then OK again. step 3 Repeat steps 1 and 2 for the Paid field. Important Do not forget to save regularly in case of power or system failure. step 4 Choose "Edit Records" (Edit menu) and move to the first record in the database using the First command (Record menu). Ensure that the Insertion Cursor is in the first field by clicking in it with the mouse pointer, then press the Tab key three times to move to Membership field. As this field is a "Preset List", a requester will appear with a list of entries from which to select. Select Student from the list gadget. Click OK to return to the record (or double-click an entry to select it and return to the record). step 5 Press Tab to move to the Subs field and type 50.00, then press Tab to move to Paid and type 25. Press Tab to move to the Comments field; notice that the Due field is automatically calculated from the two previous fields. Leave the Comments field blank and press Tab again. step 6 When you press Tab on the last field (Comments), the cursor returns to the first field (Name). This is because the Tab key cycles through all of the fields on the record moving from top to bottom in a left-to-right sequence. Pressing tab on the bottom field moves the cursor in the first field (shift-Tab moves backwards). To use the Picture field, you need to click on it. Click the Picture field and a file requester appears. Select Tennis from the list and click Insert. step 7 Go through each record adding the following information: NAME MEMBERSHIP SUBS PAID ACTIVITY Descartes O.A.P. 10 10 Football John Stuart Mill Adult 25 20 Swimming Martin Luther King Adult 50 5 Tennis Ralph Waldo Emerson O.A.P. 10 0 Football 3.5 Viewing Sets of Records If a database consists of many records, it would be convenient to view only records that match a specific requirement. For example, just people who have not paid all of their bills; or all the people living in a particular town. Once a subset of records has been created, the subset can be exported to a word processor, like Digita Wordworth, to another database, or even to a mailing program like Digita Mailshot Plus. To separate records into a subset, you use the Query command. step 1 Choose Query from the Record menu to display the Query requester. Click New to display the "New Query" requester so that a query can be created for all of the people in the club whose subs are overdue. step 2 Replace the contents of the "Query Name" text gadget with Overdue Subs. Select Due from the first pop-up in the "First Condition" group, select "is greater than" from the second pop-up and type 0 in the text gadget. In this example, the query will display any record that has more than zero in the Due field (in-other-words, members who owe subs). Click OK to return to the Query requester and the "Overdue Subs" query appears in the list. Click Done. 3.6 Using a Query A query can be applied to the database at any time to create a subset. step 1 Choose Query (Record menu), select "Overdue Subs" from the list by pressing the Down Arrow key, and click Use. step 2 The "Record Browser" can be used to easily navigate through the subset of records which you have just created using the "Overdue Subs" query (it displays the current record number and the number of records in the file (subset in this example)). The Status Bar (at the bottom of the window) displays the number of records in the database (in brackets), and the subset and query (if applicable). step 3 Return to the whole database by choosing Query (Record menu), select "Show All Records" and click Use. 3.7 Using Reports Reports are used to display lists of information from the records in a database. The reports can be viewed on screen, printed or saved as a disk file for use with other programs. step 1 Choose Report from the Record menu and click New. Type Overdue Subs List in the "Report Name" text gadget, replacing the default contents. Select Name from the "Available Fields" list gadget and click the >> button. Next, select the following fields from the first list gadget and click >> after each, to move them into the "Chosen Fields" list: Membership, Subs, Paid, Due. Ensure the checkbox "Include Field Headings" is selected. step 2 Next click the Titles button to display the "Report Titles" requester. Type Overdue Subs Report for (type an extra space at the end) in the Text gadget in the "Page Header"group. Select "Current Date" from the "Special Codes" pop-up to insert the special code for current date. Finally, select Centre from the Justify pop-up. step 3 Type Page (with an extra space afterwards) in the Text gadget in the "Page Footer" group, select "Page Number" from the pop-up gadget to the right, and select Centre from the Justify pop-up. Click OK to return to the "New Report" requester. Click OK again to return to the Report requester, and click the close gadget on the requester to close the requester without viewing the report. 3.8 Applying a Query to a Report This report relates to those members of the club who still owe money. step 1 Choose Report (Record menu) and select "Overdue Subs List" from the list. Click Edit to edit the report and click the Query button. Select the query "Overdue Subs" from the list, click Use and then click OK to return to the Reports requester. Click View to view the "Overdue Subs List" report for today. step 2 If the information does not quite fit on the page, use the Printer Preferences program (this is contained on the Amiga Workbench disk) and change the "Print Pitch" to Elite or Fine. It may be necessary to change the "Paper Format" to a larger page size and adjust the margins to allow more characters on the page. For more information about printing and Workbench refer to your Workbench User Guide. step 3 There are three buttons at the top of the Report, on the "Report Ribbon", which perform the commands "Previous Page", "Next Page" and Print. The "Previous Page" and "Next Page" buttons are available when more than one page has been created. Close the Report Window, either by clicking the window close gadget or choosing the "Close Report" command (Project menu). Important If memory is getting low, the pages of a report are created in real-time and may therefore be slightly slower than usual. 3.9 Protecting The Database Datastore can add a password to any saved file so that it is protected from prying eyes. Creating passwords, opening protected files and changing passwords are covered in this section. Important If you use passwords, remember them! Due to the nature of the encryption in Datastore, Digita is not able to help recover files with lost passwords. step 1 Choose File from the "Change Settings" submenu (Settings menu) to display the "File Settings" requester. Select the checkbox "Save Password With File" and click OK. step 2 Choose "Save As" (Project menu) and a small requester will appear asking you to type the password for the file. Use a password that combines both letters and numbers for maximum security and make sure you do not forget it. Then click OK. step 3 In the File gadget on the file requester type Protected Club and press the Return key to Save (you will be prompted to replace the existing file if appropriate). step 4 Choose Open from the Project menu, select the file Protected Club and click Open. Before the file is opened, as it is password protected, a requester will appear asking you to type the password. An error message will appear if you get the password wrong. If you want to change the password, first open the protected file, choose "Save As" (Project menu), and you will be prompted for a new password. 3.10 Using Librarian Librarian is used for storing text which can then be inserted quickly and easily many times. step 1 Choose Librarian from the Edit menu. Click New, type This member has special dispensation rate in the text gadget and press the Return key. Notice that the text has been added to the list. Click the close gadget to close the requester. step 2 Using the "Record Browser", search through the records until the record "John Stuart Mill" appears. Click the Comments field and choose Librarian (Edit menu). Double-click the list entry This member has special... and the text will be inserted into the Comments field automatically. Notice that, unless you click the window close gadget, Librarian will remain on the screen while you continue to work. 3.11 EastStart Templates EasyStart Templates will give you a head-start when creating a new database. They do this by using an existing record design which is blank. There are many different EasyStart Templates supplied with Datastore, and you may find it quicker to modify one of these databases than to create your own from scratch. Choose New (Project menu), select the template you want from the list gadget (select "Blank Record" if you do not want to use a template). Notice that a description of the template appears in the box beneath the list gadget (if it exists). Click New and the template will open into a window called "untitled". There is no special procedure for creating templates. Datastore looks at the files in the same destination as the Open command and will use any of them as templates. To change the template description, select the database file icon on the "Workbench Screen" and choose Information from the Workbench-Icons menu. Type the text that you wish to appear in the Comments text gadget, press the Return key and click Save. 3.12 Creating a New Datastore File From a Subset of Records You can create a new Datastore file from a subset of records quickly and easily. step 1 Use the Query command (Record menu) to separate the records into the subset required. Choose "Export Data" from the Project menu, ensure the "Datastore File" radio button is selected on the "Export Data" requester and click Export. step 2 Type your file name in the File gadget in the "Export Data File" file requester and click Export. The export database file will contain the current subset of records as well as the record design. Importing Datastore can use data from many other applications, provided the file is in ASCII format (the industry standard-plain text format). For example, spreadsheets from Turbocalc, databases from Superbase or mailing lists from Digita Mailshot Plus. step 1 Export the file from Turbocalc or any other program in ASCII format. step 2 Start Datastore and choose File from the "Change Settings" submenu (Settings menu) and select "Turbocalc And Superbase (CSV)" from the Format pop-up gadget. This pop-up defines how the ASCII file is structured. Turbocalc separates each field with a comma and each record with a line feed. Other programs use different combinations of separators and therefore when importing or exporting data, using the correct format is important. Click OK. step 2 Choose "Import Data" from the Project menu, select the file you created in step 1 and click Import. Datastore will try and import the data into the current database. If no fields have been created, and Datastore is in "Change Design" mode, it will create its own record layout for the data file by creating the fields as it comes across them. Datastore can only do this if the first record of the data file contains a header record (or, the field names as a separate record). Exporting Datastore can export any of the record data held within the database as a separate ASCII data file. This means that programs such as Digita Wordworth can use this information and then, for example, produce a mail merge with a form letter. step 1 Use the Query command (Record menu) to either "Show All Records" or separate the records into a subset. Choose File from the "Change Settings" submenu (Settings menu) and select the file format option you want from the Format pop-up gadget. This pop-up defines how the ASCII file is structured. Some programs use different combinations of field and record separators to others and therefore when exporting data, the correct format needs to be set from this gadget. Click OK. step 2 Choose "Export Data" from the Project menu, select the "ASCII Data File" radio button from the "Export Data" requester and click Export. Then, when the "Export Data File" file requester appears, type your file name in the File gadget and click Export. DIGITA INTERNATIONAL LTD 1. Definitions In these Terms and Conditions of Sale: "the Company" shall mean Digita International Limited of Black Horse House Exmouth Devon EX8 1JL "the Buyer" shall mean the person, firm, company or buyer who accepts a quotation of the Company or whose order for the Goods is accepted by the Company "the Goods" shall mean the software, equipment, parts or services to be supplied by the company (including any installments or part of them) 2. Basis of Sale 2.1 All quotations given by the Company are subject to written confirmation at the time of acceptance by the Company upon receipt of the Buyer's purchase order. Acceptance and execution of orders is dependent upon the availability of Goods and the absence of any circumstances beyond the Company's control which may hinder or prevent execution or acceptance. 2.2 No conditions or terms stipulated in any other communication or document shall vary or annul any of these conditions except if they were expressly consented to in writing by an officer of the Company. 2.3 The company's employees or agents are not authorised to make any representations concerning the Goods unless confirmed by the Company in writing. In entering into the contract the Buyer acknowledges that it does not rely on, and waives any claim for breach of, any such representations which are not so confirmed. 2.4 Any advice or recommendation given by the Company or its employees or agents to the Buyer or its employees or agents as to the storage application or use of the Goods which is not confirmed in writing by a Director of the Company is followed or acted upon entirely at the Buyer's own risk, and accordingly the Company shall not be liable for any such advice or recommendation which is not so confirmed. 2.5 Any typographical, clerical or other error or omission in any sales literature, quotation, price list, acceptance of offer, invoice or other document or information issued by the Company shall be subject to correction without any liability on the part of the Company. 2.6 If the Goods are to be manufactured or any software is to be written by the Company in accordance with a specification submitted by the Buyer, the Buyer shall indemnify the Company against all loss, damages, costs and expenses awarded against or incurred by the Company in connection with or paid or agreed to be paid by the Company in settlement of any claim for infringement of any patent, copyright, design, trade mark or other industrial or intellectual property rights of any other person which results from the Company's use of the Buyer's specification. 2.7 The Company reserves the right to make any changes in the specification of the Goods which are required to conform with any applicable safety or other statutory requirements or, where the Goods are to be supplied to the Company's specification, which do not materially affect their quality or performance. 2.8 No order which has been accepted by the Company may be cancelled by the Buyer expect with the agreement in writing by a Director of the Company and on terms that the Buyer shall indemnify the Company in full against all loss (including loss of profit), costs (including the cost of all labour and materials used), damages, charges and expenses incurred by the Company as a result of cancellation. 3. Price 3.1 Quoted prices are ex works unless otherwise stated and include the cost of normal packaging but exclude delivery, transit insurance (which are charged extra at cost). VAT and installation charges (where applicable) shall be paid in addition by the Buyer. Any query by the Buyer of any invoice rendered by the Company must be made in writing within 30 days of the date of invoice or the parties agree that such invoice shall be deemed accepted and any purchaser's query waived. The Prices for the goods shall be those ruling at the date of despatch and the Company reserves the right to amend its quoted prices at any time prior to the date of despatch. Sales made directly to the general public using current Company standard retail price list include VAT, post and packaging. 4. Terms of Payment (UK mainland) 4.1 The company credit terms are 30 days net from date of invoice. Statements are sent out at monthly intervals. In the event of default in payment by the due date the Company reserves the right to charge interest on money overdue at the rate of 3% above National Westminster Bank PLC minimum lending rate. Accounts with overdue balances will be placed on credit hold at the discretion of the Company. Repeated failure to keep to credit terms will result in the loss of credit facility. 4.2 The time for payment of invoices shall be of the essence of the Contract. 5. Risk and Property 5.1 Risk of damage to or loss of the Goods shall pass to the Buyer: 5.1.1 In the case of Goods to be delivered at the Company's premises, at the time when the Company notifies the Buyer that the Goods are available for collection; or 5.1.2 In the case of Goods to be delivered otherwise than at the Company's premises, at the time of delivery, or if the Buyer wrongfully fails to take delivery of the Goods, the time when the Company has tendered delivery of the Goods. 5.2 Notwithstanding delivery and the passing of risk in the Goods, or any other provision of these Conditions, the property in the Goods shall not pass to the Buyer until the Company has received in cash or cleared funds payment in full of the price of the Goods and all other goods agreed to be sold by the Company to the Buyer for which payment is then due. 5.3 Until such time as the property in the Goods passes to the Buyer, the Buyer shall hold the Goods as the Company fiduciary agent and bailee and shall keep the Goods separate from those of the Buyer and third parties and properly stored, protected and insured and identified as the Company's property. Until that time the Buyer shall be entitled to resell or use the Goods in the ordinary course of its business, but shall account to the Company for the proceeds of sale or otherwise of the goods, whether tangible or intangible, including insurance proceeds, and shall keep all such proceeds separate from any moneys or property of the Buyer and third parties and, in the case of tangible proceeds, properly stored, protected and insured. 5.4 Until such time as the property of the Goods passes to the Buyer (and provided the Goods are still in existence and have not been resold) the Company shall be entitled at any time to require the Buyer to deliver up the Goods to the Company and, if the Buyer fails to do so forthwith, to enter upon any premises of the Buyer or any third party where the Goods are stored and re-possess the Goods. 5.5 The Buyer shall not be entitled to pledge or in any way charge by way of security for any indebtedness any of the Goods which remain the property of the Company, but if the Buyer does so all moneys owing by the Buyer to the Company shall (without prejudice to any other right or remedy of the Company) forthwith become due and payable. 6. Buyer's Property The Buyer's property and all property supplied to the Company by or on behalf of the Buyer, shall while it is in the possession of the Company or in transit to or from the Buyer be deemed to be at the Buyer's risk and the Buyer shall insure accordingly. The Company shall be entitled to make a reasonable charge for the storage of any of the Buyer's property left with the Company before receipt of the order or after notification to the Buyer of completion of the work. 7. Loss or Damage in Transit or Non-Delivery The Buyer shall examine the Goods immediately they are delivered. The Company reserves the right to reject claims in respect of shortages or damage in transit or non-delivery unless the same are submitted in writing to the Company within 4 days after delivery of Goods or in the case of non-delivery 7 days after the due date of delivery. 8. Late Delivery 8.1 Dates for delivery are approximate only. Time of delivery shall not be the essence of the Contract. 8.2 Whilst the Company will use its best endeavours to deliver the goods in accordance with the Buyer's requirements, the Company will not be liable for any consequences of late delivery however caused. 9. Software Licence 9.1 The disk, tape, software program, instruction manual or other hard copy ("The program") is sold to the Purchaser and any other property over which intellectual property rights are held by the Company or third parties which are included in or on the disk, tape, instruction manual or other hard copy command included with the software are licenced to the end user in accordance with the Company's standard software licence conditions set out below. The Buyer acknowledges that the software will only be sold subject to the licence. 9.2 Software Licence Conditions The Company's software products are protected by English Company Law and international treaties relating to intellectual properties, any breach of which can result in legal action being taken against the original licencee of the product. The licencee can transfer the software from one computer to another as long as it is only used on one computer at a time. The Company agrees to grant the conditions of this non-transferable and non-exclusive licence to use their software. 9.3 Program Licence Each program licence authorises the Buyer to use the licenced programs on any single computer system. This agreement and the licences, Programs and documentation may not be assigned sub-licenced or otherwise by the Buyer without written consent from the Company. 9.4 Effective Date The licence is effective from the date that the Programs are received by the Buyer. The Company may discontinue the licence or terminate this agreement with written notice if the Buyer fails to comply with the terms of the agreement. 9.5 Documentation and Software The Buyer shall not copy in whole or part any licenced documentation provided by the Company. The licenced Program can be copied in whole or part sufficiently for the sole use of the Buyer within the licence system for back-up purposes in support of the Buyer's use of the licenced program on design on designated equipment. Any such copies of the licenced Program shall remain the property of the Company. The buyer may not distribute or otherwise make the licenced Program available to any third party. If the Buyer should wish to use the licenced Program on any other than the designated equipment the Buyer must purchase further copies from the Company. 9.6 Termination of Licence After one month following termination, the Buyer will provide the Company in writing confirmation that all copies of the Program and documentation have been destroyed. 10. Warranty-Software 10.1 The provisions set out below relate to the Program only. 10.2 If you discover physical defects in the media on which the Program is distributed or in the documentation, the Company will replace the media or documentation at no charge to you provided you return the command to be replaced with proof of purchase to the Company during the 60 day period after you purchased the Program. 10.3 The Company excludes any and all implied warranties, including warranties of merchantability and fitness for a particular purpose and limits your remedy to return of the program and the documentation to the Company for replacement. Although the Company has tested the Program and reviewed the documentation the Company makes no warranty or representation either express or implied with respect to the Program or the documentation. The company does not warrant that the functions contained in the Program will meet the Buyer's requirements or that the operation of the Program will be uninterrupted or error free or that Program defects will be corrected. As a result the program and the documentation are licenced "as is" and the Buyer is assuming the entire risk as to its quality and performance. 10.4 Neither the Company nor anyone else who has been involved in the creation, production or delivery of the Program or documentation shall be liable for any direct, indirect, special, consequential, or incidental damages arising out of the use, results of use, or inability to use the Program or documentation or its back-up copy, even if the Company has been advised of the possibility of such damages or claim. In particular the Company shall have no liability for any programs stored or used with the Program or back-up copy, including the cost of recovering such programs or data. The warranty and remedies set forth above are exclusive and in lieu of all others, oral or written, express or implied. No Company, dealer, agent or employee is authorised to make any modification or addition to this warranty. 11. Warranty-Goods 11.1 The provisions set out below relate to Goods other than the Program. 11.2 Subject as expressly provided in these Conditions, and except where the Goods are sold to a person dealing as a consumer (within the meaning of the Unfair Contract Terms Act 1977), all warranties, conditions or other terms implied by statute or common law are excluded to the fullest extent permitted by law. 11.3 Any claim by the Buyer which is based on any defect in the quality or condition of the Goods or their failure to correspond with specification shall (whether or not delivery is refused by the Buyer) be notified to the Company within 7 days from the date of delivery or (where the defect or failure was not apparent on reasonable inspection) within a reasonable time after discovery of the defect or failure. If delivery is not refused and the Buyer does not notify the Company accordingly, the Buyer shall not be entitled to reject the Goods and the Company shall have no liability for such defect or failure, and the Buyer shall be bound to pay the price as if the Goods had been delivered in accordance with the Contract. 11.4 Where any valid claim in respect of any of the Goods or their failure to meet specification is notified to the Company in accordance with these conditions, the Company shall be entitled to replace the Goods (or the part in question) free of charge, at the Company's sole discretion, refund to the Buyer the price of the Goods (or a proportionate part of the price), but the Company shall have no further liability to the Buyer. 11.5 Except in respect of death or personal injury caused by the Company's negligence, the Company shall not be liable to the Buyer by reason of any representation, or any implied warranty, condition or other term, or any duty at common law, or under the express terms of the Contact, for any consequential loss or damage (whether for loss of profit or otherwise) costs, expenses or other claims for consequential compensation whatsoever (and whether caused by the negligence of the Company, its employees or agents or otherwise), which arise out of or in connection with the supply of the Goods or their use or re-sale by the Buyer except as expressly provided in these Conditions. 12. Returns Procedure A returns authorisation number must first be obtained from our customer service department by telephone or letter. Returned goods must be accompanied by a copy of the original invoice relating to purchase. Goods returned must be in the original packaging and in a clean resaleable condition. Goods returned otherwise will at the Company's discretion be either refused or a further additional re-stocking fee charged to cover additional costs involved. This document does not itself constitute an offer for sale. We reserve the right to vary the specification of any time, withdraw, modify or amend any command without prior notice. 13. Force Majeure The Company reserves the right to cancel, vary or suspend the operation of contracted sale if events occur which are in the nature of force majeure including (without prejudice to the generality of the foregoing) fire, flood, storm, plant breakdown, strikes, lockouts, riot, hostilities, non-availability of materials or supplier any other event outside the control of the Company and the Company shall not be held liable for any breach of contract resulting from such event. 14. Export Terms: 14.1 In these Conditions "Incoterms" means the international rules for the interpretation of trade terms of the International Chamber of Commerce as in force at the date when the contract is made. Unless the context otherwise requires, any term or expression which is defined in or given a particular meaning by the provisions of Incoterms and these conditions, the latter shall prevail. 14.2 Where the Goods are supplied for export from the United Kingdom, the provisions of this Clause shall (subject to any special terms agreed in writing between the Buyer and the Company) apply notwithstanding any other provision of these conditions. 14.3 The Buyer shall be responsible for complying with any legislation or regulations governing the importation of the Goods into the country of destination and for the payment of any duties thereon. 14.4 Unless otherwise agreed in writing between the Buyer and the Company, the Goods shall be collected (ex-works) from the company promise and the Company shall be under no obligation to give notice under Section 32(3) of the Sale of Goods Act 1979. 14.5 Payment of all amounts due to the Company shall be made by international telegraphic transfer or Banker's Draft by the Bank in the United Kingdom acceptable to the Company. 14.6 Formal agreement to be made in writing between the parties subject to the foregoing and general terms and conditions contained within. 15. General 15.1 These conditions of sale shall be construed in accordance with English Law. 15.2 The Company is a member of a group of Companies and accordingly the Company may perform any of its obligations or exercise any of its rights hereunder by itself or through any other members of its group, provided that any act or omission of any such other member shall be deemed to be the act or omission of the Company. 15.3 Any notice required or permitted to be given by either party to the other under these conditions shall be in writing addressed to that other party at its registered office or principal place of business or such other address as may at the relevant time have been notified pursuant to the provision to the party giving the notice. 15.4 No waiver by the Company of any breach of the contract by the Buyer shall be considered as a waiver of any subsequent breach of the same or any other provisions. 15.5 If any provision of these conditions is held by any competent authority to be invalid or unenforceable in whole or in part the validity of the other provisions of these conditions and the remainder of the provision in question shall not be affected thereby.