610 likes | 748 Views
Enhanced Guide to Oracle8i. Chapter 6: Creating Oracle Data Block Forms. Forms. Application with a graphical user interface that looks like a paper form Used to insert, update, delete and view database data. Primary Form Uses. Viewing/retrieving records Inserting/updating/deleting records
E N D
Enhanced Guide to Oracle8i Chapter 6: Creating Oracle Data Block Forms
Forms • Application with a graphical user interface that looks like a paper form • Used to insert, update, delete and view database data
Primary Form Uses • Viewing/retrieving records • Inserting/updating/deleting records • Counting the number of records a query will retrieve
Data Block Forms • Form associated with a specific Oracle database table • System automatically creates: • Text fields associated with table fields • Programs for inserting, modifying, deleting, and viewing data records
Form Modes • Normal • You can view records and sequentially step through records • Enter Query • You can enter search parameters in form fields and then retrieve the associated records • To place the form in Enter Query mode, click the Enter Query button
Inserting New Records • In Normal mode, click the Insert Record button to insert a new blank record • Type the data values in the form fields • Click the Save button to save the values in the database
Retrieving Records • Click the Enter Query button to place the form in Enter Query mode • Type a search condition • Click the Execute Query button to retrieve selected records • If you click , do not enter a search condition, and then click , all table records will be retrieved
Form Search Types • Exact search: only retrieves records that exactly match the entered search condition • Restricted search: retrieves records that fall within a range of values
Restricted Search Operators • _: wildcard replacing a single character • %: wildcard replacing multiple characters • >, <: greater than, less than • >=, <=: greater than or equal to, less than or equal to • <> or !=: not equal to
Scrolling Through Retrieved Records • To view the next record, click the Next Record button • To view the previous record, click the Previous Record button
Updating and Deleting Records • Retrieve the record to be updated or deleted • To update, change the data value and click the Save button • To delete, click the Remove Record button
Data Block Form File Types • .fmb • Form design file, used by form programmer in Form Builder • .fmx • Form executable file, run by form users
Form Components • Form module: form application • Form window • Title bar on top • Horizontal and vertical scrollbars • Can be resized, maximized, minimized
Form Components • Canvas • Surface that displays form items • Block • Object that contains form items • Form items • Command buttons, radio (option) buttons, text items • Items in the same block can appear on different canvases
Form Components Window Canvas Name Block of items Cash Check Credit Card
Creating a Data Block Form • Steps: 1. Create the data block using the Data Block Wizard 2. Create the form layout using the Layout Wizard
Data Block Wizard • Welcome page • Type page • Select table or view on which to base the block source • Table page • Select table associated with form • Finish page • Option to use the Layout Wizard to automate creating the layout
Layout Wizard • Canvas page • Select the canvas where the block is displayed • Data Block page • Select the fields that are displayed on the layout • Items page • Specify the column labels, heights and widths • Style page • Specify to create a form- or tabular-style layout
Layout Styles • Form style • One record appears on the form at a time • Tabular style • Multiple records display on the form in a table
Form Builder Wizards Are Re-entrant • You can select a block or layout, then re-enter it and modify its properties using the Wizard • A Wizard is in re-entrant mode when its pages appear as tabs
Form Builder Object Navigator Window • Shows form objects • Allows developer to access form objects • Object Navigator has 2 views • Ownership view: shows form objects as a flat list • Visual view: hierarchical relationships between objects
Guidelines For Configuring Form Windows • Change the window title • Allow user to minimize the window • Do not allow the user to maximize the window • Do not allow the user to resize the window • Include horizontal and vertical scrollbars if items appear beyond window boundaries • Make the form window fill the Forms Runtime window
Configuring Form Windows Window Title Minimize/ Maximize buttons Window size
Creating a Form Based on a Database View • View can be derived from multiple database tables • Form based on a view allows you to display data from multiple tables • Form cannot be used to insert, update, or delete data
Modifying Form Properties • Every form object has a Property Palette that allows you to configure form properties Property Nodes Property List
Intersection Property Palette • Used to change property of several items to the same value • Intersection/Union button appears as • Name appears as *****
Frame Properties • Update Layout • Automatically • Frame items are automatically repositioned based on their order in the Data Blocks list when you move or resize a frame, or modify the form layout using the Layout Wizard in reentrant mode • Manually • Items are automatically when layout is modified in Layout Wizard in reentrant mode • Items are not repositioned if you move or resize the frame • Locked • Items are never automatically repositioned
Multiple-Table Forms • Data block forms can display data from multiple tables that have a master-detail relationship • Master record has multiple related detail records • Examples: • One ITEM record has multiple related INVENTORY records • One CUSTOMER might have multiple CUST_ORDER records
Master-Detail Forms Master block Detail block
Creating a Master-Detail Form • Create the master block first • Specify the relationship on the Data Block Wizard Master-Detail page of the detail block
Complex Master-Detail Relationships • A master block can have multiple detail blocks • An item can be in multiple customer orders, and have multiple shipment records • A detail block can be a master block in a second master-detail relationship • A customer can have multiple CUST_ORDER records • One CUST_ORDER record can have multiple ORDER_LINE records
Complex Master-DetailRelationship Example Master Detail Detail Master
Formatting Text Items • Specify desired format mask in text item Format Mask property • If format mask makes value wider than text item Data Width property, data appears as ***** • If format mask makes value wider than Visible Width property, data appears clipped
Formatting Character Text Items • Precede format mask with “FM” • Place embedded characters in double quotes
Form Triggers • PL/SQL procedure that runs in response to a user or system action • Clicking a button • Loading a form • Exiting a form • Triggers can be associated with: • An entire form (form level) • A block (block level) • A specific form item (item level)
Using Form Triggers • Creating a trigger: • select the form or form item event • type the trigger code • Referencing a form item in PL/SQL code: • :block_name.item_name • Triggers are compiled before a form is run
Using Sequences in Forms • Create a block-level WHEN-CREATE-RECORD trigger • Trigger PL/SQL code: SELECT sequence_name.NEXTVAL INTO :block_name.item_name FROM DUAL;
Form Lists of Values (LOVs) • List of legal values that can be selected for use in a form field LOV command button LOV display
Creating an LOV Using the LOV Wizard • Use the LOV Wizard to: • Specify the LOV display records using a SQL query • Format the LOV display • Attach the LOV to a form text item • Change the LOV and record group name in the Object Navigator
Opening the LOV Display • Place the insertion point in the text item to which the LOV is attached • Press F9
Creating a Command Button to Open the LOV Display • Create a command button on the canvas • Iconic button • Displays an icon image from an .ico file • Complete path to .ico file must be specified in button’s ICON property
LOV Command Button Trigger • Create a trigger for the button that does the following: • Places the form insertion point in the text item to which the LOV is attached: GO_ITEM(‘IN_VID’); • Executes the LIST_VALUES command: LIST_VALUES;
Creating a Text Item Editor • Editor: dialog box for editing character, number, or date values in text items • Larger editing area than text item • Provides Search and Replace functions
Default Editor • Every text item has a default editor • To open the default editor, place the insertion point in the text item and press Ctrl + e • e must be lower case
Custom Editors • Provides same editing functions as the default editor • Has a customized window size, title, and appearance
Creating a Custom Editor • Creating a new Editor object in the Object Navigator • Configure the Editor object properties • Attach the custom editor to the text item
Alternate Form Input Items • Radio buttons • Check boxes • Lists
Radio Buttons • Limits user to one of two or more related, mutually exclusive choices