Tuesday, August 27, 2013

ប្រព័ន្ទមូលដ្ឋានទិនន្ន័យ​ ២
Database Application II 
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​មេរៀនទី១
១តើអ្វីជា Macro 
Macro ជាធាតុមួយ (Object) ដែលស្ថេតនៅក្នុង Database របស់ Microsoft Access  ។
វាជាភាសាពញ្ជាមួយដែលមាន​តួនាទី បង្កើតល្បឿនការងារនៅក្នុង​ Microsoft Access វាអាចជួយយើក្នុងការបង្កើត Button Menu ចង Object Application បញ្ចូលគ្នាសម្រាប់ប្រើប្រាស់
ផ្ទាល់លើកិច្ចការ របស់យើង និងអាចយកកម្មវិធីផ្សេងមករតនៅក្នុង Microsoft Access។
ឧបមាថា យើងមាន Table Form , Report យើងអាចប្រើ Macro ដើម្បីដំណើបើកបិទលើកិច្ចការនេះ។
II របៀបបង្កើត Macro
ការបង្កើត Macro គឺជាការបង្កើតបញ្ជា ដូច្នេះនៅពេលដែលលោកអ្នកចង់បង្កើតវា គឺចង់បង្កើតអោ
យវាធ្វើអ្វី។
ឧទាហណ៏​  លោកអ្នកចង់បង្កើតបញ្ជាមួយដើម្បីអោយវាបើក Form "frmcustomer"
ដោយប្រើ Button ចុច។​ លោកអ្នកត្រូវអនុវត្តតាមជំហានដូចខាងក្រោម
១ ចុចលើ Create Menu
២ បន្ទាប់លោកអ្នកនឹងឃើញរូបភាពដូចខាងក្រោម
រួចចុច Button Macro ដែលនៅក្នុង Macro & Code Groups
បន្ទាប់លោកអ្នកត្រូវធ្វើការកំណត់ដូចរូបភាពខាងក្រោម
-Save Macro ចុច Ctrl+S រួចវាយឈ្មោះ “mcCustomers” បន្ទាប់មកចុចលើ OK
សំគាល់
ការដាក់ឈ្មោះអោយ Macro គួដាក់ឈ្មោះអោយចំៗ ព្រោះពេលយើងមាន Form or Table ច្រើន
និងមាន​ការច្របូកច្របល់ពេលដែលបង្កើត Macro អោយ​វា។
III. របៀបភ្ជាប់ Macro ទៅលើ Object  ក្នុង Form
              នៅពេលដែលលោកអ្នកបង្កើត Macro រូចលោកអ្នកប្រកដ់ជាពុំដឹងថា តើវាមានប្រយោជន៏
អ្វីនោះទេ គឺវាហាក់ប្បីជាគ្មានអ្វីប្លែកសោះ។
​​​​​             ដើម្បីអោយដឹងពីប្រយោជន៏នោះលោកអ្នកត្រូវធ្វើតាមចំនុចដូចខាងក្រោម
​​​​​​​​​​​​​​​​             តាមរយៈ Macro ខាងលើបានបង្កើតមានឈ្មោះថា “mcCustomers” យើងចង់បង្កើត
Button  មួយនៅលើ Form ថ្មីដែលត្រូវយក Macro នេះទៅភ្ជាប់ដើម្បី បើក Form  “mcCustomers”។
​             ឧបមាថា លោកអ្នកមានទំរង់ Form ដូចរូបភាពខាងក្រោម ដែលនៅលើ Form នោះមាន
Button ចំនួន៦  ដូចខាងក្រោម
សូម ដាក់ឈ្មោះ Button OpenForm ថា​  “CmdCustomers”
 គោលបំណង
              នៅពេលដែលលោកអ្នកចុច Button Open Form សូមបញ្ជាអោយបើក FrmCustomers
ដំណោះស្រាយ
១ សូមដាក់ឈ្មោះអោយ Control ដែលមាននៅលើ Form ដូចបានរៀបរាប់ខាងលើ
២ សូមចុច Button ស្ដាំអោយចំ OpenForm Button រួចចុចយកពាក្យ Property
៣ សូមចុចលើ Even ហើយនៅលើ Even Onclick សូមចុចជ្រើសរើសយកឈ្មោះ“mcCustomers” ។

៤ បន្ទាប់មក Run Form ហើយសាកល្បងតេស៏ដោយចុចលើ Button OpenForm នោះលោកអ្នកនឹង
ទទូលបានទ្ធផលដូចខាងក្រោម៖

IV របៀបបង្កើត Macro Actions
     Actions Macro ជាកន្លែងដែលសំរាប់ជ្រើសរើសយកនូវបញ្ជាទាំងឡាយដែលមាន​ស្រាប់។
Actions ត្រូវបានបែងចែកជា Catalog ដូចខាងក្រោម៖
                   Actions Cagalog

1- Data Entry Operations:
- DeleteRecord
- EditListItems
- SaveRecord

2- Data Import/Export:

- AddContactFromOutlook
- CollectDataViaEmail
- EMailDatabaseObject
- ExportWithFormatting
- SaveAsOutlookContact

- WordMailMerge

3- Database Objects:

- GoToControl
- GoToPage
- GoToRecord
- OpenForm
- OpenReport
- OpenTable
- PrintObject
- PrintPreview
- RepairObject
- SelectObject
- SetProperty

4- Filter/Query/Search:

- ApplyFilter
- FindNextRecord
- FindRecord
- OpenQuery
- Refresh
- RefreshRecord
- RemoveFilterSort
- Requery
- SearchForRecord
- SetFilter
- SetOrderBy
- ShowAllRecord

5- Macro Cammands:

- CancelEvent
- ClearMacroError
- OnError
- RemoveAllTempVars
- RemoveTempvar
- RunCode
- RunDataMacro
- RunMacro
- RunMenuCommand
- SetLocalVar
- SetTempVar
- SingleStep
- StartNewWorkflow
- StopAllMacros
- StopMacro
- WordkflowTasks

6- System Cammands:

- Beep
- CloseDatabase
- DisplayHourglassPointer
- QuitAccess

7- User Interface Commands:

- AddMenu
- BrowseTo
- LockNavigationPane
- MessageBox
- NavigateTo
- Redo
- SetDisplayedCategories
- SetMenuItem
- UndoRecord

8- Window Mangement:

- CloseWindows
- MaximizeWindow
- MinimizeWindow
- MouveAndSizeWindow
- RestoreWindow

ដោយសាតែមាន Actions ច្រើនពេកខ្ញុំសូមលើកយកមកបង្ហាញលោកអ្នកតែ Action មួយចំនួនដែ
លគេប្រើប្រាស់ញឹកញាប់តែប៉ុន្នោះ។
២.១ OpenTable Action
គឺជាបញ្ជាមួយសំរាប់បើក Table ។
Action:
 OpenForm បញ្ជាសម្រាប់បើក Form
 Action Arguments:
 Form Name  សម្រាប់យកឈ្មោះ Form ដែលត្រូវបើក
 View  កំណត់ View​ របស់ Form ដែលត្រូវបង្ហាញចេញ
 Filter Name  ជាកន្លែងកំណត់ឈ្មោះរបស់ Filter
 Where Condition  ជាកន្លែងកំណត់លក្ខណ្ឌសក្នុងការបើក Form
 Data Mode  កំណត់លក្ខណ្ឌអោយ Data អាចកែបានឬ មិនបាន
 Window Mode  សំម្រាប់កំណត់លក្ខណ្ឌអោយ Form
 1 ចុចលើ Button Macro ដែលមាននៅក្នុង Macro&code Groups
2 កំណត់ដូចរូបខាងលើ
3 រួច Save ដាក់ឈ្មោះវាថា mcOpenfrmCustomers ហើយបិតវាចោល
4 បើចង់ឃើញលិទផល Double Click លើឈ្មោះរបស់ Macro។
២.៤ OpenReport Action
គឺជាបញ្ជាមួយសម្រាប់បើក Report


 Action:
 Open Report បញ្ជាសម្រាប់បើក Report
 Action Arguments:
 Report Name  សម្រាប់យកឈ្មោះ Report ដែលត្រូវបើក
 View  កំណត់ View របស់ Report ដែលត្រូវបង្ហាញចេញ
 Filter Name  ជាកន្លែងកំណត់ឈ្មោះរបស់ Filter
 Where Condition  ជាកន្លែងកំណត់លក្ខណ្ឌក្នុងការបើក Report
 Data Mode  កំណត់លក្ខណៈអោយ Data​ អាចកែបាន ឬ មិនបាន
 Window Mode  កំណត់លក្ខណៈអោយផ្ទាំង Report
១ ចុចលើ Button Macro ដែលនៅក្នុង Macro and code Groups
២ កំណត់ដូចរូបខាងលើ
៣ ចុច Save ហើយដាក់ឈ្មោះថា mcGoToControl ហើយបិតវាចោល
៤ បន្ទាប់មកលោកអ្នកធ្វើការភ្ជាប់ទៅកាន់ Form “frmCustomers” ទៅលើ Event OnLoad
ដូចរូបខាងក្រោម៖
រូចលោកអ្នកបើក Form “frmCustomers” វានឹងបង្ហាញលិទផលដូចខាងក្រោម
V របៀបបង្កើត Macro Conditions
        លោកអ្នកអាចកំណត់អោយ Macro ដំណើការទៅតាមលក្ខណ្ឌ គឺកំណត់នៅត្រង់ Condition ។
លោកអ្នកត្រូវអនុវត្តន៏តាមជំហ៊ានដូចខាងក្រោម៖
ឧបមាថាលោកអ្នកមានទម្រង់ Form “frmDalyReports” ដូចរូបភាំខាងក្រោម៖
គោលបំណង
នៅពេលដែលលោកអ្នកវាយបញ្ជូលលេខថ្ងៃ ខែចាប់ផ្ដើមនៅក្នុងប្រអប់ Start Date​ និងថ្ងៃខែបញ្ចប់
នៅក្នុងប្រអប់ End Date រួចចុចលើ Button Daly Report ពេលនោះបង្ហាញនូវរបាយកាណ៏លំអិត
ដែលពាក់ពាន់និងការលក់ទំនិញ ដោយលោកអ្នកពុំចាំបាច់សរសេរ Code ទេគឺគ្រាន់តែធ្វើការបង្កើ
តនូវ Macro មួយដោយបញ្ជាអោយវាបើក rptDaly ទៅតាម Condition
Property ដែលលោកអ្នកបានកំណត់នៅក្នុង Macro។
ដំណោះស្រាយ
១ ចុចលើ Create Menu
២ បន្ទាប់លោកអ្នកនឹងឃើញរូបភាពដូចខាងក្រោម៖
១ ចុច Button Macro ដែលនៅក្នុង Macro & Code Groups
២​ បន្ទាប់មកលោកអ្នកធ្វើការកំណត់ដូចរូបខាងក្រោម៖

១ នៅត្រង់ Where Condition លោកអ្នកអាចវាយបញ្ជូលក៏បានប្រសិនបើលោកអ្នកចាំ Syntax របស់
វា ផ្ទុយទៅវិញប្រសិនបើលោកអ្នកមិនចាំទេសូមអនុវត្តដូចខាងក្រោម៖
ចុចលើ

នៅចុងប្រអប់ 
ចុចពីរដងលើ Field Name (SellDate) នៅក្នុង Table “tblSell”​ តាមរយៈ Exprssion
Elements Box
បន្ទាប់មកវាយពាក្យថា Between រួចចុចពាក្យថា Forms
ចុចលើ All Form បន្ទាប់មកស្វែងរក Form ដែលមានឈ្នោះថា​ frmDalyReports ដែលជាឈ្មោះ Form ខាងលើ ដែលលោកអ្នកចង់ Print របាយកាណ៏លក់ទៅតាមលក្ខណ្ឌដែលបានកំណត់
ក្នុងប្រអប់ Start Date និង End Date។
រួចវាយពាក្យថា And  បន្ទាប់មកលោកអ្នកចុចពីដងលើពាក្យថា End Date
បន្ទាប់មកចុចលើ OK