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 ដូចខាងក្រោម៖
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 ។
សំគាល់
ការដាក់ឈ្មោះអោយ 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 |
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 |
២ កំណត់ដូចរូបខាងលើ
៣ ចុច 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 របស់
វា ផ្ទុយទៅវិញប្រសិនបើលោកអ្នកមិនចាំទេសូមអនុវត្តដូចខាងក្រោម៖
ចុចលើ | នៅចុងប្រអប់ |
Elements Box
បន្ទាប់មកវាយពាក្យថា Between រួចចុចពាក្យថា Forms
ចុចលើ All Form បន្ទាប់មកស្វែងរក Form ដែលមានឈ្នោះថា frmDalyReports ដែលជាឈ្មោះ Form ខាងលើ ដែលលោកអ្នកចង់ Print របាយកាណ៏លក់ទៅតាមលក្ខណ្ឌដែលបានកំណត់
ក្នុងប្រអប់ Start Date និង End Date។
រួចវាយពាក្យថា And បន្ទាប់មកលោកអ្នកចុចពីដងលើពាក្យថា End Date
បន្ទាប់មកចុចលើ OK