home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / MSWBASE2.ZIP / README.TXT < prev    next >
Encoding:
Text File  |  1990-03-28  |  24.3 KB  |  697 lines

  1. ===============================================================================
  2.                 MICROSOFT DATABASE VERSION 1.00 March 20, 1990
  3. ===============================================================================
  4.  
  5. This document contains information which could not be included in
  6. the User Guide.
  7.  
  8. FUTURE RELEASES OF MICROSOFT WINDOWS
  9. ------------------------------------
  10. Microsoft Database is designed to be compatible with future releases of
  11. Microsoft Windows. In the event of a future release of Microsoft
  12. Windows not being compatible with your copy of Microsoft Database, contact
  13. your supplier for details of forthcoming updates of Microsoft Database.
  14.  
  15. ADDITIONAL AND EXTENDED DML COMMANDS
  16. ------------------------------------
  17. The SET EDIT ATTR ON command forces all form data editing into monochrome:
  18. black text on a white background.  The purpose of the command is to
  19. provide an editing focus for the user where the presence of colored fields
  20. on a form could be confusing.
  21.  
  22. The command may be executed either before an enter command or before native
  23. mode data entry.
  24.  
  25. SET EDIT ATTR OFF makes data entry use the colors originally defined for
  26. the field.
  27.  
  28. CALL
  29. ----
  30. CALL may be modified to force a called application to open its window
  31. in a pre-defined mode. The extended syntax for this command is:
  32.  
  33.      CALL strexpr [,nexpr]
  34.  
  35. Nexpr may have the value 0, 1, 2, 3, or 4.
  36.  
  37.      0    Application runs in a minimized window
  38.      1    Application runs in a normal window
  39.      2    Application runs in a minimized window as an icon
  40.      3    Application runs in a maximized window
  41.      4    Application runs in a deactivated normal window
  42.  
  43. EJECT GROUP
  44. -----------
  45. The EJECT command has an optional parameter GROUP, which should be
  46. used to suppress the EJECT for the last group in a report. This
  47. avoids the unnecessary printing of a blank page after the last
  48. group.
  49.  
  50. EXPORT ENABLE
  51. -------------
  52. The EXPORT command allows you to specify a dBase destination file.
  53. By including the parameters "2" or "3" you may distinguish between
  54. dBase II and dBase III.
  55.  
  56. You may also export Enable files. If you wish to create an Enable
  57. file definition ($BF extension), use the parameter "0" instead of
  58. "2" or "3".
  59.  
  60. SET FN KEY
  61. ----------
  62. The SET FN KEY ON/OFF command allows the WAIT KEY command to detect the
  63. depression of a function key. If you want to be able to detect
  64. function keys with WAIT KEY, execute SET FN KEY ON prior to the WAIT
  65. statement itself.
  66.  
  67. Use SET FN KEY OFF to disable the detection of function keys by WAIT
  68. KEY.
  69.  
  70. When you are using Function Keys inside of a DML program, it is necessary to
  71. remember that, unlike in the Menu driven level, commands stored in Function
  72. Keys are not executed.  Instead, the first character of the function key is
  73. returned to the WAIT KEY or GET command that normally looks at keyboard
  74. input.
  75.  
  76. For this reason, the use of function keys inside of a program must be
  77. limited to to those applications where it is possible to pause and look at
  78. keyboard input.  The following example shows an example of using function
  79. keys inside a DML program:
  80.  
  81. Example
  82.         REM *** Setup
  83.         CLS
  84.         ? "Press Shift-F10 to quit"
  85.         REM *** Set up Shift-F1 to Shift-F10 as ASCII 129 to 138
  86.         FOR x%=1 TO 10
  87.                 Key x%, CHR$(x%+128)
  88.         NEXT x%
  89.         REM *** Turn on FN Keys
  90.         SET FN KEY ON
  91.         REM *** Wait for a key
  92.      GetKey:
  93.         WAIT KEY a$
  94.         IF ASC (a$) < 129 OR ASC (a$) > 138 THEN REQUEST "Normal Key
  95.                 hit","",113: GOTO GetKey
  96.         ? "Shift-F";LTRIM$ ( STR$ ( ASC (a$) - 128,"99."));" key pressed."
  97.         IF ASC (a$) = 138 THEN END
  98.         GOTO GetKey
  99.  
  100. FN alpha
  101. --------
  102. The function FN alpha (x$) returns a string containing only
  103. alphabetic characters (a-z, A-Z) from x$.
  104.  
  105.      x$ = "abcd-123;"
  106.      y$ = FN alpha (x$)
  107.  
  108.      y$ contains "abcd"
  109.  
  110. FN ansi
  111. -------
  112. The function FN ansi (x$) returns a string in which all IBM characters
  113. are converted to the ANSI character set.
  114.  
  115.      y$ = FN ansi (x$)
  116.  
  117. Converts any IBM specific characters to their ANSI equivalent. See
  118. also FN ibm (x$).
  119.  
  120. FN ibm
  121. ------
  122. The function FN ibm (x$) returns a string in which all ANSI characters
  123. are converted to the IBM character set.
  124.  
  125.      y$ = FN ibm (x$)
  126.  
  127. Converts any ANSI specific characters to their IBM equivalent. See
  128. also FN ansi (x$).
  129.  
  130. FN numeric
  131. ----------
  132. The function FN numeric (x$) returns a string containing only
  133. numeric characters (0-9) from x$.
  134.  
  135.      x$ = "abcd-123;"
  136.      y$ = FN numeric (x$)
  137.  
  138.      y$ contains "123"
  139.  
  140. FN path
  141. -------
  142. The function FN path (x$) returns a string containing all pathname
  143. characters including final backslash from x$. x$ should be a
  144. filename together with its path.
  145.  
  146.      x$ = "c:\data\myfile.sbf"
  147.      y$ = FN path (x$)
  148.  
  149.      y$ contains "c:\data\"
  150.  
  151. FN root
  152. -------
  153. The function FN root (x$) returns a string containing the root of
  154. the a filename from x$. x$ should be a filename together with its
  155. path.
  156.  
  157.      x$ = "c:\data\myfile.sbf"
  158.      y$ = FN root (x$)
  159.  
  160.      y$ contains "myfile"
  161.  
  162. FN name
  163. -------
  164. The function FN name (x$) returns a string containing a filename
  165. together with its extension from x$. x$ should be a filename
  166. together with its path.
  167.  
  168.      x$ = "c:\data\myfile.sbf"
  169.      y$ = FN name (x$)
  170.  
  171.      y$ contains "myfile.sbf"
  172.  
  173. FN ext
  174. ------
  175. The function FN ext (x$) returns a string containing the extension
  176. of a filename from x$. x$ should be a filename together with its
  177. path.
  178.  
  179.      x$ = "c:\data\myfile.sbf"
  180.      y$ = FN ext (x$)
  181.  
  182.      y$ contains ".sbf"
  183.  
  184. FN dec
  185. ------
  186. The function FN dec (x$) returns the decimal equivalent of a string
  187. presumed to contain hexadecimal.
  188.  
  189.      x$ = "1F"
  190.      y% = FN dec (x$)
  191.  
  192.      y% has the value 31
  193.  
  194. FN hex
  195. ------
  196. The function FN hex (x%) returns a string containing the
  197. hexadecimal equivalent of a decimal.
  198.  
  199.      x% = 31
  200.      y$ = FN hex (x%)
  201.  
  202.      y$ contains "1F"
  203.  
  204. FORMAT$
  205. -------
  206. The FORMAT$ function may be used to force query and report output
  207. to wordwrap within a column. The full syntax is:
  208.  
  209.      FORMAT$ (strexpr, nexpr1 [,nexpr2])
  210.  
  211. FORMAT$ formats a text field or variable to a specified width by
  212. inserting carriage return characters.
  213.  
  214. Strexpr is normally the fieldname of a text field, which may be up
  215. to 4000 characters long (see Note below). Nexpr1 defines the width
  216. of the column in characters.
  217.  
  218. Nexpr2 specifies the line of the field to be output, allowing you
  219. to position formatted text precisely. If nexpr2 is omitted, the
  220. formatted text will be output in its entirety before any other
  221. items are output.
  222.  
  223. 1.   SELECT name.CLIENTS, @30 FORMAT$(comments.CLIENTS,40,1),
  224.      telephone.CLIENTS, @30 FORMAT$(comments.CLIENTS,40,2),
  225.      @30 FORMAT$ (comments.CLIENTS,40,3), @30 FORMAT$
  226.      (comments.CLIENTS,40,4), @30 FORMAT$(comments.CLIENTS,40,5)
  227.  
  228. Prints name, first line of comments field, and telephone number,
  229. then prints the next four lines of comments. The text in the
  230. comments column will be wordwrapped.
  231.  
  232. 2.   ? FORMAT$(field1,25)
  233.  
  234. Prints the contents of field1 in a columns 25 characters wide,
  235. wordwrapping text when necessary.
  236.  
  237. Note. Because FORMAT$ actually inserts formatting information into
  238. a field or variable, the formatted length may exceed 4000
  239. characters. In this case, characters beyond the 4000 maximum will
  240. be discarded.
  241.  
  242. ORDER
  243. -----
  244. ORDER as a system variable.  When used as a system variable, ORDER
  245. allows you to determine the data entry order of the last field edited
  246. on a form.
  247.  
  248. Normaly the ORDER system returns the data entry order number of the last
  249. field or variable entered during Form data entry.  However, if the user
  250. presses ESCAPE to terminate data entry, ORDER returns a negative number.
  251.  
  252. If data entry is being done in Page or Record view, there is no data entry
  253. order number as this feature only applies to Forms.  ORDER returns 1 when
  254. data entry ends after the last field has been completed, or -1 of ESCAPE
  255. has been used to terminate data entry.
  256.  
  257. ORDER as a DML command.  ORDER is a Query Language command and can only
  258. be used in a Query or Report section (i.e, in conjunction with the Query
  259. Language command SELECT).
  260.  
  261. SET POSITION
  262. ------------
  263. The optional extension FOR windowname may be used to set the window
  264. position of an application invoked with CALL, such as Microsoft
  265. Windows Control Panel.
  266.  
  267.      SET POSITION FOR "control" x%,y%,w%,h%
  268.  
  269. The string "control" matches the text in the center of the window's
  270. title bar.
  271.  
  272. STORE
  273. -----
  274. The STORE command has additional syntax which allows you to store
  275. records faster than usual, with the drawback that the data is not
  276. secured automatically. This means that you can enter a batch of
  277. records and wait until you are ready to secure them, thus saving time
  278. during data entry. The extended syntax is:
  279.  
  280.      STORE [,0/1/2] [FORM/FILE sbfname]
  281.  
  282. STORE,1 stores the current record without updating the file header.
  283. The time taken to save the data on disk will be reduced, but the data
  284. is not secure. A power loss, for example, would result in the entered
  285. data being lost. Note that the command only operates on the current
  286. record, i.e. it does not set this mode for future STORE commands.
  287.  
  288. STORE,2 makes the file secure. It does not save the current record as
  289. such, but updates the control information in the file header. YOU
  290. MUST EXECUTE  STORE,2  AFTER  STORE,1  IN ORDER TO SECURE THE DATA.
  291.  
  292. STORE,2 does NOT take the FORM or FILE parameters. It secures all
  293. unsecured data automatically.
  294.  
  295. STORE,0 is optional and therefore is the same as STORE on its own.
  296. Data is secured as it is written directly to disk.
  297.  
  298.  
  299. WAIT PANEL LOCK
  300. ---------------
  301. The optional parameter LOCK may be used with WAIT PANEL. This prevents
  302. the user from switching to another page of the form while using the
  303. browsing controls under program control.
  304.  
  305. NOTE: If you wish the browsing controls without the panel showing up on
  306. the screen AND you do not wish to have the user flip back and forth
  307. between form pages, use the command: WAIT PANEL OFF LOCK
  308.  
  309. FURTHER NOTE: When you are in a program, several error conditions may
  310. occur that will terminate program execution unless you specifically
  311. look for them. A small program to do this would be:
  312.     OPEN FORM "BrwsForm"
  313.     ON ERROR GOTO CheckTrap
  314.    AlowBrowsing:
  315.     FORM 1
  316.     WAIT PANEL OFF LOCK
  317.     GOTO AllowBrowsing
  318.    CheckTrap:
  319.     IF ERRNO=8 THEN REQUEST "No such record.","",2,n%:RESUME AllowBrowsing
  320.     IF ERRNO=10 THEN REQUEST "End of File.","",2,n%:RESUME AllowBrowsing
  321.     IF ERRNO= THEN REQUEST "Break detected.","",2,n%:END
  322.     REQUEST "Unexpected error has occured:",ERR$(ERRNO),113,n%
  323.     END
  324.  
  325.  
  326. PROGRAMMED DATA ENTRY
  327. ---------------------
  328. The BREAK ENTER OFF/ON Command
  329. ------------------------------
  330. The ESCAPE key method of terminating data entry may be disabled with
  331. the BREAK ENTER OFF command. CTRL+C can still be detected after BREAK
  332. ENTER OFF has been executed, unless BREAK OFF has been executed
  333. separately.
  334.  
  335. BREAK ENTER ON re-enables ESCAPE data entry termination.
  336.  
  337. Using CTRL+C to terminate data entry
  338. ------------------------------------
  339. Unless the BREAK OFF command has been executed, CTRL+C can be detected
  340. during data entry.
  341.  
  342. CTRL+C generates error number 11, which may be trapped following the
  343. ON ERROR GOTO command.
  344.  
  345. Using ORDER with ESCAPE key termination of data entry
  346. -----------------------------------------------------
  347. Normally the ORDER system variable returns the data entry order number
  348. of the last field or variable entered during Form data entry.
  349.  
  350. If the user presses ESCAPE to terminate data entry, ORDER returns a
  351. negative number.
  352.  
  353. If data entry is being done in Page or Record view, there is no data
  354. entry order number, as this feature only applies to Forms. ORDER
  355. returns 1 when data entry ends after the last field has been
  356. completed, or -1 if ESCAPE is used to terminate data entry.
  357.  
  358.  
  359. STARTING MICROSOFT DATABASE BY OPENING A FILE
  360. ------------------------------------
  361. The WIN.INI [extensions] section includes four Microsoft Database file
  362. extension settings. You may run Microsoft Database by opening any of these
  363. types of file:
  364.  
  365.      SBV  Form
  366.      SBP  Program
  367.      SBF  Data file
  368.      SBD  File definition
  369.  
  370.  
  371. STARTING MICROSOFT DATABASE WITHOUT RUNNING THE MS-DOS EXECUTIVE
  372. -------------------------------------------------------
  373. You can run Microsoft Database from the MS-DOS command line with the
  374. following option:
  375.  
  376.      WIN:MSDB
  377.  
  378. The colon instructs Microsoft Windows to run without the MS-DOS
  379. executive, thus making more memory available to the system. However,
  380. this option makes it impossible to use the DML CALL command.
  381.  
  382.  
  383. REORGANIZE BACKUP FILE
  384. ----------------------
  385. The name of the backup file used by the Process Reorganize command has
  386. been changed.
  387.  
  388. If you reorganize a file using its original name, Microsoft Database first
  389. makes a backup copy of it under the filename DBXREORG. The SBF,
  390. SBD, and all index files bear this root name during the process.
  391. DBXREORG is deleted after the reorganization is completed.
  392.  
  393.  
  394. PRINTING
  395. --------
  396. Process Print in Table View
  397. ---------------------------
  398. You may need to drag columns to the right on screen to set a
  399. width sufficient to avoid truncation when printing in some
  400. proportional fonts.
  401.  
  402. Printing Object Classes in DML
  403. ------------------------------
  404. The PRINT CURRENT or PRINT FILE commands may have an optional PAGE or
  405. ALL parameter to print the current page or all pages of a form. This
  406. may now be followed by USING with up to seven optional parameters to
  407. specify centering and object class selection.
  408.  
  409. Each parameter may have the value 1 or 0 to signify whether the object
  410. class should or should not be printed. The parameters may be numeric
  411. expressions. The order of the parameters is as follows:
  412.  
  413.      1    Centering
  414.      2    Areas
  415.      3    Boxes
  416.      4    Lines
  417.      5    Text
  418.      6    Images
  419.      7    Fields
  420.  
  421.  
  422.      PRINT CURRENT PAGE USING 1,0,0,0,1,0,1
  423.  
  424. Prints the current page centered, showing only text and field data.
  425.  
  426. If all parameters are set to 0, the default dialog is presented so that the
  427. user may choose desired options.
  428.  
  429. ALIGNMENT OF OUTPUT
  430. -------------------
  431. Three modifiers are available for the & formatting parameter to specify
  432. left, right, or centered output of a field or variable.
  433.  
  434.  &[nn  Left aligned output within a column nn characters wide.
  435.  &|nn  Centered output within a column nn characters wide.
  436.  &]nn  Right aligned output within a column nn characters wide.
  437.  
  438. For example, to force a date to be left aligned in a column 20
  439. characters wide, use a command of the form:
  440.  
  441.      ? &[20 datefield.FILENAME.
  442.  
  443. Note. Proportional fonts are not supported with this feature.
  444.  
  445. The modifiers may be set from within the Report Generation part of the
  446. Form Designer. To specify the type of alignment required, select the
  447. item or items required, and click the justification tool in the
  448. toolbox to the left, vertical (centered), or right pointing position.
  449.  
  450. IMPORTING DIF FILES
  451. -------------------
  452. The character set used by DIF files is assumed to be the IBM
  453. character set, unless the ANSI conversion option has been selected
  454. or the header of the DIF file has the title "Excel."
  455.  
  456. DDE SYSTEM TOPIC
  457. ----------------
  458. The Microsoft Database system topic has been extended. This allows the DDE
  459. programmer to obtain information about the Microsoft Database system and use it
  460. to control Microsoft Database more precisely as a DDE server application.
  461.  
  462. To use the system topic from within a DDE client application such as
  463. Excel, simply specify `system' in place of the filename that usually
  464. appears as the topic. Follow this with one of the following items:
  465.  
  466.    Item name:      Returns:
  467.  
  468.    Topics          All open Microsoft Database files plus `system' itself
  469.    Formats         CF_TEXT (the only format supported by Microsoft Database)
  470.    Status          `Ready' or `Busy' or `Active'
  471.    ReturnMessage   `OK' or Microsoft Database error message
  472.    Fields          All fields for the current file
  473.    (expression)    Variable values
  474.  
  475. An example program that uses all of these functions follows.
  476.  
  477.  REM *** Written by: Mark C. Johnson
  478.  PANEL OFF
  479.  STATUS ON
  480.  CLOSE ALL
  481.  MOUSE ON
  482.  SET PAGING OFF
  483.  CLS
  484.  winver% = 2:REM if you have the next version of Windows, set this to 3
  485.  flg% = - 1
  486.  ON ERROR GOTO DDECheck
  487.  SET HEADING "Attempting to contact other Microsoft Database..."
  488.  SET POSITION FOR "Attempt"0,0,640,250
  489. Start:
  490.  DDEINIT 3,"MSDB","System"
  491.  DDEEXEC 3,"set heading " + CHR$ (34) + "Slave Task:" + CHR$ (34)
  492.  DDEEXEC 3,"set paging off"
  493.  SET HEADING "Contact Established."
  494.  DIM rt$(10)
  495. 10 :
  496.  n$ = ""
  497.  flg% = 0
  498.  SET HEADING "Enter Command:"
  499.  GOSUB GetLine
  500.  IF n$ = "" GOTO 10
  501.  IF UCASE$ (n$) = "EXIT" OR UCASE$ (n$) = "QUIT" THEN DDEEXEC 3,"QUIT":DDETERM 3:SET HEADING "":END
  502.  REM *** First try and see if it is a valid system topic
  503.  DDEREQ 3,n$,rt$(0),rt$(1),rt$(2),rt$(3),rt$(4),rt$(5),rt$(6),rt$(7),rt$(8),rt$(9),rt$( 10)
  504.  ? "Reponse to `"n$"' was:"
  505.  FOR x% = 0 TO 10
  506.         IF rt$(x%) <> "" THEN ? rt$(x%)
  507.  NEXT x%
  508.  IF winver% = 2 THEN SET STATUS "Press any key...":WAIT KEY a$:SET STATUS ""
  509.  GOTO 10
  510. 20 :
  511.  REM *** Nope, was not a valid Request.  Maybe it is a command?
  512.  flg% = 1
  513.  DDEEXEC 3,n$
  514.  ? "Command Accepted."
  515.  IF winver% = 2 THEN SET STATUS "Press any key...":WAIT KEY a$:SET STATUS ""
  516.  GOTO 10
  517. SetupOther:
  518.  REM *** Error routine for setting up other Microsoft Database if not found
  519.  CALL "MSDB",1
  520.  DDEINIT 3,"MSDB","System"
  521.  DDEEXEC 3,"set heading " + CHR$ (34) + "Slave Task:" + CHR$ (34)
  522.  SET POSITION FOR "Slave"0,250,640,150
  523.  DDETERM 3
  524.  RESUME Start
  525. GetLine:
  526.  REM *** Routine to get a command line - since Windows 2.11 is slower
  527.  REM *** than the later versions of Windows, we suggest you not use it
  528.  REM *** (set the winver% variable to 2)
  529.  n$ = ""
  530.  IF winver% = 2 THEN
  531.         REQUEST "Enter Command:","",4,n%,n$,60
  532.         RETURN
  533.  END IF
  534. GL1:
  535.  SET STATUS ">" + RIGHT$ (n$,58) + CHR$ (5)
  536.  WAIT KEY a$
  537.  IF a$ = CHR$ (8) GOTO BSpace
  538.  IF a$ = CHR$ (13) GOTO EndLine
  539.  IF a$ = CHR$ (24) GOTO WipeLine
  540.  IF ASC (a$) < 32 OR ASC (a$) > 127 GOTO GL1
  541.  n$ = n$ + a$
  542.  GOTO GL1
  543. BSpace:
  544.  IF LEN (n$) = 0 GOTO GL1
  545.  n$ = LEFT$ (n$, LEN (n$) - 1)
  546.  GOTO GL1
  547. EndLine:
  548.  SET STATUS LEFT$ (n$,60)
  549.  SET HEADING "Sending command..."
  550.  RETURN
  551. WipeLine:
  552.  n$ = ""
  553.  GOTO GL1
  554. DDECheck:
  555.  REM *** Check to see if it was a valid DDE error, if so handle it
  556.  REM *** otherwise - tell user what happened and stop
  557.  IF ERRNO = 156 THEN
  558.         IF flg% = - 1 GOTO SetupOther
  559.         IF flg% = 0 THEN RESUME 20
  560.         DDEREQ 3,"ReturnMessage",rt$
  561.         ? "Invalid Command: "rt$
  562.         IF winver% = 2 THEN SET STATUS "Press any key...":WAIT KEY a$:SET STATUS ""
  563.         RESUME 10
  564.  END IF
  565.  IF ERRNO = 160 THEN REQUEST "Application Busy!","",2,n%:RESUME 10
  566.  IF ERRNO = 154 THEN DDEEXEC 3,"QUIT":DDETERM 3:RESUME Start
  567.  REQUEST "Unexpected Error:", ERR$ ( ERRNO ),113,n%
  568.  DDETERM 3
  569.  END
  570.  
  571.  
  572. Notes
  573. -----
  574. 1. Status. The `ready' status indicates that Microsoft Database is doing
  575.    nothing, i.e. waiting for an event. The `busy' status indicates
  576.    that Microsoft Database is executing a DML program. The `active' status
  577.    indicates that Microsoft Database is executing some other process.
  578.  
  579.    The system topic status item should be used to ensure that
  580.    Microsoft Database is ready to receive DDE commands. For example, if the
  581.    DDE client application were to execute a DDE command that instructed
  582.    Microsoft Database to run a DML program, Microsoft Database would
  583.    initiate a process of indeterminate duration. Therefore the client
  584.    application should use the status item to check that Microsoft Database
  585.    is `ready' and not `busy' before sending any other DDE commands.
  586.  
  587. 2. (expression). When using `expression', the parentheses are
  588.    compulsory. The expression itself may be a string variable such as
  589.    x$ or a system variable such as FILE. This is the only way to
  590.    obtain the value of a Microsoft Database string variable in another
  591.    application.
  592.  
  593.  
  594. USER GUIDE ERRATA
  595. -----------------
  596. Volume 1       Database and Text Editor
  597. --------
  598. Page      Erratum
  599. ----      -------
  600. 3-2       In Creating an Empty Copy, change "see Chapter 15 Reorganizing
  601.           the Database" to "See Chapter 16 ...".
  602.  
  603. 3-3       Add to end of Caution that "Also note that passwords are case
  604.           sensitive.".
  605.  
  606. 5-6       Add note to end of page: "If you change the calculation formula
  607.           for a virtual field, the index will not be updated and will not
  608.           work as expected. The correct procedure is to remove the index
  609.           first, edit the calculation and then rebuild the index.
  610.  
  611. 6-7       Delete second occurence of "Beginning of Field" in table.
  612.  
  613. 8-4       The figure $9.20 in the example should be $19.20.
  614.  
  615. 16-2      Delete Paragraph 4, The & Length parameter may not be used to
  616.           set a field's format in the new file.
  617. 16-4      Paragraph 2, delete the first sentence and substitute: "If you
  618.           reorganize a file using its original name, Microsoft Database
  619.           first creates a backup copy of it under the file name DBXREORG.
  620.           The SBD, SBF and all index files bear this root name during the
  621.           process. DBXREORG is deleted after the reorganization process is
  622.           complete.
  623.  
  624. 28-1      Text files heading, paragraph 3: change "255" to read "4000".
  625.  
  626. 33-2      Paragraph 2, point 5 ("Print out file definition") to 6 and
  627.           insert new Point 5: "Save the file definition".
  628.           Paragraph 7: add sentence to end "Remember that passwords are
  629.           case sensitive.".
  630.  
  631. 33-30     Paragraph 5, change "click the * button (for multiplication) and
  632.           then type 1.01" to read "click the + box (for addition) and then
  633.           type 1".
  634.           Paragraph 6, change example to read: "Interest_rate =
  635.           Interest_rate + 1".
  636.           Paragraph 7, change "multiply the value in each selected
  637.           Interest_rate field by 1.01" to "add 1 to the value in each
  638.           selected Interest_rate field.".
  639.  
  640. 33-32     After the example in Paragraph 5, add "You may not be able to
  641.           see the entire report line in the window due to its size. You
  642.           will, however, be able to scroll through the entire line using
  643.           cursor keys so you may view or edit it.".
  644.  
  645. 34-6      Under "Utilities Directory List" change "KEYS: CTRL + D" to read
  646.           "CRTL + L".
  647.  
  648. 34-8      Menu Selection.
  649.           Add:
  650.                         F1                   HELP
  651.           Change:
  652.                         ALT + F2             DML Edit
  653.                         CTRL + Y             Utilities Status File
  654.                         CTRL + Z             Utilities Status System
  655.  
  656. 34-9      At bottom of page, change "SHIFT+ENTER" to read "CTRL+ENTER"
  657.  
  658. Volume 2        Form Designer, Programming Language and Applications Guide
  659. --------
  660. 10-1      Point 2 (bottom of page): all after "report."
  661.  
  662. 10-2      Insert new point 12: "Use Define SB Links to link the form's
  663.           database files.".
  664.           Change existing point 12 to 13.
  665.  
  666. 17-70     Change "where nexpr - 1 = 1" to read "where nexpr - n = 1".
  667.  
  668. 17-70     The significance of the type parameter in the financial
  669. to        functions FN fv, FN nper, FN pmt, FN pv, and FN rate is
  670. 17-73     reversed. The correct significance is:
  671.  
  672.                0    Computes for end of month
  673.                1    Computes for beginning of month
  674.  
  675. 17-120     Under MODIFY, delete reference to "IXU"
  676.            add: "NOTE: This command cannot be used to modify an indexed
  677.            field or to add an index to a field.".
  678.  
  679. 17-133     Under "Comments," change "param 10" and "param 11" to read
  680.            "param 12" and "param 13" respectively, and insert:
  681.            param 10:    Chop (0 for OFF, 1 for USE)
  682.            param 11:    CR/LF (0 for conversion, 1 for NO conversion)
  683.  
  684. 17-148     Delete text in "Syntax" section and replace with the syntax below
  685. and
  686. 18-6       Paragraph 14, showing the syntax for the use of the PRINT
  687.            command, delete and change to read:
  688.  
  689.            PRINT CURRENT [PAGE/ALL[USING nexpr1 ...nexpr7]]/FILE
  690.            [PAGE/ALL[USING nexpr1 ...nexpr7]] sbfname [INDEX indexname]
  691.            [DESCENDING][WHERE conditions/ASK]/[expressionlist]
  692.  
  693.  
  694. ===============================================================================
  695.                                 END OF README.TXT
  696. ===============================================================================
  697.