Wednesday, October 12, 2011

ចាប់លេខដោយចៃដន្យ​Ms Access 2007


ចាប់លេខ​ដោយចៃដន្យជាមួយ ​Ms Access 2007
ពេលដែល Form បើកឡើង​ Caption របស់​ Button ​គឺ Start
ពេលដែល​ Click លើ់​ Button ធ្វើឲ្យ​លេខនៅក្នុង​ Textbox ​រត់​​ ហើយ Caption របស់​ Button ប្ដូរជា​ Stop ។ ពេល Click លើ​ Button ម្ដងទៀង​ ​លេខនៅក្នុង​ Textbox ​ឈប់​រត់​​ ហើយ Caption របស់​ Button ប្ដូរជា​ Start ។
ចំនុណសំខាន់​នៅក្នុង​លំហាត់​នេះគឺ តើត្រូវធ្វើយ៉ាង​ណា​ដើម្បី​ឲ្យ​ លេខ​នៅក្នុង​ Textbox រត់ ហើយ​ឈប់​ពេល​ Button ត្រូវបាន​ Click ម្ដងទៀត​ ។
នៅក្នុង VBA ដើម្បី​​ចាប់​យកលេខ​ដោយចៃដន្យ​​ត្រូវប្រើ Function  Rnd() ដោយសារតែ​ Function Rnd() ផ្ដល់​តំលៃជា​ ចំនួនទស្សភាគ ខុសពី​លទ្ធផលដែលយើងចង់បានជាចំនួនគត ដូច្នេះ​យើង​ត្រូវប្រើ Function int(x) ដើម្បី Convert  ចំនួនទស្សភាគទៅជា ចំនួន​គត​ ។
ម្យ៉ាងវិញទៀត ក្រោយពី​ចាប់យកលេខដោយចៃដន្យ​ហើយ​ ត្រូវ​បង្ហាញ​លទ្ធផល​នៅក្នុង Textbox ជារៀងរាល់ ១​វិនាទីម្ដង ។​ដើម្បី​ធ្វើ​ដូច្នោះបាន​ យើងត្រូវតែ​ធ្វើ​វា​នៅក្នុង Timer Event របស់​ Form ដែល​ Event នេះ អាស្រ័យទៅនិង តំម្លៃ របស់​TimerInterval  បើ​ ​TimerInterval ​= 0 វានិង​ឈប់ បើខុស​ពី ០ Event និង​ចាប់​ផ្ដើម ហើយ គំលាត​របស់​វាគឺ​ស្មើរនិង​តម្លៃរបស់ TimerInterval ដែលមានខ្នាតជា មីលីវិនាទី។ 












ពេលដែល​Button ត្រូវបាន​ Click TimerInterval ត្រូវបាន​ផ្ដល់​តំលៃ​ ៥០ មានន័យថា​រៀងរាល់ ៥០ មីលីវិនាទីម្ដង់ ។ ពេលដែល​Button Click ម្ដង់​ទៀត​TimerInterval = 0 មានន័យថា បញ្ឈប់​Even Timer
Even Timer នេះ​នឹង​ចាប់​ផ្ដើម​ដោយស្វ័យប្រវត្តិ​ពេល​ដែល​តម្លៃរបស់​TimerInterval ខុសពី ០​ ។​ ក្នុង​Even នេះបាន​ចាប់​យកលេខ​ដោយ​ចៃដន្យ​រួច​​ផ្លល់​ទៅឲ្យ​អញ្ញាតិ myint ។ ហើយ​បង្ហាញ​លទ្ធផលនៃលេខដែលចាប់​បាន​តាមរយTextbox ដូច្នេះ ដរាបណា​Button Click Even មិន​បាន​ផ្ដល់​តំលៃឲ្យ TimerInterval = 0 នោះទេ Even Timer និង​ចាប់​លេខ​ដោយ​ចៃដន្យ​ហើយ​បង្ហាញវា​នៅក្នុង​ Text Box រៀងរាល់ ៥០ មីលីវិនាទី​ម្ដង ។
ចំនាំ៖ Rnd()*9 ដើម្បី​ឲ្យ​លទ្ធផលដែល​ចេញ ស្ថិត​ក្នុង​ចន្លោះ 0 ដល់​ 8 ។ ដើម្បី​ឲ្យ​លទ្ធផលដែល​ចេញ ស្ថិត​ក្នុង​ចន្លោះ 0 ដល់​ 99 ត្រូវ ប្រើ
Rnd()*100