មេរៀន Access- ភ្ជាប់ SQL និង Module

aI ) អ្វីទៅភាសារុករកទិន្នន័យ? What is SQL?
SQL (Structured Query Language): គឺជាភាសាមួយប្រភេទដែលគេប្រើសំរាប់ទាញទិន្នន័យពី Database  មកធ្វើការគណនា បង្ហាញ ផ្លាស់ប្ដូរ លុប និង កែប្រែ ទៅតាមការកំណត់លក្ខខ័ណ្ឌផ្សេងៗដែលយើងកំណត់ ។
ទំរង់ទូទៅរបស់ SQL Statements :
SELECT Tablename.fieldname?,Tablename.fieldname?,…….or Expression
FROM Tablename,Tablename,….
[WHERE Condition…..]
[ORDER BY….Tablename.fieldname,.. ASC/DESC]
[GROUP BY Tablename.fieldname,…]
[ HAVING Condition….]
Ex: ចូរប្រើប្រាស់ Database Northwind of Sample Microsoft in Folder Programfiles\Microsoft Offiec\OfficesXX\Sample\Northwind.mdb
Select CustomerID,CompanyName,ContactName
From Customers
ការចូលសរសេរ ត្រូវ ចុច Object Query–>New–>Design View–>OK
aបន្ទាប់មកត្រូវចុច Close Button:
aបន្ទាប់មកទៀតត្រូវចុច SQL button on Toolbar រួចសរសេ កូដបានហើយ
aពេលដែលសរសេរួចហើយអាច View or Run សំរាប់មើលលទ្ធផលៈ
II) Type of Sql statement ប្រភេទនៃភាសារុករកទិន្នន័យ
គេចែក SQL Statement ជាពីរប្រភេទគឺដូចខាងក្រោម ៖
1-DDL(Data Definition Language)
DDL គឺជាភាសាមួយប្រភេទដែលអាច Delete, Update, Insert, Alter ,Create Table and Drop នៃ Database។

a) Syntax Delete SQL:
DELETE * FROM TableName,…
[WHERE Condition]
ប្រើសំរាប់លុប Records ទិន្នន័យក្នុង Table ណាមួយ ទៅតាមលក្ខខ័ណ្ឌដែលបានកំណត់ ។
b) Syntax Update SQL :
Update TableName,..
Set Tablename.Fieldname=NewValues or Expression
Where Condition
ប្រើសំរាប់កែប្រែ ទិន្នន័យក្នុង Table ណាមួយ ទៅតាមលក្ខខ័ណ្ឌដែលបានកំណត់ ។
c) Syntax  Insert 1:
Insert Into TableDestination(FieldName,…) Values(?,?,?,?,…)
ប្រើសំរាប់យកទិន្នន័យពិតចូល TableDestination
d) Systax Insert 2:
Insert Into TableDestination(FieldName,…)
Select Fieldnamesource,….
From TableSourec,…
[WHERE Condition]
ប្រើសំរាប់យកទិន្នន័យពី TableSource ទៅ TableDestination តាមលក្ខខ័ណ្ឌដែលបានកំនត់ ។

1. What is Module?
Modules ជា Object មួយមានលក្ខ្ខណៈស្រដៀងនឹង Macro ដែរ តែខុសគ្នាត្រង់ Modules ត្រូវសរសេរ Code ដើម្បីអោយវាធ្វើអ្វីមួយ ចំណែកឯ Macro វិញគ្រាន់តែយើង Select យកនោះជាការស្រេច។ Modules ធ្វើអោយ Object ក្នុង MS Access ទាក់ទងគ្នាហើយ វាជួយបង្កើនល្បឿនការងារ ក្នុងការប្រើ Database។
ឧៈ យើងត្រូវការគណនាញឹកញាប់ រឺ យើងត្រូវការប្រើវាច្រើនដង តែយើងសរសេរ Code តែម្ដងប៉ុណ្ណោះ។
aនៅក្នុងការប្រើ Modules ដូចនឹងការប្រើ Macro ដែរគឺ យើងអាចសរសេរតាមពីររបៀបគឺ សរសេររួចហើយ ទើបភ្ជាប់ទៅកាន់ Form និងសរសេរដោយផ្ទាល់នៅក្នុង Form តែម្ដង។

2 Procedure:
នៅក្នុងការប្រើ Sub Procedure គឺមានពីររបៀបដែលត្រូវបានគេនៅក្នុងការសរសេរ Code នៅក្នុង MS Access ៖
-Public Function
-Private Sub
a) Public Function: ត្រូវបានគេប្រើជាលក្ខណៈទូទៅ បន្ទាប់មកទើបគេភ្ជាប់វាដើម្បីអោយវាធ្វើការអ្វីមួយតាមតំរូវការ របស់គេ។
b) Private Sub: ត្រូវបានគេប្រើដើម្បីសរសេរភ្ជាប់ដោយផ្ទាល់ទៅនឹង Form, Button,… ដើម្បីអោយវាធ្វើការអ្វីមួយតាម តំរូវការ។
-របៀបបង្កើត Sub Procedure:
+ ចុចលើ Modules Object នៅក្នុង Database
+ ចុចលើ New
+ ចុចលើ Insert Menu

– ជ្រើសរើសយក Procedure ពេលនោះវានឹងបង្ហាញនូវប្រអប់មួយដូចខាងក្រោមៈ
a-Name: សំរាប់ក្នុងការសរសេរ Code
-Scope និង Type: សំរាប់អោយយើងជ្រើសរើសប្រភេទ Procedure ក្នុងការសរសេរ
+ បន្ទាប់ពីកំនត់រួចហើយចុច Ok
ឧទាហរណ៍១ៈ ការបង្កើតនៅក្នុង Public Function:
Public Function Total(A, B As Integer) As Integer
Total = A * B
End Function
ឧទាហរណ៍២ៈ ការបង្កើតនៅ Private Sub:
Private Sub Cmd_Click()
Me.Text4 = Me.Text0 * Me.Text2
End Sub
3 Arguments: ជា Variable ដែលត្រូវហៅយកមកប្រើនៅក្នុងការសរសេរ មានន័យថាកំនត់ប្រភេទវាជាអ្វីមួយ។
Arguments As Data Type មានដូចជាៈ

String ផ្ទុកតំលៃជាអក្សរ
Byte ផ្ទុកតំលៃជាចំនួនគត់ពី 0-255
Integer ផ្ទុកតំលៃជាចំនួនគត់
Long ផ្ទុកតំលៃជាចំនួនគត់
Single ផ្ទុកតំលៃជាទស្សភាគ
Double ផ្ទុកតំលៃជាទស្សភាគ
Boolean ផ្ទុកតំលៃជាចំនួនពិត ឬ មិនពិត
Date ផ្ទុកតំលៃជាថ្ងៃ ខែ ឆ្នាំ

ឧទាហរណ៍ៈ     Public Function Total(A, B As Integer) As Integer
Total = A * B
End Function
4) ការប្រើ Statements:
a) Dim: ប្រើសំរាប់ Declare Variable មានន័យថា វាប្រាប់អោយ Memory របស់ម៉ាស៊ីនទុក Space សំរាប់ ដាក់តំលៃដែលយើងកំនត់ ។
-របៀបប្រើ Dim ដើម្បី Declare៖ Dim Variable_Name As Data Type
ឧទាហរណ៍ៈ     Private Sub CmdMin_Click()
Dim Min As Double
Dim A As Integer
Dim B As Integer
———————-
———————-
-b) Const: ប្រើសំរាប់ Declare Variable ដែលមានតំលៃថេរ។
ឧទាហរណ៍ៈ    Public Function Unit_Price(Device, Qty As Integer) As Currency
Const Table = 20
Const Chair = 5
——————–
——————–
-c) If ……Then: ជា Statement ប្រើសំរាប់ដាក់ល័ក្ខខ័ណ្ឌដើម្បីពយភាក្សាទៅលើអ្វីមួយ។
-របៀបប្រើៈ
If Condition Then
Do Something
End If
-ប្រសិនបើល័ក្ខខ័ណ្ឌយើងមានច្រើនយើងត្រូវប្រើពាក្យ ElseIf ដើម្បីបន្ដល័ក្ខខ័ណ្ឌផ្សេងៗទៀត។
If Condition Then
Do Something
ElseIf Condition Then
Do Something
End If
-ប្រសិនបើយើងមានល័ក្ខខ័ណ្ឌពីរ ឬ យើងចង់អោយវាមានល័ក្ខខ័ណ្ឌផ្ទុយពីល័ក្ខខ័ណ្ឌផ្សេងៗដែលយើងបានកំនត់ យើងត្រូវប្រើពាក្យ Else ហើយបញ្ចប់ដោយ End If។
-If Condition Then
Do Something
Else
Do Something
End If
-If Condition Then
Do Something
Elseif Condition Then
Do Something

Elseif Condition Then
Do Something
Else
Do Something
End If
ចំណាំៈ     – ElseIf អាចប្រើបានច្រើនដង
-Else អាចប្រើបានតែម្ដងប៉ុណ្ណោះ។
d) Select Case: ប្រើសំរាប់ដាក់ល័ក្ខខ័ណ្ឌដូចទៅនឹង Statement If ដែរ តែរបៀបប្រើមានលក្ខណៈខុសគ្នា។
– របៀបប្រើៈ
Select Case Expression
Case ទី១
Do Something
Case ទី២
Do Something
Case Else
Do Something
End Select
ឧទាហរណ៍ៈ     Public Function Result(Average As Double) As String
Select Case Average
Case Is < 5
Result = “Fall”
Case is >= 5
Result = “Pass”
Case Else
Result = ” ”
End Select
End Function