[ Home] [ ลักษณะการใช้ Designer Tools ] [ Oracle Forms Items ] [ Oracle Forms Designer] [ Triggers ] [ Data Block ] [ การใช้ Wizard ] [ Master - Detail ] [ LOV ] [ การใช้ Button Box ]


Oracle Forms Designer Tools
    Tools ต่างๆที่สามารถพบได้และใช้บ่อยๆ ใน Oracle Forms Designer มีดังนี
                  -   Designer Menu Command
                  -   Object Navigator
                  -   Properties Window
                  -   Layout Editor
                  -   PL/SQL Editor

 

Object Navigator มีหน้าที่ในการสร้าง Object ใหม่ หรือ เลือก Object เดิมที่มีอยู่เพื่อทำการแก้ไข, สร้าง,เคลื่อนย้าย หรือ ลบทิ้ง  

Properties Window จะแสดงคุณสมบัติของ Object ที่เราเลือกใน Object Navigator ซึ่งเราสามารถใช้ในการเปลี่ยนแปลงคุณสมบัติต่างๆของ Object

Layout Editor แสดงรูปร่างหน้าตาของ Form ที่เราสร้างไว้ เราใช้ Layout Editor ในการสร้าง Form และปรับเปลี่ยนตำแหน่งต่างๆของ Object ที่อยู่บน Form นั้นๆ ให้อยู่ในตำแหน่งที่เราต้องการ

Oracle Forms Items

        

Text item        - ใช้ในการแสดงข้อมูล ซึ่งเราสามารถทำการเปลี่ยนแปลงแก้ไขข้อมูลได้

Display item    - ใช้ในการแสดงข้อมูลเหมือนกับ Text item แต่ไม่สามารถทำการแก้ไขและเปลี่ยนแปลงข้อมูลได้ เนื่องจาก Display item จะใช้ในการแสดงข้อมูลใช้สำหรับอ่านอย่างเดียวเท่านั้น

List item       - ใช้ในการแสดงข้อมูลที่เป็นรายการที่ได้มีการกำหนดไว้แล้ว ซึ่งการใช้งานจะให้เราเลือกรายการใดรายการหนึ่งตามที่เรากำหนดไว้  หรือจะไม่เลือก(ปล่อยให้เป็นค่าว่าง)ก็ได้

Button  - ปุ่ม ใช้ในการสร้าง Operation เช่น กดปุ่มนี้แล้วจะทำอะไรต่อ เช่น บันทึก,ลบ หรือ ออกจากโปรแกรมเป็นต้น

Check Box       - ใช้ในการเลือกค่าอย่างใดอย่างหนึ่ง ซึ่งจะมีเพียงสองค่าเท่านั้นคือ เลือก หรือไม่เลือก

Radio Button    - เป็นกลุ่มข้อมูลที่มีมากกว่า 1 ค่าขึ้นไป และอย่างน้อยต้องเลือกค่าใดค่าหนึ่งเสมอ

 Oracle Form Designer

ขั้นตอนในการสร้าง Form ของ Oracle Form Designer

เครื่องมือที่ใช้สำหรับการทำงานแต่ละขั้น

ขั้นตอนที่

เครื่องมือที่จะใช้

1). Name the form.

Object Navigator

2). Connect to the database.

Designer menu command

3). Create blocks.

New Block window

4). Fine-tune the layout.

Layout Editor

5). Set properties

Properties window

6). Add code.

PL/SQL Editor

7). Test the form

Runform

Triggers

        Trigger ใน Oracle Form Designer คือกลุ่มของชุดคำสั่ง PL/SQL code ที่เราได้ทำการสร้างขึ้นมาเพื่อใช้ใน Application  เราจะใช้ Triggers เพื่อตอบสนองต่อเหตุการณ์ที่เกิดขึ้นในโปรแกรม ยกตัวอย่างเช่น
- เมื่อมีการกดปุ่ม เราจะต้องสร้าง Trigger ที่ชื่อว่า When-Button-Pressed เพื่อใช้ในการแสดงรายละเอียดต่างๆที่เราต้องการ
- เมื่อมีการเปลี่ยนแปลงแก้ไขข้อมูลที่ไม่อนุญาต เราก็อาจจะไปสร้าง Trigger ที่ชื่อว่า When-Validate-Item เพื่อทำการปฏิเสธการเปลี่ยนแปลงข้อมูลนั้นๆเป็นต้น
ใน Oracle Form Designer จะสามารถแบ่งกลุ่มของ Trigger ได้ออกเป็น 3 กลุ่ม คือ
       1. Triggers ในระดับ
Form
       2. Triggers ในระดับ Block
       3. Triggers ในระดับ Item


 

Data Block
            Data Block คือ สิ่งที่ประกอบไปด้วยกลุ่มของ Object เช่น Text item, Lists หรือ Buttons ซึ่ง Data Blocks จะเก็บ Objects และเราสามารถกำหนด Properties ของทั้ง Blocks และ Objects ได้ว่า เราต้องการให้ Blocks หรือ Objects นั้นๆมีคุณสมบัติอย่างไร
Data Blocks จะมีอยู่ 2 ประเภท
-       Base table blocks จะเชื่อมโยงกับ Database Table โดยตรง โดยจำลอง Block นั้นๆเป็นเสมือน Table ใน Database และจะประกอบไปด้วย item ต่างๆ ซึ่ง item นั้นๆ จะมีลักษณะเดียวกันกับ Field ที่อยู่ใน Table ที่อ้างอิงถึงด้วย
-       Control blocks จะไม่เชื่อมโยงกับ Database Table จะมีเพียงแต่ Control item เท่านั้น เช่น item ที่ใช้ในการคำนวณหรือใช้ในการเรียกดูข้อมูลอย่างเดียวเท่านั้น เป็นต้น
คุณสมบัติที่สำคัญประการหนึ่งของ Data Blocks คือ
-          Single-record Block จะแสดงให้เห็นเพียง record เดียวเท่านั้นใน
-          Multi-record Block จะแสดง record ได้หลายๆ record
ลักษณะ Blocks ที่เป็นแบบ Master และ Detail Block
-          Master Block คือ block ที่แสดง record ที่มี block อื่นมาอ้างอิง (Detail Block)
-          Detail Block คือ block ที่เก็บ record ที่อ้างอิงไปยัง Block Master
ตัวอย่าง Master-Detail Block เช่น จังหวัด-อำเภอ, อำเภอ-ตำบล

การสร้าง Forms โดยใช้ Wizard

รูปที่ 1

  1. เลือก Designer Menu Command แล้วเลือก File/Connect แล้วคลิก 1 ครั้ง หรือ กด Ctrl+J ดังรูปที่ 1 และจะปรากฏหน้าต่างดังรูปที่ 2 ให้ทำการ  Connect  ฐานข้อมูล

 2.  ป้อน Username, Password และ Database แล้ว กด Connect หรือ เคาะแป้น Enter
3.  ไปที่ Designer menu command แล้วเลือกเมนู Tools/Data Block Wizard ดังรูปที่ 3 แล้วคลิก 1 ครั้งจะปรากฏหน้าต่างดังรูป          

              

รูปที่ 3  

 

รูปที่ 4

4. กดปุ่ม Next เพื่อทำการเริ่มสร้าง Data Block จะปรากฏหน้าต่างดังรูปที่ 5

 
รูปที่ 5

5. เลือกที่  Table or View  เพื่อที่จะทำการเลือก Table ที่ใช้ในการสร้างBlock แล้ว กดปุ่ม Next จะปรากฏหน้าต่างดังรูปที่ 6 

 
รูปที่ 6

6. ใส่ชื่อ Table ที่ต้องการนำมาสร้าง Block ลงในช่อง Table or View  หรือถ้าไม่ทราบให้กดปุ่ม Browse เพื่อเลือก Table จาก List ดังรูปที่ 7

 
รูปที่ 7

7.     เมื่อเลือก Table ที่ต้องการได้แล้ว จะปรากฏชื่อ Field ขึ้นมาในช่อง Available  Columns ดังรูปที่ 8 และเลือก Field ที่ต้องการแสดงโดยกดปุ่ม > หรือ >> ถ้าต้องการเลือกทั้งหมด แต่ถ้าต้องการยกเลิกก็กดปุ่ม < หรือ <<  เมื่อเสร็จแล้วก็กดปุ่ม Next จะปรากฏหน้าต่างดังรูปที่ 9

 
รูปที่ 8

           
        
  รูปที่ 9

8.  เมื่อปรากฏหน้าต่างนี้แสดงว่าเราได้ทำการสร้าง Block เสร็จแล้ว แล้วจะถามว่าต้องการสร้างหน้าจอแสดงผลหรือไม่ ให้เราเลือกที่ Create the data block, then call he Layout Wizard กดปุ่ม Finish
9.    หลังจากปรากฏหน้าต่างขึ้นมาแล้วให้เรากดที่ปุ่ม Next เพื่อเริ่มต้นสร้างหน้าจอแสดงผล ดังรูปที่ 10

 
รูปที่ 10

10.     ทำการเลือก Canvas ที่ต้องการ หรือจะสร้าง Canvas ใหม่ก็ได้ แล้วกดปุ่ม Next จะปรากฏหน้าต่างดังรูปที่ 11

 
รูปที่ 11

11.   ในหน้าต่างนี้(รูปที่ 11) จะมีลักษณะคล้ายกับรูปที่ 9 คือ ให้เลือก Field ที่ต้องการนำไปแสดงผลแล้วกดปุ่ม Next จะปรากฏหน้าจอดังรูปที่ 12

 
รูปที่ 12

12.  ในหน้าต่างนี้ให้ทำการเปลี่ยนแปลงชื่อ Field ที่ต้องการแสดง และปรับเปลี่ยนขนาด Item ให้ตรงกับที่เราต้องการ แล้วกดปุ่ม Next  จะปรากฏหน้าจอดังรูปที่ 13

          รูปที่ 13

13.   ในขั้นตอนนี้จะให้เลือกว่าต้องการสร้าง Form แบบไหน  ถ้าเราเลือกที่ Form หน้าจอแสดงผลก็จะเป็นลักษณะเหมือนกับแบบฟอร์มกรอกข้อมูลโดยทั่วไป แต่ถ้าเราเลือกที่ Tabular จะเป็นลักษณะเหมือนกับตารางสำหรับกรอกข้อมูลได้ทีละหลายๆ Record ให้เราเลือกที่ Form แล้วกดปุ่ม Next จะปรากฏหน้าจอดังรูปที่ 14


รูปที่ 14

14.   ในรูปที่ 14 ถ้าต้องการกำหนดชื่อหัวข้อ ให้พิมพ์ชื่อที่ต้องการลงในช่อง Frame Title และถ้าต้องการให้มี Scrollbar ให้คลิกที่ Display Scrollbar เมื่อเสร็จแล้วกดปุ่ม Next และ Finish จะเสร็จสิ้นขั้นตอนการสร้าง Form โดยใช้ Data Block Wizard จะได้ผลลัพธ์ดังรูปที่ 15

รูปที่ 15

15. ทดสอบโปรแกรมโดยกดปุ่มดัง Run Program ดังรูปที่ 16

 
รูปที่ 16

            เมื่อเราได้ทำการทดสอบโปรแกรม ให้เราทดลอง Execute Query ดู โดยใช้ Menu Bar ด้านบน ต่อไปจะทำการสร้าง Form ที่เป็นรูปแบบ Master-Detail โดยจะใช้ Form ที่เราสร้างไว้อยู่เดิม

Master-Detail Form
1.สร้าง Block ใหม่ โดยเลือก Table ที่จะนำมาสร้าง Block ชื่อ Amp (จะใช้ขั้นตอนเดิมทั้งหมด จนถึงขั้นตอนที่ 7)
2.  ให้เลือก Field “Prov” ที่ปรากฏอยู่ในช่อง Available Field ด้วย เพื่อที่จะทำการอ้างอิงไปยัง Block Province เดิม ที่มีอยู่แล้ว ดังรูปที่  17


รูปที่ 17

3.       เมื่อทำการเลือก Field ที่ต้องการแล้วกดปุ่ม Next จะปรากฏหน้าต่างสำหรับสร้าง Relationship ระหว่าง Block ดังรูปที่ 18

 
รูปที่ 18

 4.        กดปุ่ม Create Relationship จะปรากฏหน้าต่าง List Box ให้เลือก Block ที่เป็น Master (ในที่นี้คือ Province) ดังรูปที่ 19
หมายเหตุ    ในกรณีถ้ามี ERROR เกิดขึ้นแสดงว่า Table ที่เราเลือกมาสร้าง Block ไม่มีความสัมพันธ์กัน ให้เราไปคลิกที่ Auto-join data blocks ออก เพื่อทำการ กำหนด Relationship เอง


รูปที่ 19

 5.     ให้เลือก Field ในช่อง Detail Item และ ช่อง Master Item ให้ตรงกัน ดังรูปที่ 20 ถ้าในกรณีที่ชื่อ Field ของทั้ง 2 Block ชื่อไม่ตรงกันให้ทำการเลือก Field ที่ Detail Block ไปอ้างอิงถึง Master Block แทน


รูปที่ 20

6.        กดปุ่ม Next แล้วทำตามขั้นตอนการสร้าง Layout เดิม แต่รูปแบบของ Form ให้เลือกเป็นแบบ Tabular แทน ดังรูปที่ 21


รูปที่ 21

7.        กดปุ่ม Next  จะปรากฏหน้าจอดังรูปที่ 22 ทำการกำหนดขนาดและจำนวน Record ที่ต้องการให้แสดงผล

 
รูปที่ 22

8.     ให้กำหนด Frame Title = อำเภอ, Records Displayed = 10 และ Distance Between Records = 0 ตามลำดับ และ Check ที่ Display Scrollbar ด้วยดังรูปที่ 22
9.  กดปุ่ม Next และ Finish ตามลำดับจะได้ผลลัพธ์ดังรูปที่ 23


รูปที่ 23

10.  ให้ทดสอบโดยการ Run Program จะได้ผลลัพธ์ดังรูปที่ 24


รูปที่ 24

                 จะสังเกตว่าเมื่อทำการเลื่อน Record ที่ Block Province ใน Block Amp ก็จะเลื่อน Record ตามไปด้วย นี่คือ ลักษณะของ Master-Detail Block คือ เมื่อเราเลือกดูที่จังหวัดใดๆก็ตาม ใน Block ของอำเภอ ก็จะปรากฏอำเภอที่อยู่ในจังหวัดที่เราดูอยู่เท่านั้น

การใช้ LOV (List Of Values)

         
รูปที่ 25

            จากรูปจะเห็นว่า การบันทึกข้อมูลของจังหวัดนั้นต้องระบุภูมิภาคด้วย โดยจะให้ใส่รหัสภูมิภาค โดยจากรูปจะเห็นว่า ถ้าเราไม่ทราบว่าภูมิภาคที่เราต้องการจะบันทึก ทำให้เสียเวลาและอาจยังทำให้มีโอกาสผิดพลาดมากยิ่งขึ้น วิธีแก้ปัญหาเหล่านี้ เราจะใช้ LOV มาช่วยในการแสดงผลทำให้ผู้ใช้สามารถทำการบันทึกข้อมูลได้โดยง่าย          

ขั้นตอนการสร้าง LOV                                                                  
  1.
  ให้ไปที่หน้าต่าง Object Navigator เลือกไปที่ LOVs แล้วเลือกเพิ่มโดยปุ่มที่อยู่ทางด้านซ้ายมีรูปเครื่องหมายบวก ดังรูปที่ 26


ูปที่ 26

2.     เมื่อเราเลือกแล้วก็จะปรากฏหน้าต่างดังรูปที่ 27 จะให้เราทำการใส่ SQL Statement เพื่อที่จะทำการดึงข้อมูลภูมิภาคมาจากตาราง Region

 

รูปที่ 27

3.     จากรูปเมื่อเราใส่ SQL Statement เรียบร้อยแล้ว (โดยใน SQL Statement เราต้องทำการดึง Field REGION มาด้วย เพื่อที่จะได้นำข้อมูลมาใส่ใน Item ที่เราต้องการ) ให้เรากดปุ่ม OK เพื่อที่จะทำขั้นตอนต่อไป

 

รูปที่ 28

4. ให้เรากับไปที่หน้าต่าง Canvas และให้สร้าง Item ขึ้นมาใหม่หนึ่งอัน ตั้งชื่อให้เป็น Region_Desc และกำหนด Property ดังนี้
-          ให้ Database  เป็น No
-          ให้ Data Type เป็น Char
-          ให้ Maximum Length เท่ากับ 100
เมื่อเราสร้าง Item แล้ว ให้สร้าง ปุ่มขึ้นมาอีก 1 อัน  โดยกำหนด Property ดังนี้
-          ให้ชื่อเป็น Button
-          ให้ Label เป็น LOV
 พร้อมทั้งกำหนดตำแหน่ง Item ทั้งสองให้ได้ดังรูปที่ 29 

 
รูปที่ 29

5.     ให้เราทำการเปลี่ยนชื่อ LOV และ Record Group เพื่อที่ให้สามารถจำได้ง่าย แล้วเลือกที่ LOV ที่เราเพิ่งสร้างเสร็จ แล้วไปที่ Designer Menu Command เลือกแถบ Tools/Property Palette จะปรากฏหน้าต่างคุณสมบัติดังรูปที่ 30

 
รูปที่ 30

จากรูปที่ 30 ให้เราเลือกที่แถบ Column Mapping Properties จะปรากฏปุ่ม More… ขึ้นมาทางด้านขวามือ และให้เรากดปุ่มนั้นจะปรากฏหน้าต่างดังรูปที่ 31


รูปที่ 31

7.     จากรูปที่ 31 ให้เราใส่ชื่อของ Item ที่เราต้องการจะนำค่านั้นๆลงไปเก็บในช่อง Return Item ที่อยู่ในรูปที่ 31 โดยจากตัวอย่างนี้เราจะใส่ค่าใน Return Item เป็น Region_Desc เพื่อที่จะนำค่าของ Region_Desc ไปใส่เวลาแสดงผล เป็นต้น

8.     ให้ไปที่ Item ปุ่มที่เราสร้างขึ้นมาให้คลิก Mouse ขวาบนปุ่มนั้นจะปรากฏ Menu Popup ขึ้นมาให้เลือก Menu Smart Triggers/WHEN-BUTTON-PRESSED ดังรูปที่ 32

 
รูปที่ 32

9.        จากรูปที่ 32 เมื่อเราเลือก Menu ที่เราต้องการแล้วจะปรากฏหน้าต่างขึ้นมาให้เราใส่ Trigger ดังนี
Declare
          AA Boolean;
Begin
          AA: = Show_LOV (‘ ชื่อ LOV ’);
End;
เมื่อเสร็จแล้วกดปุ่ม Close

10.     ทดสอบโปรแกรมโดยการ Run จะเห็นว่า เมื่อเรากดปุ่ม LOV จะปรากฏหน้าต่าง List ขึ้นมาให้เราเลือก และจะได้ผลลัพธ์ดังรูปที่ 33

 
รูปที่ 33

การใช้ Radio Button, Check Box และ List Box

การสร้าง Radio Button
        – ในกรณีที่ข้อมูลให้เรียกได้เพียงหนึ่งอย่างเท่านั้น เช่น เพศ ว่าเป็น ชาย หรือหญิง

                            
รูปที่ 34

1.     จากรูปที่ 34 เราต้องการจะสร้าง Radio Button เพื่อใช้ในการกรอกข้อมูล เพศ ให้เราทำการเพิ่ม Item เข้าไปใหม่ โดยเลือกประเภทเป็น Radio Button พร้อมทั้งกำหนดชื่อของ Radio Group  และ Radio Button ด้วย ดังรูปที่ 35

 
รูปที่ 35

2.     เพิ่ม Radio Button เข้าไปใหม่อีกหนึ่งอัน โดยเลือก Record Group เดียวกัน กับ Radio Button อันแรกที่เราได้สร้างขึ้น พร้อมทั้งกำหนดชื่อด้วย
3.     เมื่อเราได้ Radio Buttons ครบแล้ว ให้เราทำการกำหนดค่า Property ของ Radio Button โดยกำหนดที่ Radio Button Value ที่ Radio จะเก็บ เช่น Radio Button ที่เป็น เพศชาย ให้เก็บ “M” และ เพศหญิงให้เก็บ “F” และกำหนด Property “Mapping Other Values” เพื่อกำหนดค่าเริ่มต้นด้วย ดังรูปที่ 36

 
รูปที่ 36

  การสร้าง List Item
         List Item มีไว้ในกรณีที่เลือกได้ตามรายการที่มีอยู่ เช่น ประวัติด้านการศึกษา
1.        จากตัวอย่างที่แล้ว เราจะทำการสร้าง List Item ต่อ โดยให้เป็น Item ของประวัติด้านการศึกษา
2.       ให้เราเลือกสร้าง Text Item แล้วกำหนดชื่อ พร้อมทั้งกำหนด Property “Item Type” ให้เป็น List Item ดังรูปที่ 37

 
รูปที่ 37

3.     หลังจากเลือกแล้ว ให้เราไปที่กำหนด Property “List Style” และ “Element in List” ด้วย โดย เมื่อเราเลือก Element in List จะปรากฏปุ่ม More… ขึ้นมา เมื่อเรากดปุ่มจะปรากฏหน้าต่างดังรูปที่ 38

 
รูปที่ 38

4.    จากรูปให้เราใส่ค่า List ว่ามีอะไรบ้าง โดยเราจะใส่ค่าที่จะแสดงผลลงในช่อง List Elements และใส่ผลลัพธ์ของ Element นั้นๆในช่อง List Item Value ตัวอย่างเช่น เราต้องการให้ List แสดงผลเป็น “ปริญญาตรี” และให้ค่าของปริญญาตรีเป็น “3” ดังนั้นเราจะใส่ค่า “ปริญญาตรี” ลงในช่อง List Elements และ “3” ลงในช่อง List Item Value ดังรูปที่ 39

 
รูปที่ 39

5.   ให้เรากำหนด Property “Mapping Other Values” ไว้ด้วยเพื่อกำหนดค่าเริ่มต้นของ List   

การสร้าง Check Box

          Check Box - ใช้ในการเลือกค่าอย่างใดอย่างหนึ่ง ซึ่งจะมีเพียงสองค่าเท่านั้นคือ เลือก หรือไม่เลือก เช่น คำถามประเภท ใช่ หรือไม่ใช่ หรืออาจใช้ในกรณีเลือกมากกว่า 1 อย่างก็ได้
1.     ให้เราเลือกสร้าง Check Box แล้วตั้งชื่อ พร้อมทั้งกำหนดค่าของ Check Box ด้วยว่า ในกรณีที่มีการ Check มีค่าเป็นอะไร และในกรณีที่ไม่มีการ Check จะมีค่าเป็นอะไร ดังตัวอย่างในรูปที่ 40

 

รูปที่ 40

2.    เมื่อกำหนดแล้วให้เรากำหนดค่า Check Box Mapping of Other Values เพื่อกำหนดค่าเริ่มต้นด้วย
3.    ทดสอบโปรแกรมอีกครั้งเพื่อดูผลลัพธ์ของ Radio Button, List Values และ Check Box

 
รูปที่ 41