Home

August 2002 - Lantica Software, LLC

image

Contents

1. The Quick Answer August 2002 new features are in addition to the established and supported O amp A techniques You pick up on these new Sesame features as and when you want to just like you used more and more advanced Q amp A techniques as you grew in confidence Loops Whenever you want to do something a certain number of times or until some condition is met or no longer met you create a loop In Q amp A this again is done by adding a field setting a value and using a subroutine to repeat an action change the value in the counter field and check this field to determine when to stop the action One example would be when referring to looping though line items in a database record that contains invoice like lines each of which contain a product code description price quantity and extended amount Another example is incrementing a date to the next business day adding a day to the delivery date until the delivery date is not a Saturday or Sunday Subroutines Q amp A supports subroutines via the Gosub Return commands but they are inflexible because you need to use a field and the programming in this field needs to be on field entry Then you need to ensure that users can t enter this field by accident generating the Too many returns error message In Sesame subroutines are much more straightforward you simply write your subroutine program in place without the imposed complications of involving trigger fie
2. The advantages here are that the manager can easily update the color list simply by editing and resaving Colors doc No trips to the Program Spec are necessary And no locking users out of the database while program edits are made What s more no additional temporary field is required The program colors the Color field s text in a way that hides the unsightly inserted string from the Colors doc file This assumes the Q amp A Standard default color scheme The carriage returns are replaced by commas and then the colors appear on the Userselect pick list The selected color is placed in the field and the field color is changed back revealing the selection Colors dtf idx and Colors doc are included in this month s download file Tom Marcellus Sesame Program m ng cont d from page 5 GUI functions GUI stands for Graphical User Interface a term that describes for example all Windows programs GUI functions in Sesame allow programmers to alter the appearance of the form being viewed One obvious use of this is to change the colour of a field to show negative balances in red text or with a distinctive field background colour This can be done in Q amp A 5 0 by using the Color programming command But in Sesame you can do far more You can make a field visible or invisible via programming Likewise a picture field You can even control the size and position of any fields and change their labels Right now you migh
3. printed format Back issues from 1995 onward available in Acrobat PDF files Copyright 2002 by Marble Publications Inc All rights reserved No part of this periodical may be used or reproduced in any fashion except in the case of brief quotations embodied in articles and reviews without the prior written consent of Marble Publications Inc Address editorial correspondence HELP questions or requests for special permission to Marble Publications Inc The Quick Answer 1927A Harbor Blvd Costa Mesa CA 92627 Phone 800 780 5474 or 949 722 9127 Fax 949 722 9127 mailbox quickanswer com On the Web at www quickanswer com Q amp A is a trademark owned by Symantec Corp Other brand and product names are trademarks or registered trademarks of their respective holders This publication is intended as a general guide It covers a highly technical and complex subject and should not be used for making decisions concerning specific products or applications This publication is sold as is without warranty of any kind either express or implied including but not limited to implied warranties for the publication quality performance merchantability or fitness for any particular purpose Marble Publications Inc shall not be liable to the purchaser or any other person or entity with respect to any liability loss or damage caused or alleged to be caused directly or indirectly by this publication Articles published in The Quick Answer
4. said an 06D7 error indicates that you have a corrupted database index file The problem is that you are probably running Q amp A on a hard drive partition that s larger than 2G Some versions of Q amp A 3 0 were actually limited to 32M hard drives The best way to try and fix the problem yourself is to do the following Concludes on page 12 Review AConvenient Utility qui k BAT2EXEC SWE J EFF NOREMAN IKE most computer programmers and consultants I make extensive use of tricks and shortcuts to make y life and the lives of clients easier I recently unearthed a convenient utility called Bat2Exec which might help you save time and make your daily tasks go more smoothly Batch files to executables Bat2Exec compiles batch files into executable programs The utility almost seems misnamed as it does not create exe files It creates com files The difference is that exe files can be of nearly any size while com files have a limit of about 64K If you ve got batch files that won t convert to a com file of less than 64K then you re probably working with a huge slow batch file right now and Bat2Exec won t help you Got security Bat2Exec shines in two ways First it gives you security It lets you as a programmer take control over exactly what gets run on the computer Many users know how to change batch files and might be tempted to remove a time consuming backup routine for example They can
5. should not be used as a structured input form The way you add new fields is not on the Master Form but from the Select Database Structure Database Add amp Delete Fields menu Here you can add or delete fields and the results will automatically be reflected in the Master Form Additional input forms can only be designed as subforms of the Master Form That is they can have some or all of the fields available on the Master Form but cannot have fields that do not appear somewhere on the Master Form As far as the Master Form is concerned select Select Design Input Forms from the menus and then Save As the master form to anew name From then on any fields added to the database will appear at the bottom of the master form but will have to be Added to any other forms you have saved You can also set up Q amp A to open a particular form when you open the database by using the File Preferences menu after opening a database System Error in Q amp A 3 0 lam having a problem locating the user manual for my Q amp A 3 0 While sifting through my data get this message System error please try again See Appendix F Ref 06D7 was wondering if you can help me out here John We do not normally support O amp A 3 0 After all that version is more than 13 years old and is incompatible with some newer computers and drives We focus on Q amp A 4 0 and 5 0 which can still be made to run perfectly on all new computers That being
6. 2 It sure is The trick is to place the results of the selection from the Userselect list in a temporary field and then use programming to append it to what s already in the field You will also want the list to keep displaying until you tell Q amp A that you are finished making selections Here s one way to do the trick Make two fields Leave the first one unnamed and name the second one Insurance lt gt Insurance lt gt In the unnamed field place the following programming statement lt 100 If 100 Then Usl Insurance Done Medicare Medicaid Blue Cross Blue Shield Aetna USHC Other Fill In 100 1 If 100 Insurance Then 100 Goto 100 If 100 Done Then 100 W Goto 120 Goto 110 In the Insurance field add this statement In this case field 120 follows the Insurance field lt 110 If 100 lt gt then 110 110 100 110 Replace 110 100 3 Goto 100 Goto 120 This way when you navigate to the unnamed field O amp A will display a pop up list that looks like this SELECTION Done Insurance Aetna USHC Blue Cross Blue Shield Medicaid Medicare Other Fill In When you select a company it will be added to the Insurance field with a trailing semicolon and the pop up list will reappear for the next selection This will continue until yo
7. D number 3 3 200 Zip LEFT LU ID number 4 INSTR LU ID number 4 1 Phone MID LU ID number 4 INSTR LU ID number 4 3 200 You have now created extra columns from the existing four It is also possible to have three or more lookup values in one column by using the Mid function and a second unique separator such as For information on how the Mid Left and Instr functions work see the Application Programming Tools Manual that comes with Q amp A I have included a simple Q amp A 4 0 database Lookup dtf in this month s download file with the above programming and Lookup Table already built in Jon McLaughlin is a professional musician and piano teacher living in Vancouver Washington He designs Q amp A applications for himself and others He can be reached at 360 694 6869 or via email at hbark juno com Lookup Table Tips 1 Make sure all Key column values are unique 2 Each entry in the lookup columns is limited to 240 characters maximum 3 If acolumn Is too narrow for the information press F6 to use the Expand Field Editor ASimple Lookup Example Suppose you want to have Q amp A fill several fields when you type an abbreviation or code into a field You might want to have the Company Buyer and Phone fields auto filled when you type an abbreviation into the Company field In this case you might have ABC in the Lookup Table s Key colum
8. This free back issue of THE QUICK ANSWER is provided courtesy of CSAC 0 The Monthly Newsletter for Sesame Database Manager http www insidesesame com Read a Free Issue of Inside Sesame AND SOFTWARE LLC Makers of Sesame Database Manager Compatible with Symantec Q amp A http www lantica com Get Extra Columnsin Your Lookup Table Jon McLauGuH in amp A s Lookup commands are a valuable tool that can enhance and streamline your data entry Most often they re used to standardize and automate entries made in database fields thus minimizing errors while maximizing efficiency The Lookup commands find and retrieve information contained in the database s Lookup Table which you can access in Q amp A for DOS by following the File Design a file Program a file Edit Lookup Table path and in Q amp A for Windows by opening a database then selecting File Edit Lookup Table The Table consists of a Key or Key value column and four lookup value columns The Key column is designed to contain a number code or abbreviation that corresponds to lookup data contained in the four adjacent columns on the same row They re numbered 1 through 4 at the top The four lookup columns enable one Key column value to perform as many as four different lookups See the Sidebar on page 3 for a simple example When just four isn t enough But what if you need more than four columns of lookup data A common example
9. ave found to work around the limitations of O amp A With Sesame I m sure the same process of extending what can be done with the product will occur The difference is that Sesame is far richer and more flexible than Q amp A to begin with so the bar is raised quite considerably Let s take a look at these new features individually I m not going to attempt here to cover them in detail with their full syntax and detailed examples This will be done in future articles Variables For many this easily accessible new feature will be the first they ll use It has long topped the list of features requested by O amp A power users Within programming you can define a variable which is like a temporary field of a particular type that exists strictly in memory and automatically goes away when you are finished using it Many Q amp A developers have used variables countless times without realising it How many times have you added fields programming use only fields to the last page of your database form Each of these is likely to be used to store a value that s calculated or derived by programming and referred to elsewhere in programming This is exactly how variables are used in Sesame But instead of using a field you simply assign a name to the variable and give it an initial value if you want You can then refer to it by name in subsequent programming Here are a few examples Constructing a full name by stringi
10. cate Records August 1999 Identify Near Duplicate Records May 1993 and Isolating and Marking Duplicate Records May 2000 2 Or you can have Q amp A export the dupes to an ASCII file Remove Duplicate records to ASCII and then use the resulting ASCII file to import them into a copy of the database for later comparison and or correction by looking at both of the files simultaneously with two running copies of O amp A Same Printer in Windows and Q amp A Does Windows have to recognize a new printer in order for Q amp A for DOS to print to it Or is it only necessary that Q amp A recognize this new printer on it s own In other words do both Windows and Q amp A have to have the same printer installed Or can you have a certain printer installed in one and a different printer installed in the other Gary Your printer must be installed in Windows in order for the computer to print to it This install has to be for the actual printer model using the software driver supplied by the printer s manufacturer In contrast the printer you install in Q amp A is not the actual printer It is a set of control codes that will be sent to the printer you have installed in Windows So for example my setup you could have an Okidata OL14EX laser printer installed in Windows and since it emulates the HP LaserJet you could install it in Q amp A as an HP LaserJet IV Bill Halpern is co owner of Professional Co
11. do not necessarily reflect the viewpoint of Marble Publications Inc Reach Us Phone 800 780 5474 949 722 9127 Fax 949 722 9127 Email mailbox quickanswer com Web http www quickanswer com Mail Marble Publications The Quick Answer 1927A Harbor Blvd Costa Mesa CA 92627 USA decimal value of 1 4 5 4 9 4 and so forth This value will be For all even numbers NUMBER INT NUMBER 2 NUMBER 2 different based on how many skips you want in the For every 5th record retrieval NUMBER INT NUMBER 5 NUMBER 5 Jon McLaughlin 2 The Quick Answer e August 2002 Figure 1 on page 1 shows how this data looks in a Q amp A for DOS Lookup Table In the next step of the workaround we will add programming statements using the Lookup Function The function looks like this Lookup key column For example the statement 2 LOOKUP ID number 3 tells Q amp A to match the value entered in the ID number with a Key column value in the Lookup Table and then return the value from column 3 Lookup can be abbreviated to LU Go to the Program Spec and in the ID number field enter these statements ID number gt 1 First name LEFT LU ID number 1 INSTR LU ID number 1 1 Last name MID LU ID number 1 INSTR LU ID number 1 3 200 Street LU ID number 2 City LEFT LU ID number 3 INSTR LU ID number 3 1 State MID LU ID number 3 INSTR LU I
12. e In Sesame you can set a flag to permit the record to be advanceable or not This way your form programming validations can control whether you can save the data in the record or block saving it In other words you can prevent a user from saving incomplete or incorrect data WriteLn Debug WriteLn write line is essentially a diagnostic tool You can program Sesame to write whatever you want text field values variables or a combination of these and display this in a pop up window This can be useful as a window into what s going on at a particular stage in your programming The WriteLn buffer is cleared on closing the window but if you leave the window open then the contents of it are cumulative that is subsequent WriteLn writes are shown in the window too This makes it more versatile Though designed to serve as a diagnostic tool during development of your Sesame applications WriteLn can also be used as an ongoing window to show results or otherwise convey meaningful context sensitive messages to the user Subform access As you are probably aware by now in Sesame you can place subforms on your form The subform shows child records such as line items for an invoice or sales order individual donations from a donor parts that make up an assembly or tracks on a music album the examples are limitless Now wouldn t it be nice if you could add up the value of the line items see Figure 1 or total the dona
13. eep it going as long as you use Lesspace or partition your drive Duplicate Records a Misnomer Will be able to check for duplicate records without removing them in the forthcoming new Sesame product With Q amp A 4 0 I have to use the Remove Duplicate Records feature and write down the ones Q amp A shows as dupes and not remove them until can see which of the two or more I can safely remove I may have to transfer data from one duplicate record to the other before remove the one s no longer need Maxine In O amp A removing duplicate records is actually a misnomer Q amp A does not search for Duplicate Records It looks for records where certain fields specified by the user contain duplicate data A true duplicate record is one in which all of the data is exactly the same in more than one record Sesame treats duplicates in the latter manner and allows for removal of these records It does not look for partial duplicates However if all you want to do is look at records where some fields are the same as fields in other records you can do this in Q amp A by The wWw quickanswer com Complete Back Issue Index 1990 to date Comprehensive Topic Index 1990 to date e Info on Online Subscription Benefits Answer online 12 1 Utilizing the sort and programming capabilities in the report module See How to Create a Duplicate Record Report February 1997 Also see A Quick Check for Dupli
14. ere Nothing Without specifying a database as a default merge file you will simply have to select the database you want the first time you press Alt F7 when setting up a merge document This is a very small price to pay to recover the ability to print expanded fields Make Multiple Selections from Pop Up Lists I have been using Q amp A 5 0 for DOS since it came out I love the ability it has to present my data entry people with pop up lists that essentially eliminate data entry errors However I have recently come across the need to be able to select multiple entries from the same list and add them to a Keyword field separated by semicolons But there is one thing can t seem to figure Every time an item is selected from the list it replaces the existing entry in the target field What I really want to do is be able to select multiple insurance companies who are accepted by some of my clients Is this possible Jennifer Leave this line blank Figure 2 Leave the Name of Merge File line empty Send your Q amp A questions to Help The Quick Answer Marble Publications Inc 1927A Harbor Blvd Costa Mesa CA 92627 or email to mailbox quickanswer com Include your name address phone and your Q amp A version number and whether DOS or Windows and a detailed description of the problem We ll publish those questions we feel are of general reader interest individual responses aren t possible The Quick Answer e August 200
15. lds and field navigation In all these examples in Q amp A there will never be anything you want to actually save in these programming only fields but you need them nonetheless This is clearly a waste of storage space For a database of 1 000 records you have 1 000 storage units that will never store anything In Sesame you use variables in memory actual command buttons loops and subroutines a far more efficient solution Unbound fields When you want to see a calculated field such as an amount including tax or the extended price of a sales item price multiplied by quantity you don t actually need to store that value in a predefined database field in Sesame as you have to in Q amp A It is more efficient to only calculate it as required such as when a particular record is viewed in a form or printed in a report In Sesame you can create unbound fields on forms or reports to show any such derived data By unbound I mean that the data is not stored in or part of the definition of the data record itself It s a little like a report derived column where you have Q amp A calculate a value and include it in the report but that value is not saved in the database Continues on page 10 Memory Error When Printing Expanded Fields just set up my new Dell Optiplex 1 7 Ghz computer with Windows 2000 installed and I can no longer print anything from an Expanded Field I get the message Not enough memory to complete your reque
16. ll can cause NTDVM DOS Virtual Machine errors However running these compiled executables to start Q amp A is perfectly fine Bat2Exec can be used for any Windows or DOS based program that can be run from a batch file and that s pretty much any program Using Bat2Exec to start your programs is a great way to be certain that your program is running the way you intended in the memory space it needs to run freely Bat2Exec was written in 1990 by Ray Bolling and was distributed with PC Magazine It is available in this month s Quick Answer download file and at http nisn free fr batch down Bat2Exe ZIP J eff Jeff Noreman has been in the computer industry since 1981 He isa database programmer with expertise in several applications a network engineer a trainer and a security consultant with expertise on Windows and Macintosh platforms He is the president and founder of Nexus Unlimited Inc an IT consulting firm that also builds computers serving clients from home users to Fortune 500 firms all over the world J eff also heads nexus internet com a provider of web amp e mail hosting as well as dialup and broadband internet access He has spoken at many conferences including the most recent Quick Answer seminar eff has been a Symantec Premier Level Q amp A Consultant since 1990 and a Q amp A user since it was released While proofreading this issue T J Shuflin made the following observation and suggestion Jeff menti
17. might be any database using an ID number to lookup name address and phone information This type of data might easily require at least six fields in the database First name Last name Street City State Zip and Phone Of course with only four Lookup columns a lookup like this is not readily possible My workaround involves storing two or more lookup values in one column separated by something unique like Then during the lookup special programming is used that recognizes only the data to the left or right of the separators KEY 1 3 4 ID number First Last Street City State My Town WA Zip Phone 12334 888 3 502 Jon McLaugh1n 123 B St Figure 1 This Lookup Table contains a header row to identify the data and one lookup data row with the Key value 502 Notice how the data values are separated by The Do It Yourself Guide to Q amp A 1 Extra Lookup Table Columns Jon McLaughlin 2 Editorial 2 Tip Retrieve Every Nth Record 4 Sesame Seeds New Programming Features in Sesame 6 Help Edited by Bill Halpern e Memory Error Printing Expanded Fields e Multiple Selections from Pick Lists Q amp A Win Adding New Fields Forms System Error in Q amp A 3 0 Duplicate Records a Misnomer e Same Printer in Windows and Q amp A 8 Review A Convenient Utility BAT2EXEC 9 Tip Easier to Manage Pick lists MARBLE PUBLICATIONS For example Ill use col
18. mputer Technology Associates PCTA in Newtown Pennsylvania and is President and CEO of Lantica Software LLC 215 598 8440 bill pcta usa com www pcta usa com Info on the Q amp A successor product e Q amp A Tips and Ideas e Searchable Solutions Database Dozens of Free Files to Download e Full Database Applications e Q amp A Consultants Directory e Links to Useful Web Sites amp More The Quick Answer e August 2002
19. n Alpha Beta Corp in column 1 immediately to the right of the Key column Jim Smith in column 2 and 212 324 8877 in column 3 all on the same row Column 4 is blank in this case See Figure 2 With this data in the Lookup Table and fields in the database named Company Buyer and Phone you could use asimple program like the following in the Company field to auto fill these three fields in a database record gt If Company lt gt Then Lookup Company 3 Phone Lookup Company 2 Buyer Lookup Company 1 Company This way if you typed abc or ABC into the Company field and pressed Tab or Enter Q amp A would automatically fill the Phone Buyer and Company fields in that order In this case since you re having Q amp A auto fill the field that contains the Key value ABC in the Company field you d need to fill the Company field last Otherwise ABC would initially be overwritten with Alpha Beta Corp and there would be no Key column match in the Lookup Table for the other two lookups In this example once the Company field is auto filled the programming would not then change it or the related fields when you moved in and out of it during the normal course of working in the record That s because there would be no Key value in the Lookup Table that matched Alpha Beta Corp 4 You must have values on the last line of the current page before you can enter values
20. nd complicated but in reality they are very simple and can be tremendously useful See the sidebar on page 11 for examples Arrays Arrays are completely new in Sesame though the concept is not new to O amp A Imagine a Q amp A Lookup Table you use with a database You have a Key column and four available data columns you can use to retrieve information based on a field value that matches an entry in the Key column One example of where a Lookup Table might be used would be to enter each of the 50 state abbreviations in the Key column the corresponding full state names in Column 1 then use a Lookup programming command to lookup a given state s full name based on entering just the abbreviation A second column of the Lookup Table could be used to retrieve the sales tax rate for that state a third for the shipping cost to that state and so on Well this is a true even if static array In Q amp A you have to create the table in advance of using the database In Sesame you can create it as an array in memory on the fly with programming or by reading it into memory from a delimited text file or other source The advantages in Sesame are that there is no limit to the number of columns no limit to the number of rows you can update and otherwise manipulate the array values with programming commands and it is very fast Don t for a minute think that Iam saying that you have to use arrays instead of lookup tables No All of these
21. ng together a person s first name and family name Calculating a value to be posted such as a bonus amount A flag that determines whether a record is new ready to be finalised posted or whatever e Any intermediate calculation results I sometimes see a whole page of such fields in Q amp A databases For these kinds of temporary storage needs you will no longer have to add a field to the database to store temporary or calculation only data You will only need fields to store data that you want to keep in that record This is quite powerful since almost anything you can do with a field you can also do with a variable For example where in Q amp A you might read a text file into a field to be parsed then throw it away like this TempField Insert companies txt RealField Left TempField 25 TempField In Sesame you can do the same thing without the overhead of an additional always otherwise empty database field var InsertCompany as String InsertCompany Insert companies txt RealField Left InsertCompany 25 In this same vein and this is not strictly a programming change Sesame will also offer command buttons you can customize to activate programming or a macro In Q amp A for DOS some people have done this by creating a button or activation field just for the purpose of having something to click on A good example is the field you might use to activate the WinCli
22. on the next page Figure 2 The Lookup Table with the Key column and three adjacent lookup columns filled The Quick Answer August 2002 3 sesame New Programming Featuresin Sesame By ALeEc MULVEY IS month I d like to introduce you to some of the new programming features in Sesame Oh I hear you ask I thought that Sesame programming was going to be the same as Q amp A s Absolutely correct It will be almost completely backward compatible with Q amp A The changes are mainly in the form of programming additions Powerful enhancements How important are these additions Immensely There are certain facets of Sesame that make it a much more powerful far more flexible database manager than O amp A None of these is more important in this respect than Sesame s programming language called SBasic Sesame Basic SBasic was designed from the ground up as a complete self contained programming language It incorporates all the familiar Q amp A functions and commands and adds quite a few new ones These features address all the shortcomings of Q amp A s highly useful but too limited programming language Developers will find that they have all the tools they need to create more powerful database applications and easier than in Q amp A When you think about it a large proportion of the articles in The Quick Answer over the years have been about the ingenious ways that developers such as Tom Marcellus and Bill Halpern h
23. only will you be able to read your own programming you can t and neither can anyone else read 330 420 180 but it often overcomes the common problem of sequencing that is wrong values being used because the field referred to hasn t yet been calculated The Sesame translation process will convert field numbers in your Q amp A programming to field names Also there are a few syntax changes but very few The most notable is that the construction whereby you perform multiple XLookups in one XLookup statement will need to be replaced by separate statements For example you would change this XLU ADDRESS ADNO Account Code VAT VAT Address1 sADNO m F ACCOUNT ADDRESS1 To this XLU ADDRESS ACCOUNT XLU ADDRESS XLU ADDRESS ADDRESS1 ADNO ADNO Account Code ADNO ADNO sADNO LA sADNO F VAT VAT vAddressi1 Notice that in Sesame you don t need a semicolon to separate the programming statements Conclusion Sesame offers not only superb compatibility with Q amp A but greatly augments Q amp A s programming language turning it into a rich development environment Furthermore inconsistencies between Q amp A s various multiple programming languages Program Spec Mass Update Spec Navigation Spec are removed so that there is one universal programming language Alec Mulvey is a director of Lan
24. ons placing the files that are expanded from the zip file into the same directory as the batch file s you wish to compile Wouldn t it be better to 1 set up a folder with the Bat2Exec program in tt 2 copy the batch file that you want to convert to that folder 3 perform the conversion on it 4 copy the newly created com file to where it needs to be 5 delete the bat file and com files from the BAT2EXEC folder then 6 repeat this process for other batch file conversions Otherwise you d be copying all the expanded files from the zip file into possibly several folders doing the conversion and leaving all those extraneous files all over the computer in numerous folders uick Easier to Manage Pick Lists T Ip There are a number of tweaks you can perform to make your Userselect pick lists easier to deploy and manage Here s how recently designed a color list for a client s database First saved the list of colors in a Q amp A Write document named Colors doc The list simply runs down the page in any order as shown below the Userselect command takes care of alphabetizing the selections Blue Green Red Purple Orange Black White In the database programmed the Color field this way gt If Color Then Color Color 1 1 Color Insert Docs Colors doc The Quick Answer August 2002 Color Replace Color mS mony Color Userselect Color Color Color 7 1
25. p utility The Quick Answer e August 2002 Global variables Variables are extremely useful but by their nature they are volatile They can be considered short term storage containers But some variables need to have a longer life You might want to store something for reference from any part of your application on an ongoing basis An example might be a tax rate that rarely changes Throughout Europe we have a tax called VAT Value Added Tax applied to all transactions business as well as consumer and it rarely changes This is an example of a variable that you want to have global scope In other words you want to put it in memory where it is available to any number of applications Another example is where you are sharing the same application among two or more company names you own For a particular data entry session you might want to be doing something for Company A while in another session you might want to be doing work for Company B At some point when starting your session you could declare that you are working on Company B and have Sesame read Company B s variables into memory in a way that would make them available for use throughout the application You might need to create multiple Number sequences instead of only one per database For all these you would use Global Static variables Global Statics retain their values even if the database is closed and reopened They sou
26. poration MsgBox You are working with GlobalValue gsCompanyName GlobalValue gsCompanyName XYZ Corporation MsgBox Now you are working with GlobalValue gsCompanyName Notice in the above example that the Global Static CompanyName is prefixed with a gs This is entirely optional When creating variables and Global Statics it s a good practice to prefix them with a code that tells you that they re variables such as vBonus for a bonus variable and gsCompanyName for CompanyName as a Global Static This way if you also had a regular local variable named vCompanyName along with afield named CompanyName there would be no confusion as to which was which Sesame requires you to declare your variables in advance of using them and say what type of data they are to contain This helps you and Sesame keep track of them as distinct from other named elements such as fields 11 Help econt d from page 7 1 Make a backup of the database before attempting any repair 2 Copy the design of the database to a new name 3 Copy all of the records to that new design 4 If successful download and use the Lesspace program to protect against the large hard drive issue You can download a working evaluation copy of Lesspace from the Free Downloads page at www quickanswer com If you have one of the later versions of Q amp A 3 0 dated 10 26 1989 and this fix works then you should be able to k
27. same high level of quality content you ve come to expect It s too early to predict when the Sesame beta testing program will be completed and the product released Keep in mind that this is version 1 0 and the Lantica team will see that the testing program takes as long as it takes to ensure a solid product We are getting close Tom Marcellus Quick How to Retrieve Every P Nth Record In any database with a number field there are several ways to retrieve every nth record These types of retrieves can be used to get a more random sampling of a database The following programmed record retrieval specs must be typed in the NUMBER field or its equivalent in the NUMBER Retrieve Spec eae NEER ROUND NUMBER For all odd numbers 4 1 For every 4th record starting at 1 1 5 9 13 and so on In the last example the value 0 2 isthe NUMBER INT NUMBER 2 lt gt NUMBER 2 The Answer Editor Publisher Tom Marcellus The Quick Answer ISSN 1052 3820 is published monthly in a downloadable electronic Acrobat PDF edition by Marble Publications Inc 1927A Harbor Blvd Costa Mesa CA 92627 USA A Subscriber ID is required to download each issue Cost of subscriptions 12 issues 89 anywhere in the world Single copy price 9 All funds must be in U S currency Back issues available upon request for the same price as a Single copy Back issues from 1990 through 2001 available in
28. st I am using Q amp A 4 0 for DOS and the task is very simple Go to any field press F6 to open the field editor press F2 for the Print Options screen and then press F10 to print At this point the error message appears used to do this all the time Is this a problem with my new computer with Windows 2000 or both Monique Well Monique almost had stumped me with this one We went round and round and she finally sent me the offending computer to check it out because we could not duplicate the problem on any combination of PCs or operating systems we had The good news is that the problem is not with the computer nor with Windows 2000 After determining the cause we managed to duplicate the problem on Windows XP 2000 and 9X Nor is the problem limited to Q amp A 4 0 Q amp A 5 0 will produce the same error Have I piqued your curiosity The bug is connected to a setting in Q amp A Write s word processor global options area It appears that if you enter a default Merge File name on the last line of the GLOBAL OPTIONS P Change print defaults Figure 1 Changing the print defaults for new Write documents Hel D EDITED BY WILLIAM HALPERN Write Utilities Set Global Options Change Print Defaults screen see Figures 1 and 2 the F6 expanded field printing option Out of Memory error message will appear Blanking out this line makes Q amp A whole again and the issue goes away What are you losing h
29. t do that if the program they run is compiled An even stronger advantage is the ability to change the memory settings that your program lives in when it is run Here s an example Drag a shortcut of your qastart bat batch file to the desktop which I typically call qa bat bat When you check the properties of that shortcut see Figure 1 you have several options but not the ability to change the memory space the program runs in Now see the options available from the compiled version of your batch file Figure 2 Memory settings which help many programs like Q amp A run perfectly are at your disposal Using Bat2Exec To use Bat2Exec first unzip the Bat2Exe ZIP file included in this month s download file Place the files you just expanded in the same directory as the batch file s you wish to compile Shortcut to startga bat Properties Shortcut to STARTOA COM Properties Wh en you General Shortcut Options Font Layout Colors Compatibility Screen Misc Compatibility sees run General Program Font Emory Bat2Exec rg Shortcut to startqa bat Conventional memory don t forget Initial Total Auta environment I O24 to use the Target type M5 D05 Batch File Bi Piles bat Target location workareag z IEKE extension on spande memory Target DC wiorkaread startga bat Total hoa gt the batch file 5 you wish to Start irr CAworkaread Extended M5 memory compile Just T otal i O24 a open a Shortc
30. t struggle to find uses for some of these features but take it from me in a not too distant future you will see some imaginative and essential techniques described in the successor publication to The Quick Answer Notify form In Q amp A it is common to add programming to validate a record This might consist of checking that certain fields have been filled and maybe checking the values in one field against those in others in this record or even in another database using XLookup This programming is typically on record exit programming All very well except for one thing the programming is literally on record exit Sesame Beta Yersion 0 222 7 C sesame data Sales _Order db File Edit Macro wiew Help a Z zs E J Search Update Menu Application Menu Exit Search Update Search Fr Open Spec Manager Navigation Record commands Delete Record F3 Print Form Print Preview Form Calculate Fa Remove From Results Edit Commands _ Other Commands Results Commands Copy Mass Delete Macro 07 11 2001 Mass Update Print Forms Print Preview Forms Export Data Tiare Mo imli akae Gear mma d Sort Orders Company Skate Order Date Order Ref TOTAL uber Description Price gty Ext Price 49 950000 city J 47 000000 you ve already left that record by the time the validation has been performed So in a way it s too lat
31. tica Software LLC and also owns Keyword Software amp Consultancy in Ascot near London England Alec has been building Q amp A applications and training clients for 12 years Keyword Software is the UK distributor for the International English edition of Q amp A alec keywordsoftware com http www keywordsoftware com The Quick Answer August 2002 A Few Sesame Programming Tricks with Variables amp Loops In this article you ve read about some of the new Sesame programming features such as variables and loops Here are a few brief programs courtesy of the Sesame development team that will give you some hints about how you might use them in a Sesame application Creating a variable with the full name from data in the FirstName and FamilyName fields then finding the length number of characters of that full name var FullName as String FullName FirstName FamilyName FullNameLength Len FullName Calculating a bonus amount for the BonusAmount field var Bonus as Int If Salary lt 80000 Then Bonus Salary 0 02 Else Bonus Salary 0 035 BonusAmount ToMoney Bonus Using a While loop to find the date of the next business day when the ShipDate is a Saturday or Sunday ShipDate OrderDate 7 While DOWS ShipDate Saturday Or DOWS ShipDate Sunday ShipDate ShipDate 1 Assigning a Global Static variable then changing it GlobalValue gsCompanyName ABC Cor
32. tions or count the subrecords In Sesame you can It has programming functions that give you access to the subform data records and all the tasks you re likely to want to do such as the above examples can be done What about Q amp A compatibility As I said earlier virtually all O amp A programming is compatible with Sesame So not only will it convert to Sesame but you can carry on using O amp A programming techniques and syntax virtually unchanged in 1 000000 3 000000 49 950000 141 000000 Figure 1 Main form Sales Order and subform Line Items with the subform total shown 10 The Quick Answer e August 2002 Sesame Many of the Q amp A techniques can be replaced by superior Sesame methods but as with so many things in the new program you don t have to use them There will be some changes that need to be made and these will be covered in more detail in forthcoming articles here in The Quick Answer For example field names that equate to or include a reserved Sesame word are not permissible in Sesame programming The foremost example is a field name Date This is the name for a data type in Sesame and so is not allowed you ll have to change it to Sales_Date or something similar You will need to use field names in programming instead of LFN s Logical Field Numbers commonly used in O amp A Once you get used to this you ll find that it is actually far easier to use field names Not
33. u select Done from the list You will then be placed in the field following the Insurance field Make sure to make the Insurance field a legitimate Keyword field File Design Customize Format values so that you can use it to perform Keyword searches and reports A word of caution Without some rather sophisticated additional programming this method will allow the user to enter the same selection over and over But by playing with the Instr function which you can use to find the occurrence of an insurance company that s already in the field you should be able to prevent this as well as build another pop up list to remove existing entries The Quick Answer August 2002 Q amp A for Windows Adding New Fields Forms We recently purchased Q amp A for Windows to upgrade from Q amp A 4 0 for DOS I have inherited the job of changing Q amp A as needed The person who originally set up the database used the Master Form as the one and only input form We have about 8 000 records each with about 300 fields The boss wants me to add some new fields I can t add to the Master Form so is there a way to save the master form with all its formulas etc as a new form with a different name that is editable Steve Many people using Q amp A for Windows make this mistake The Master Form is where your entire database design and structure is maintained It is also the place that O amp A stores all of the fields in the design and
34. umn 1 in the Lookup Table to contain the First and Last name formatted this way Jon McLaughlin Column 2 will contain the street address Column 3 will contain the City and State like this My Town WA Finally column 4 will contain the ZipCode and Phone like this 12335 888 987 6543 Continues on page 3 Sesame In Beta Testing TH Sesame having recently entered the inital phase of beta testing now s a good time to reiterate our plans for The Quick Answer and the new monthly guide we intend to launch in support of the coming Q amp A replacement product We will continue to publish The Quick Answer as long as it is self supporting in other words until our subscribers evaporate hopefully by migrating to our new publication on Sesame After more than 12 years of publication it will sadden us to see it go But the parting will be sweet sorrow since we ll be launching the new publication for a product that will enable Q amp A users or anyone to enjoy new levels of power flexibility and ease of use in meeting their data management needs If you are a current subscriber to The Quick Answer when we retire it you ll have two choices roll over your remaining issues to the new Sesame publication on a straight one for one basis or receive a full refund on any remaining unpublished Quick Answer issues to which youre entitled In the meantime we will continue to bring you The Quick Answer each month with the
35. ut key None key wd hese cs command Burt Normal window MS DOS line window D protected mode DPM memor run the Total Aut Comment PRA S simple one Eind Target Change Icon Advanced line command It should lookvery similar to 2s Canoe this Figure 1 Properties of a shortcut for a batch file in Windows XP Notice that there are no memory setting facilities Figure 2 Properties of a shortcut to a com file in Windows XP showing the Memory tab The Quick Answer e August 2002 bat2exec gqastart bat This compiles the batch file qastart bat into qastart com and saves it in the same directory as Bat2Exec and the batch files I tried this command with Bat2Exec in one directory on one drive and the batch file on another drive and it did not work The document file that accompanies Bat2Exec states that you should not include TSR terminate and stay resident programs like lesspace com which many of us use This warning does not hold true in Windows 2000 and Windows XP when running either batch files or the compiled programs that Bat2Exec creates That s because when the program closes the virtual DOS session that it worked in closes too So all of your computer s memory is again available Bat2Exe and Shell If you make extensive use of the Shell command in Q amp A I would not run these compiled files from Shell In Windows XP calling executable programs from She

Download Pdf Manuals

image

Related Search

Related Contents

Samsung SAMSUNG WB1100F Керівництво користувача  • Owners Manual • Manual del propietario  RELAÇÃO DE COMPONENTES PROBLEMAS E SOLUÇÕES  

Copyright © All rights reserved.
Failed to retrieve file