មេរៀន Access- លំហាត់ពី Modules

1) ចូរបង្កើត Button Open form Study List និង Button Close form Student List
a-Program’s Code ភ្ជាប់ទៅនឹង Button Open:
Private Sub CmdOpen_Click()
DoCmd.OpenForm “Study List”, acNormal
End Sub
-Program’s Code ភ្ជាប់ទៅនឹង Button Close:
Private Sub CmdClose_Click()
DoCmd.Close
End Sub
2) ចូរបង្កើត Message នៅពេលបើក ឬ បិទ Form Student List
a-Program’s Code ភ្ជាប់ទៅនឹង Form:(សរសេរលើ On load ឬ On open)
Private Sub Form_Open(Cancel As Integer)
MsgBox “Welcome to Student List form.”,  , “Student List Form”
End Sub
ចំនែក ឯនៅពេលបិទ Formវិញ ធ្វើដូចខាងលើដែរ ប៉ុន្ដែត្រូវសរសេរលើ On close នៅក្នុង Event Tab
3) ចូរបង្កើត Button Fist, Previous, Next, Last និង Add New Record
a-Program’s Code ភ្ជាប់ទៅនឹង Button ទាំង 5 ខាងលើ
Private Sub CmdFirst_Click()
DoCmd.GoToRecord , , acFirst
End Sub

Private Sub CmdPrevious_Click()
On Error Resume Next
DoCmd.GoToRecord , , acPrevious
End Sub

Private Sub CmdNext_Click()
On Error Resume Next
DoCmd.GoToRecord , , acNext
End Sub

Private Sub CmdLast_Click()
DoCmd.GoToRecord , , acLast
End Sub

Private Sub CmdAddNewRec_Click()
DoCmd.GoToRecord , , acNewRec
End Sub

4) ចូរបង្កើត Button Preview, Print Report និងបើក Form ជា Design
a-Program’s Code ភ្ជាប់ទៅនឹង Button ទាំងបីខាងលើ
Private Sub CmdDesign_Click()
DoCmd.OpenForm “Student List”, acDesign
End Sub

Private Sub CmdPreviewRe_Click()
DoCmd.OpenReport “Student List”, acViewPreview
End Sub

Private Sub CmdPrintRe_Click()
DoCmd.OpenReport “Student List”, acViewNormal
End Sub
4) ចូរបង្កើតរូបមន្ដផលគុណតាម Public Function និង Private Sub
a-Program’s Code Public Function:
Public Function Result(A, B As Double) As Double
Result = A * B
End Function
ភ្ចាប់ទៅនឹង Button ក្នុង Form:
Private Sub CmdCalculate_Click()
Me.Text4 = Result(Me.Text0, Me.Text2)
End Sub

– Program’s Code Private Sub:
Private Sub CmdCalculate1_Click()
Me.Text16 = Me.Text11 * Me.Text13
End Sub

Private Sub CmdClose_Click()
DoCmd.Close
End Sub
5) ចូរបង្កើត Form Exchange Rate ដោយប្រើរូបមន្ដផលគុណខាងលើ
6) ចូរបង្កើត Form Employee Salary ដូចខាងក្រោម:
a-Program’s Code
Private Sub CmdExchange_Click()
Me.Text12 = InputBox(“Enter the price for exchange”, “Exchange”, 4000)
End Sub
ចំណែក Total in Riel= [Salary] * [Text12](ប្រើនៅក្នុង Control Source)
Total=Sum([Salary])*[Text12] (ប្រើនៅក្នុង Control Source)
7) ចូរគណនា Mention និង Result ដោយប្រើរូបមន្ដ If……Then ….End If
a-Program’s Code សំរាប់ Mention:
Public Function Mention(D As Double) As String
If D = 0 Then
Mention = ” ”
ElseIf D < 5 Then
Mention = “Weak”
ElseIf D >= 5 And D <= 6 Then
Mention = “Medium”
ElseIf D > 6 And D <= 8 Then
Mention = “Good”
ElseIf D > 8 And D <= 10 Then
Mention = “Very good”
Else
Mention = ” ”
End If
End Function
-Program’s Code សំរាប់ Result:
Public Function Result(E As Double) As String
If E = 0 Then
Result = ” ”
ElseIf E < 5 Then
Result = “Fail”
Else
Result = “Pass”
End If
End Function
8) គណនាដូចខាងលើដែរ ទៅលើ Mention និង Result ដោយប្រើរូបមន្ដ Select Case
-Program’s Code សំរាប់ Mention:
Public Function Mention1(F As Double) As String
Select Case F
Case 0
Mention1 = ” ”
Case Is < 5
Mention1 = “Weak”
Case 5 To 6
Mention1 = “Medium”
Case 6.01 To 8
Mention1 = “Good”
Case 8.01 To 10
Mention1 = “Very good”
Case Else
Mention1 = ” ”
End Select
End Function
-Program’s Code សំរាប់ Result:
Public Function Result01(G As Double) As String
Select Case G
Case G = 0
Result01 = ” ”
Case Is < 5
Result01 = “Fail”
Case Is >= 5
Result01 = “Pass”
Case Else
Result01 = ” ”
End Select
End Function
9) ចូរបង្កើត រូបមន្ដ Min តាម Public Function ហើយភ្ជាប់ទៅ Form និង តាម Private Sub

-Program’s Code សំរាប់់ Public Function:
Public Function Min(A, B, C As Double) As Double
Min = A
If Min > B Then Min = B
If Min > C Then Min = C
End Function
បន្ទាប់មក ភ្ជាប់ទៅ Button ក្នុង Form ដូចខាងក្រោម :
Private Sub CmdMinPublic_Click()
Me.Text7 = Min(Me.Text0, Me.Text2, Me.Text4)
End Sub
a-Program’s Code សំរាប់ Private Sub:
Private Sub CmdMinPrivate_Click()
Dim Min As Double
Min = Me.Text13
If Min > Me.Text15 Then
Min = Me.Text15
ElseIf Min > Me.Text17 Then
Min = Me.Text17
End If
Me.Text20 = Min
End Sub
10) ចំណែករូុបមន្ដ Max ដូចគ្នាទៅនឹងរូប Min ដែរ ប៉ុន្ដែល័ក្ខខ័ណ្ឌផ្ទុយគ្នា
Public Function Max(A, B, C As Double) As Double
Max = A
If Max < B Then Max = B
If Max < C Then Max = C
End Function

11) ចូរបង្កើត Form ដូចខាងក្រោមៈ
a-Program’s Code:
Private Sub Combo10_AfterUpdate()
Me.RecordSource = “select * from [Salary] where Sex like ‘” & Me.Combo10 & “‘;”
End Sub
Private Sub Combo10_GotFocus()
Me.Combo10.RowSourceType = “Value list”
Me.Combo10.RowSource = “F, M”
End Sub
12) ចូរបង្កើត Form ដូចខាងក្រោមៈ
a-Program’s Code:
Private Sub Frame12Find_Click()
Me.RecordSource = “select * from [Salary] where Name like ‘” & Find & “‘;”
End Sub
Function Find()
Select Case Frame12Find
Case 1
Find = “C*”
Case 2
Find = “D*”
Case 3
Find = “H*”
Case 4
Find = “*”
End Select
End Function

-Program’s Code:
Private Sub Form_Timer()
Me.Text21 = Format(Now, “h:mm:ss”)
End Sub

13) ចូរបង្កើត Button ដើម្បីបើកកម្មវិធីផ្សេងៗ
aរបៀបបង្កើត Dictionary
ដើម្បីបង្កើត Dictionary យើងត្រូវបង្កើត Table 3 ដែលមានឈ្មោះដូចខាងក្រោម
-Table Khmer
-Table English
-Part Of Speed
ហើយនៅក្នុង Table នីមួយៗ មាន
-Table Khmer
•Field Name:
-No Data Type ជា AutoNumber
-ID Data Type ជា Number
-Part_Speed Data Type ជា Look Up Wizard
-Khmer1 Data Type ជា Text
-Khmer2 Data Type ជា Text
•    Table English
-ID Data Type ជា AutoNumber
-English Data Type ជា Text
•    Table Part Of Speed
-No Data Type ជា AutoNumber
-Part_Speed Data Type ជា Text
បន្ទាប់មកយើងធ្វេ្វ្វ្វី Relationship រវាង Table English និង Table Khmer ហើយទាញ ទិន្នន័យចូលក្នុង Query
•    ទិន្នន័យក្នុង Query រួមមាន
-ID និង English របស់ Table English
-Part_Speed, Khmer1, and Khmer2 របស់ Table Khmer
បន្ទាប់មក ភ្ជាប់វាទៅកាន់ Form ជារាង Tabular រួចយើងភ្ជាប់ Code ទៅកាន់ Command button មួយចំនួន
•Command button Add New
Docmd.GoToRecord, , acNewRec
English.Setfocus
•Command button Move First
Docmd.GoToRecord, , acFirst
•Command button Move Previous
On Error Resume Next
Docmd.GoToRecord, , ac Previous
•Command button Move Next
On Error Resume Next
Docmd.GoToRecord, ,acNext
•Command button Move Last
Docmd.GoToRecord, ,acLast
Code ភ្ជាប់ទៅ Search សំរាប់ពាក្ស
Docmd.ApplyFilter, “English like'” & Search.Text & “*” &”‘”
Search.SelStart = Len(Search.Text)
aa