View
245
Download
4
Category
Preview:
Citation preview
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 1
CMBUkTI1
Macro & VBA in Microsoft Access Programing
1. Database
enAkñúgkarbegáIt Database eTACa Application mYysMrab;[eKeRbIR)as; vamanlkçN³BiessCaeRcIn
EdlGac eRbIedIm,ICMnYydl;GñkeRbIR)as;kñúgkareRbI Database eGaytambMNgrbs;eKEdlP¢ab;mkCamYy
Microsoft Access edIm,IgayRsYlkñúgkareRbIR)as;.
]bmafaenAelI Form & Report GñkeRbIR)as;begáIt Action or Event eGayekItmaneLIgenaH
Programming of Access )anEbgEckeTACa 2 EpñkWw³ Macro & Visual Basic for Application (VBA)
sMrab;kar eqøIytbeTAnwg Actions or Events TaMgenaH.
2. Events
Events KWCa User Actions mandUcCa karcuc Mouse (Mouse Click), karcuc Key (Key Press),
b¤karebIk Form/Report..... cMeBaH Events GacEk)anpgEdreday Visual Basic Statement ehIy
Events eRcInTak;TgeTA nwg Form & Report dUcCa Section enAelI Form/Report b¤k¾ Controls enAelI
Form edayeRbI VBA Procedure b¤k¾ Macro .
rebobeFVI
1- ebIk Form/Report kñúglkçN³ Design View Double-Click (or Right-Click ) enAelI
Form/Report Section, edIm,IbegáItpÞaMg Properties Sheet .
2- cuc Events Properties ( Event Tab ) rYceRCIserIs Events Edlcg;begáIt ehIyeRCIserIs Macro
BI List b¤k¾elI Build Button (...) edIm,IeRCIserIsykkñúg Builder Dialog Box.
3- Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA
Procedure .
4- cuc Close ( X ) button (RbsinebIeRCIserIs Building a Macro RtUvdak;eQµaH Macro sin )
rYccuc OK button .
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 2
CMBUkTI2
1. Macro
Macro Ca Object mYyEdlmanenAkñúg Ms. Access vaCaPasabBa¢a (Command Language)
ehIyvaKWCalMdab;énkarrkSaTuknUv Actions EdlGaceRbIR)as;vasMrab; Procedure . Macro mantYnaTI
begáInel,ÓnkargarenAkñúg Ms. Access rbs;eyIgeGay)anelOnEfmmYykMrit. vaGacCYyeyIgkñúgkar
begáI Button, Menu, cg Object Application bBa©ÚlKña sMrab;eRbIR)as;pÞal; elIkic©karrbs;eyIgenAkñúg
Forms/Reports .
1.1. karbegáIt nig Gnuvtþn_elI Macro
1.1.1. karbegáIt Macro kñúglkçN³ Design View
-Click on Create >Macro Macro
eRbIsMrab;eRCIserIs
skmµPaBrbs;
Macro
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 3
enAkñúg Action eRCIserIsykmYykñúgcMeNamenaHmann½yfa eyIgnwgbBa¢afaeGay eFVIGVI enAeBl eyIg
Run Macro EdleTIbnwgbegáItenaH.
]³ Rtg; Action yk Open Form mann½yfa ebIk Form NamYy.
enARtg; Action Arguments KWeyIgcUleTAkMnt; edIm,IeGay)anc,as;fa RtUvebIk Form NamYy³
-Form Name: eQaµH Form EdlRtUvebIk ( Ex: Form1)
-View: sMrab; View Form rbs;eyIgCaTMrg; Form NamYy.enAkñúg View man³
+Form :ebIk Form Carag Form View
+Design :ebIk Form Carag Design View
+Print Preview :ebIk Form Carag Print Preview edIm,I Print ecjelIRkdas
+Datasheet :ebIk Form Carag Datasheet View
+PivotTable :ebIk Form Carag PivotTable
+PivotChart :ebIk Form Carag PivotChart
xageRkamenHCalT§plenAeBlEdl Run Mocro edIm,IebIk Form eQµaH Change Rate Full.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 4
-Filter Name:Tak;TgnwgkareRbIR)as; Query (cUremIlkñúglMhat;).
-Where Condition:sMrab;ebI Form eTAtamlkçx½NÐ (cUremIlkñúglMhat;).
-Data Mode:man 3 KW³
+Add :sMrab;bBa©Úl Record bEnßmeTAkñúg Form b:uEnþ Records EdlmanrYcmkehIy
KWminGacEkERb)aneLIy.
+Edit :enAeBlEdleyIgebIk Form Edlman Data Mode Ca Edit enaH Form Gac
bBa©Úl Records nig Edit elI Records EdlmanrYcehIy)an.
+Read only : eyIgminGaceFVIGVI)anTaMgGs;enAelI Form eRkAGMBI View emIl Records Et
b:ueNaÑH.
-Window Mode:man 4 KW³
+Normal :ebIk Form CaTMrg;Fmµta tamEdleyIg)an Design
+Hidden :ebIk Form EtminbgÐajeGayeXIj ( dUcCaminebIkEdr )
+Icon :ebIk Form CalkçN³ Minimize
+Dialog :ebIk Form edayKµan Button Minimize, Maximize enAelIEpñkxagsþaMeT KW
manlkçN³Ca Dialog mann½yfaeyIgminGac Maximize b¤ Minimize )aneLIy.
cMNaM³ enAeBlEdleyIg Run enaH Macro rbs;eyIgnwgebIk Form EdlmaneQaµHdUcxagelI
(Ex: Form1) RbsinebIeQaµHenaHKµanenAkñúg Form eTvanwgecj Error .
2. rebobP¢ab; Macro eTAkan; Form
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 5
edIm,IP¢ab; Macro eTAkan; Form )aneyIgRtUvebIk Form rbs;eyIgCarag Design View sineRBaH
karebIk Form rbs;eyIgCa Form View KWeRbIR)as;enAeBlEdleyIgcg;bBa©Úl Record Etb:ueNaÑH
ÉcMEnk Design View KWsMrab;erobcM Form rbs;eyIgeGaymanTMrg;eTAtamGVIEdleyIgcg;)an.
enAkñúg Design View:
-yk Command Button mkKUselIépÞ Form rbs;eyIg edaykMuePøcbiT Control Wizard pg (kar
biT Control Wizard KWkarBarkMueGay Command Button EdleyIgbegáItmanlkçN³Ca Button Wizard)
-cUleTA Propertie rbs; Command Button
-eRCIsyk Event Tab Onclick ehIycucsBaØa ykeQaµH Macro EdleyIg)anbegáIt.
karbegáIt Close Button :edIm,IbiT Form:Form1
-enAkñúg Menu Tab > cucelI Create Macro Macro
-kñúg Macro Window
Action Action Arguments Close Object Type:Form
Object Name: Form1
Save: Promt
-Save Macro edaydak;eQµaHfa MacCloseForm
rebobPa¢b;eTAkan; Form KWRsedogKñaeTAnwgkarP¢ab; OpenForm Edr.
karbegáIt Group of Macro
RbsinebIGñkeRbI Macro edayELk²BIKñasMrab ; Macro TaMgGs;Edl)anbegáIt eBlenaH List
vamanlkçN³EvgeBk eFVIeGayBi)akenAkñúgkareRbIR)as; RBmTaMgeFVIeGaymanbBaðakñúgkarEsVgrk nigerobcM
nUv Macro TaMgenaHeTotpg. enAkñúgkarbegáIt Macro vamanviFIepSgeTotKW rkSaenAkarTMnak;TMngrvag
Macro bBa©ÚlKñaedIm,IbegáIt Group of Macro.
1-cucelI Action Catalog enAkñúg Design Tool ehIycuc Group sUmemIlrUbxageRkam
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 6
3-sresreQµaHén Macro kñúg Macro Name Column enAkñúgCYrdMbUgén Macro
4-eRCIserIs Action BI List kñúg Action button nig Argument rbs;va
5-cuc Save button rYcdak;eQµaHeGay Macro
3. karbegáIt Macro Autoexec
Macro Autoexec mannaTI Run nUv Action TaMgLayEdlmanenAkñúg Macro enaHedaysV½yRbvtþi
enAeBlEdleyIgebIk Database rbs;eyIgeLIg. (eKeRcIneRbIvaedIm,IebIk Form Startup b¤ Form EdlCa
Main board button ).
rebobbegáIt³
1-enAkñúg Create Tab Macro Macro
2-]TahrN_eyIgman Form mYyeQµaH Startup
enAkñúg Macro window
Actoin Action Arguments
OpenForm Object Type : Startup
View : Form
Data Mode : Edit
Window Mode : Normal
3-Save dak;eQµaH Autoexec:edIm,I Access Run Macro enHedaysV½yRbvtþi (minRtUv Save
dak;eQµaHxusBIenHeLIy eRBaHvaCaeQµaH Standard rbs; Access).
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 7
Find Record edayeRbI Macro:
enAeBlEdleronGMBI Table eyIg)aneFVIkarGnuvtþn_eTAelIkarEsVgrk Record edayeRbIR)as; Filter
sMrab; Form k¾man Record Filter pgEdrEtedaysareyIgGacbegáIt Macro )aneyIgKYrEteronEsVgrkva
tamry³ Macro vijmþg. vaGaceFVIeGay Database rbs;eyIgmanlkçN³l¥RbesIrgayRsYlkñúgkareRbI
R)as;.
1-begáIt Form edayeRbI Table TblEmployee .eyIgnwg)an Form dUcxageRkam³
2-begáIt Form mYyeTotdUcxageRkam³ (Save dak;eQaµH FrmFindRecord)
Name: txtStart
Name: txtEnd
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 8
3-begáIt Macro FindRecord nigClose
+Macro FindRecord:
-Create Tab Macro > New
-Rtg; Action: OpenForm
-Rtg; Form Name: FrmEmployee
-Where Condition: cucelIqñúcbI enAxag
sþaMéd
-sresrenAkñúg Expression BuilderdUc
xageRkamenH³
- kñúgkrNIGt;manrUbxagsþaMédenH sUmvayrUbmnþrWk¾lkçN³cUlkñúg Where Condition
dUcFmµta.
Action TI2³ Close
Action Action Arguments
Close Object Type: Form
Object Name: FrmFindRecord
-Save dak;eQµaHfa MacFindRecord
P¢ab; Macro eTAkan; Form³ ebIk Form Find Record Ca Design View
-yk Command Button mkKUrelI Form
-bþÚr Font CaExµr vaybBa©Úl EsVgrk
-cuc View Menu Properties Event Onclick yk MacFindRecord
-yk Command Button mkKUs
-vaybBa©Úl Close
-View Properties Event Onclick yk MacClose
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 9
ebIk Form Find Record ehIysakl,gcucemIl.
4. viFIP¢ab; Macro eTA Form
-ebIk Form Design View
-Click mouse sþaMelI Option Group Properties Event
2. Printing Report By Criteria
1- Create a student report by taking record source from table student List "Frm print
Report" to enter "From StudentID" to "StudentID".
TxtFromID
TxtToID
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 10
3-Create a Macro that name "MacPrintReport"
-Form OpenReport Action, In Where Condition
-Rtg; Button Print yk Properties rbs;va
-cuc Event Tab Rtg; Onclick ykeQµaH Macro: MacPrintReport
Form Close Action:
-Rtg; Button Close yk Properties rbs;va
-cuc Event Tab Rtg; Onclick ykeQµaH Macro: MacClsoe
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 11
lMhat; (Macro)
]TahrN¾TI1³Program xageRkambgðajBIrebobEsVgrkTinñn½ytamrebobcg; Macro edayeRbI]bkrN¾
mYycMnYndUcCa Combo Box cMnUn3 nig Button mYypgEdr.
Program xageRkamenHRtUvkar tara Studentlist edIm,IbegáIrCa FormmYyCalkçN³ Tabular.
kMNt;lkçN³mYycMnYneGay Combo Box mandUcCa
1. Design View Form erIsyk Properties Sheet erIsykBakü Data ehIyenARtg;
Bakü Row Source: eRCIserIsyksBaØa edIm,IcUleTAbegáIt Query ehIyTaj
ykTinñn½yEdlRtUvkarEsVgrkcUlkñúg Query rYccuc Auto Sum rYccuc Close ykBakü
Save nig Row Source Type: erIsyk Table\Query.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 12
2. RtUvkMNt;lkçN³eGay Combo Box TaMgbIedayGnuvtþn¾dUcCMhanxagelI b:uEnþeBl
EdlTajTinñn½ycUlkñúg Query RtUverIsk,al Field EdlRtUvkarEsVgrrkb:ueNÑaH.
3. cUleTAeFVI Macro elI Button Search all cucelI Button erIsyk Properties Sheet
bnÞab;mkcucelIBakü On Click erIsyksBaØa erIsykBakü Macro Builder
- Add New Action : erIsyk Apply Filter
- Where Condition: cucelI Invoke Builder
xageRkamenHCalT§iplénkarEsVkrkTinñn½y
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 13
]TahrN¾TI2³Program xageRkambgðajkarlk;plitpledayRKan;Et User vaybBa©ÚlB’tmancUlkñúg
Program enaHkmµvIFInigeFVIkarKitR)ak;cMNayrbs;ePJovedaysV½yRbvtþi ehIyTinñn½yRtUvrkSaTukkñúg
Table, Query nig Report edayxøÜnÉg.
cUrbegáIt Table Sale Product Edlmank,al Field dUcCa³ID, ProName, Date,
Quantity, Unit Price, Amount,Pay In Rield.
cUrbegáIt Query mYyedayeRbI Table Sale Product ehIyRtUvKNnark Amount.
cUrbegáIt Report mYyEdlmanTMrgCa Tabular.
karbegáIt Macro edIm,IdMeNIrkarelI Button TaMgbUnmandUcCa
1. Button Open tbl: - Add New Action: OpenTable - Table Name: Sale Product
2. Button Open Qry: - Add New Action: OpenQuery - Table Name: Sale Product
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 14
3. Button Open rpt: - Add New Action: OpenReport - Table Name: Sale Product(10/01/10) - View : Print Preview
4. Button:Close - Add New Action: Close Window - Object Type: Form - Object Name : Sale Pro(10/1/10)
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 15
CMBUkTI3
1. Module
Modules: KWCakEnøgsMrab;eGayeyIgsresrRbURkamdUcCa Procedure bJk¾ Function edayeRbI
Statement rbs; VBA ( Visual Basic for Application) gayRsYleyIgehAykeTAeRbIR)as;kñúg Form
epSg²KñaCaeRcIn edIm,IedaHRsaybBaðamYYycMnYnenAkñúg Database rbs;eyIg.
1.1. lkçN³ (Properties) rbs; Form bJ Controls:
lkçN³rbs; Form bJ Controls Rtg;RBwtþikarN¾NamYyRtUv)aneKehAfa Event Properties.
Event Propeties mYycMnYnmandUcCa³
a. After Update: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar bnÞab;BI
Field bJ Record RtUv)anEkERbtMél.
b. On Open: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkarmuneBl Form
RtUv)anebIk.
c. On Load: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdl Form RtUv)anebIk.
d. On Got Focus: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdl Control NamYy bJ Form )at;bg;»kar ( Focus) mann½yfa Cursor bJ
High light mkdl;va.
e. On Lost Focus: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdl Control NamYy bJ Form )at;bg;»kar ( Focus) mann½yfa Cursor bJ
High light pøas;TIecjBIva.
f. On Exit: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar enAeBlEdl
Cusor erobnwgcakecjBI Control NamYYy.
g. On Change: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdlTinñ n½ykñúg Text Box bJ Combo Box RtUv)anpøas;bþÚr.
h. On Click: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar enAeBlEdl
Control NamYYyRtUv)an Click.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 16
i. On Double Click: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdlGñkeRbIR)as; Double Click elI Control NamYy.
j. On Mouse Move: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar
enAeBlEdl Mouse Pointer eTAEk,r Control EdleyIg)ankMNt;Rtg;RbwtþikarN¾
enaH.
k. On Key Up: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar enAeBlEdl
eyIgykédecjBI Key EdleyIg)ancuc.
l. On Timer: procedure bJ function Rtg;RBwtþikarN¾enHRtUv)andMeNIrkar enAeBlEdl
Time Interval mantMélxusBIsUnü.
m. Timer Interval: KWCakEnøgsMrab;kMNt;ry³eBlKitCa Millisecond
edIm,IBnüaeBléndM eNIrkar procedure bJ Function Rtg;RbwtþikarN¾ On Timer.
Note: cMeBaH OnTimer nig Timer Interval KWCalkçN³( Properties) rbs; Form.
2. Visual Basic for Application (VBA):
VBA: KWCa programming Language EdlRtUv)aneRbIenAkñúg Application Program
mandUcCa MS- Word, MS-Excel nig MS- Access CaedIm.
2.1 RbePTTinñn½y (Data Type):
enAkñúg VBA CaRbePTTinñn½ymYycMnYn EdleyIgGacykmkeRbImandUc
Boolean:mannaTIsMrab;pÞúknUv Boolean Data KW True (-1) bJ False (0)
Byte : mannaTIsMrab;pÞúknUvcMnYnKt;viC¢mantMélcab;BI 0 dl; 255.
Integer: mannaTIsMrab;pÞúknUvcMnYnKt;mantMélcab;BI -32768 dl; 32767.
Long: mannaTIsMrab;pÞúknUvcMnYnKt; mantMélcab;BI -2,147,483,648 dl;
2,147,483,647.
Currency: mannaTIsMrab;pÞúknUvcMnYnTsPaK mantMélcab;BI
922,337,203,685,477.5808 dl; 922,337,203,685,477,5807.
Single: mannaTIsMrab;pÞúknUvcMnYnTsPaK mantMélcab;BI 3.402823E38 cMeBaHcMnYnviC¢
man.
Double: mannaTIsMrab;pÞúknUvcMnYnTsPaK mantMélcab;BI -1.79769313486231E308
dl; -4.94065645841247E-324 cMeBaHcMnYnGviC¢man ehIycab;BI 4.94065645841247
E-324 dl; 1.79769313486232E308 cMeBaHcMnYnviC¢man.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 17
String : mannaTIsMrab;pÞúknUvtUGkSr nigcMnYnelxEdlminGacKNna)an.( Variable
Length) GacpÞuktYGkSr)anrhUtdl; 2 billion tY.cMENkÉ String (fixed-length)Gac
pÞúktYGkSr)anrhUtdl; 65,400 tY.
Date: mantYnaTIsMrab;pÞúkkarbrieqät bJeBlevla.
Variant: mantYnaTIsMrab;pÞúkral;tMélénRbePTTinñn½yTaMgGs;xagelI GaRs½yeTAnwgkar
kMNt;tMéleGayGefrenaHb:ueNÑaH. mann½yfa RbsinebIeyIgkMNt;tMél True bJ False
enaHGefrEdlmanRbePTCa Variant )anbþÚreTACaRbePT Boolean ehIyebIeyIgkMNt;tM
élCakarbriecät enaHvamankarpøas;bþÚreTACaRbePT Date vij.
Object: mannaTIsMrab;pÞúknUv Object reference.
2.2. karRbkasGefr ( Variable Declaration):
enAkñúg VBA manCMerIsBIr (two Options) kñúgkarRbkasGefrKW³
- Option Implicit: GefrRtUv)aneRbIedatBuMcaM)ac;Rbkask¾)an
- Option Explicit: GefrRtUv)aneRbI luHRtaEteyIg)anRbkasvaeeGaymanRbePTTinñn½yGVI
mYyCamunsin.edIm,IkMNt;ykCMerIsenH enaHeyIgRtUvvay Option Explicit enAkñúgEpñk
General Declaration (KWCaEpñkEdlsßitenAxagelIeKénkEnøgsresrRbURkamrbs; Form,
Report nig Module) BIeRkamCab;nwg Option Compare Database.
edIm,IRbkasGefrmYy bJeRcIneGaymanRbePTTinñn½yGVImYy enaHeyIgRtUveRbI Syntax
dUcxageRkam³
EX: Keyword Var1 As Datatype,………., VarN As Datatype
Edl keyword KWCaBaküBiessRtUv)ansMrab;RbkasGefr. Keyword EdleyIgGac
eRbIsMrab;RbkasGefr.
KeywordEdleyIgGaceRbIRbkasGefrmancMnYn4dUcxageRkam³
1. Public: mantYnaTIsMrab;RbkasGefrenAkñúgEpñk General Declaration én Module
NamYy. GefrEdl)anRbkasGacRtUv)aneRbIRKb;TIkEnøgkñúg Procedures bJ Functions
TaMgLaysßitkñúg Forms, Reports bJ Modules Nak¾)anEdreGayEtsßitenAkñúg File
Databas EtmYyCamYyKña.GefrRtUv)anrkSatMélcas;rbs;vaTuk eTaHbICadMeNIrkar
Program RtUv)anbBa©b;ehIyk¾eday.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 18
2. Private: mantYnaTIsMrab;RbkasGefrenAkñúgEpñk General Declaration én Form,
Report nig Module NamYy. GefrEdl)anRbkasGacRtUv)aneRbIkñúg procedure bJ
Function TaMgLaysßitenAkñúg Form, Report bJ Module nimYy² Edl)anRbkasgefr
enaHb:ueNÑaH. GefrRtUv)anrkSatMélcas;rbs;vaTuk eTaHbICadMeNIrkar Program RtUv)an
bBa©b;ehIyk¾eday.
3. Dim: mantYnaTIsMrab;RbkasGefrenAkñúgEpñk General Declaration én Form, Report
nig Module NamYyEdlmanlkçN³dUc Private keyword Edr. m:üageToteyIgGaceRbI
Dim sMrab;RbkasGefrenAkñúg Procedure bJ Function nimYy² edayGefrenHRtUv)aneRbI
Etkñúg Procedure bJ Function Edl)anRbkasvab:ueNÑaH ehIytMélcas;rbs;vaRtUv)anlub
enAeBldMeNIrkar Program RtUv)anbB©ab;.
4. Static: mantYnaTIsMrab;RbkasGefrenAkñúg Procedure bJ Function nimYy² edayGefr
enHRtUv)aneRbIEtkñúg Procedure bJ Function Edl)anRbkasvaEtb:ueNÑaH k¾b:ueNÑaHGefr
RtUv)anrkSaTuktMélcas; rbs;vaTuk eTaHbICadMeNIrkar Program RtUV)anbBa©b;ehIyk¾
eday.
3. GnuKmn¾sMrab;bBa¢Úl nigbgðajB’tman (Input /Output Function)
3.1. GnuKmn¾sMrab;bgðajB’tman (Output Function)
MsgBox: KWCaGnuKmn¾sMrab;bgðajB’tmanenAelI Message BoxmYy. vamanRTg;RTay
dUcxageRkam³
Syntax1: MsgBox Prompt, Constants, Title
- Prompt:GacCaXøaRbeyaKbJGefr EdlRtUvbgðajtMélenAelI Message Box .ebIvaCaXaøRb
eyaK enaHeyIgRtUvdak; double quote(“) enAsgxag EtebIGefrbJkenSamKNnaenaHeyIgRtUv
bnþBIXøaRbeyaKedaysBaØa & .
- Title: KWCaXøaRbeyaK EdlRtUvbgðajenAelI Title Bar rbs; Message Box.
- ConstantsKWCatMélbJeQµaHEdlRtUvbgðajnUv Button bJrUb Icon enAelI Message Box។
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 19
- Constants TaMgenaHmandUcxageRkam³
Constants Value Description
vbOKOnly 0 Display OK Button Only
vbOKConcel 1 Display Ok and Cancel Button
vbAbortRetryIgnore 2 Display Abort, Retry and Ignore Button
vbYesNoConcel 3 Display Yes, No and Cancel Button
vbYesNo 4 Display Yes and No Button
vbRetryConcel 5 Display Retry and Cancel Button
vbCritical 16 Display Critical Message Icon
vbQuestion 32 Display Warning Query Icon
vbExclamation 48 Display Warning Message Icon
vbInformation 64 Display Information Message Icon
3.2 GnuKmn¾sMrab;bBa©ÚltMél (Input Function)
Input Box: KWCaGnuKmn¾sMrab;bBa©ÚltMéleGayGefrNamYy. vamanRTg;RTaydUcxageRkam³
Syntax: VarName = InputBox (“Prompt”, “Title”, DefaultValue)
- Prompt GacCaXøaRbeyaK EdlRtUvbgðajtMélenAelI ; Input Box
- Title KWCaXøaRbeyaK EdlRtUvbgðajtMélenAelI Title Bar rbs; Input Box
- DefaultValue KWCatMélEdleyIgRtUvkMNt;eGaymanRsab;kñúgRbGb;bBa©Úlrbs; input Box.
4. Control Stucture:
4.1. If Statement:
Syntax 1:
If Condition Then Statement
Edl Statement RtUv)andMeNIrkarenAeBlEdl Condition Bit.
Syntax 2:
If Condition Then
Statement(s)
End if
Edl Statement (s) RtUv)andMeNIrkarenAeBlEdl Condition Bit.
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 20
Syntax 3:
If Condition Then
Statement(s) RtUv)andMeNIrkarenAeBlEdl Condition Bit.
Else
Statement(s) RtUv)andMeNIrkarenAeBlEdl Condition minBit.
End if
Syntax 4:
If Condition Then
Statement1(s) RtUv)andMeNIrkarenAeBlEdl Condition1 Bit.
Else if Condition2 Then
Statement2(s) RtUv)andMeNIrkarenAeBlEdl Condition2 Bit.
.
.
End if Condition N Then
Statement N(s) RtUv)andMeNIrkarenAeBlEdl Condition N Bit.
Else
Statement(s) RtUv)andMeNIrkarenAeBlEdl Condition TaMgGs;xagelIminBit.
End If
4.2. Select Case Statement
mannaTIsMrab;eRCIserIsyk Statement(s) kñúgkrNImYyNamkdMeNIrkar.
Syntax1:
Select Case Expression
Case Value1a,Value1b,…………….., Value1z
Statement1(s)
Case Value2a, Value2b, ……………,Value2z
Statement2(s)
.
.
Case ValueNa,ValueNb,………,ValueNz
StatementN(s)
Case else
Statement(s)
End Select
Syntax2:
Select Case Expression
Case Value1a To Value1z
Statement1(s)
Case Value2a To Value2z
Statement2(s)
.
.
Case ValueNa To ValueNz
StatementN(s)
Case Else
Statement(s)
End Select
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 21
Syntax3:
Select Case Expression
Case is Comparision1
Statement1(s)
Case is Comparision2
Statement2(s)
.
.
Case is ComparisionN
StatementN(s)
Case Else
Statement(s)
End Select
cMNaM³
Comparision KWCakenSameRbobeFob EdlmanEtsBaØaeRbobeFobmandUcCa =, < ,> ,<=
,>=, <> ehIynwgtMél (Value) EdlRtUveRbobeFobCamYynwgtMél Expression b:ueNÑaH.
4.3. For ……Next:
mannaTIsMrab;dMeNIrkarsarcuHsareLIgnUv Block én Statement(s) eTAtamcMnYndgén
GefrEdlCa Loop Counter.
Syntax1:
For Each VarName In GroupValue
Statement(s)
Next VarName
Edl Statement(s) RtUv)andMeNIrkarsarcuHsareLIgeTAtamtMélnimYy²rbs; Value
Name EdlsßitenAkñúgRkuméntMélmYYy(Group Value).
Systax:
For VarName=StartValue To EndValue
Statement(s)
Next VarName
Edl Statements(S) RtUv)andMeNIrkarsarcuHsareLIgeTAtamtMélnimYy²rbs; VarName
EdlRtUvekIn 1 CasV½yRbvtþicab;BI StartValue rhUtdl; EndValue.
Syntax3:
For VarName= StartValue To EndValue Step StepValue
Statement(s)
Next VarName
cMNaM³
edIm,IcakecjBI For……Next enaHeyIgRtUveRbI Statement mYyKW Exit For.
4.4. Do…Loop
Do loop man 4 TMrg;dUcxageRkam³
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 22
a. Do While Loop : Block én Statement(s) RtUv)andMeNIrkarsarcuHsareLIg kñúgxN³
EdllkçN³BitehIyebIlkçN³minBit enaHvanwgQb;dMeNIrkar.
Syntax:
Do While Condition
Statement(s)
Loop
b. Do Loop While: manlkçN³RsedogeTAnwg Do While Loop EdlRKan;Et Block én
Statement(s) RtUv)andmeNIrkarmþgCamunsineTIbBinitülkçxNÐ.
Syntax:
Do
Statement(s)
Loop While Condition
c. Do Until Loop: Block én Statement(s) RtUv)andMeNIrkarsarcuHsareLIg luHRtaEt
lkçN³Bit eTIbvanwgQb;dMeNIrkar.
Syntax
Do Until Condition
Statement(s)
Loop
d. Do Loop Until: manlkçN³RsedogeTAnwg Do Until Loop EdlRKan;Et Block én
Statement(s) RtUv)andmeNIrkarmþgCamunsineTIbBinitülkçxNÐ.
Syntax:
Do
Statement(s)
Loop Until Condition
cMNaM³
edIm,IcakecjBI Do Until Loop enaHeyIgRtUveRbI Statement mYy KW Exit Do .
5. GnuKmn¾ (Function):
5.1. Sub Procedure:
KWCaRbURkamEdlminbBa¢ÚntMélRtlb;mkkan; Main program rbs;vavijeLIy. Sub procedure
manTMrg;dUcxageRkam³
Public/Private Sub ProcedureName (Parameter_List)
Statement1
.
.
StatementN
End Sub
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 23
Public/Private:KWCa Keyword RtUv)aneRbIsMrab;Rbkas Sub Procedure. RbsinebIeyIgeRbI
public bJmin)aneRbI keyword NamYysMrab;Rbkas Sub Procedure enaHeyIgKYrEtsresrvaenA
kñúg Module NamYyeTIb Sub Procedure enHGacRtUv)anehABI Main Program EdlsßitenAkñúg
Module epSg bJk¾enAkñúg form NamYy. EtRbsinebIeyIgeRbI Private kñúgkarRbkas Sub
Procedure enaHvaGacRtUv)anehABI Main Program edlsßitenAkñúg Form bJ Module CamYynwg
Sub Procedure enHb:ueNÑaH.
Parameter_List KWCakarRbkasGefr( EdleKehAfa parameter ) sMrab;TTYltMélBI Argument
(GacCacMnYnefr Gefr bJkenSamKNna EdlRtUv)aneRbIenAeBl Call Function) sMrab;ykeTA
dMeNIrenAkñúg Function. edIm,IRbkasGefrEdlCa Parameter enaHeyIgGaceRbI Keyword
cMnYnBIrdUcCa³
ByVal(By Value) eRbIsMrab;Rbkas Parameter ehIyRbsinebI Parameter
mankarERbRbYltMélenaH Argument EdlCaGefrRtUvKñamin)anERbRbYltMél
tameLIy.
ByRef (By Reference ):ebIeyIgeRbI Byref k¾min)aneRbI keyword NamYy
sMrab;Rbkas parameter ehIyRbsinebI parameter )anERbRbUltMélenaH
Argument EdlCaGefrRtUvKñak¾ERbRbYltMéltamEdr.
EX:
Public sub CloseForm (FrmName As String)
Dim y as Byte
Y= MsgBox(“Do you want to close?”,vbYesNo,”Clsoe Form”)
If y =vbYes Then
Docmd.Close acFor, FrmName,asSaveYes
End if
End Sub
bnÞab;mk save nUv Module enHedaydak;eQµaH Module Close.
ehtuenHRbURkabsMrab; Close Button edIm,IbiT Form mYyeQµaH FrmMention RtUv)ansresr³
Private Sub cmdClsoe_Click ( )
Call ClsoeForm(“FrmMention”)
End Sub
5.2. GnuKmn¾ ( Function):
KWCaGnuKmn¾EdlbBa¢ÜÚntMélRtlb;mkkan; Main Program rbs;vavij. Function enHvamanRTg;
RTaydUcxageRkam³
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 24
Public/Private Function FunName(Parameter_List)As Returntype
Statement 1
.
.
StatementN
FunName=Expression (KWCa Return Statement)
End Funtion
edIm,I Call Function enH enaHeyIgRtUveRbI Call Statement dUcxageRkam³
VarName=FunName(Arg1, Arg2, ……..,ArgN)
Edl VarNameKWCaGefrsMrab;TTYltMélBI Fuction.
EX:
Public Function Minimum ( a As Interger, b As Interger, c As Interger) As Interger
Dim min As Interger
If a> b then
Min =b
Else
Min = a
End if
If min > c Then min = c
Minimum = min
End Function
bnÞab;mk save nUv Module enHedaydak;eQµaH ModuleMinimum
ehtuenHRbURkabsMrab; OK Button edIm,IrkcMnYntUcbMputrvagbItMél EdlRtUvbBa¢Úntamry³ Text
Boxes RtUv)ansresr³
Private Sub cmdOK_Click( )
txtMin =Minimum (txtx,txty,txtz)
End Sub
6. Structure Query Language (SQL)
SQL:CaPasamYyRtUv)aneKeRbIR)as;sMrab;esñIrsuMBt’manEdrsßitenAkñúgmUldæanTinñn½y sMeNIrsuM
B’tmanGacCakar³
Rsg;ykB’tman
bEnßmCYredkénB’tman
EktMrUvCYredkénB’tman
lubCYredkénB’tman
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 25
1. RbmaNviFIeRCIserIsCYredk
RbmaNviFIeRCIserIsCYredkRtUv)aneKsresrtamrebobdUcxageRkam³
SELECT* dkXøadak;sBaØa * (Rsg;ykCYrQr)
FROM tarag
WHERE lkçxNÐ (Rsg;ykCYredk)
2. RbmaNviFIeRCIserIsCYrQr
eKGackMNt;ykCYrQrmkbgðajedayeRbIBaküKnøwH SELECT EdlmanrebobsresrdUcxag
eRkam³
SELECT eQµaHCYrQrTImYYy ,
eQµaHCYrQrTIBIr ,
kenSamRbmaNviFI, ……….
3. RbmaNviFIeRCIserIsCYredknigCYrQr
GñkGaceRCIserIsCYredknigCYrQrmkbgðajedayeRbIBaküKnøwH SELECT nig WHERE
EdlRtUv)ansresrdUcxageRkam³
SELECT eQµaHCYrQrTI1,
eQµaHCYredkTI2,
kenSamRbmaNviFI,……………..
4. RbmaNviFItP¢ab;
enAeBlGñkeRCIserIsCYrQrbJCYr edksßitenAkñúgtaragBI epSgKñaenaHcaM)ac;RtUv eRbIRbmaNviFI
tP¢ab;vaRtUv)ansresrtamrebobdUcxageRkam³
SELECT *
FROM taragTI1 INNER JOIN taragTI2 ON lkçxNÐénkartP¢ab;.
5. RbmaNviFIbUksrubnigsnñidæan
RbmaNviFIbUksrubnigsnñidæaneFVIenAelIsMNuMCYredkehIypþl;lT§plmYycMnYncMeBaHRkuménCYr
edknimYy² GñkeFVIRbmaNviFIbUksrubsnñídæanedayeRbIGnuKmn¾.
GnuKmn¾ pþl;
AVG(CYrQrrWkenSam) mFümPaK
Count(*) cMnYnCYredk
Sum(CYrQr bJkenSam) plbUk
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 26
Max(CYrQrbJkenSam) tMélFMCageK
Min ( CYrQrbJkenSam) tMéltUcCageK
SELECT GnuKmn¾ (CYrQrrWkenSam)
FROM tarag
[WHERE] lkçxNÐ
5.1. rebobTI2
SELECT GnuKmn¾ (CYrQrrWkenSam)
FROM tarag
[WHERE] lkçxNÐ
GROUP BY CYrQr (pþMúCYredk)
cMNaM³ GnuKmn¾eFVIRbmaNviFIbUksrubeTAelIRkumCYredkmþgmYyRkum²
nigpþl;lT§plmYycMnYncMeBaHRkummYy.
5.2. rebobTI3
SELECT GnuKmn¾ (CYrQrrWkenSam)
FROM tarag
[WHERE] lkçxNÐ
GROUP BY CYrQr (pþMúCYredk)
HAVING lkçxNÐ
cMNaM³ BaküKnøwH Having sMrab;eRCIserIsCYredkEdlmanlkçxNÐBak;Bn§½nigRbmaN
viFIbUksrubbJsnñidæan.
Group By GacminmankareRbI Having k¾)an
Having caM)ac;RtUvEtman Group By
tMerobCYredkénB’tman
BaküknøwH ORDER BY RtUv)aneRbIedIm,ItMerobCYredkedayeRbIR)as;tMélCYrQrEdlGñk)an
kMNt;.
SELECT [CYrQr] GnuKmn¾ (CYrQrrWkenSam)
FROM tarag
[WHERE lkçxNÐ ]
GROUP BY CYrQr
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 27
HAVING lkçxNÐ
ORDER BY CYrQr [ ASC, DESC ]
cMNaM³
ASC : tMerobGkSrbJelxBItUceTAFM.
DESC : tMerobGkSrbJelxBIFMeTAtYc.
7. rebobbMElgTinñn½y
A. rebobRsg;ykTinñn½yBIRbGb;GtßbT
eQµaHRbGb;GtßbT. Value
B. rebobpÞúkTinñn½ykñúgRbGb;GtßbT
eQµaHRbGb;GtßbT.Value = tMél
cMNaM³
eTaHbICaGñkeRbIR)as;karbBa©ÚlTinñn½yGVIk¾edaykñúgRbGb;GtßbT VBA EtgEtkMNt;ykCa Xøa ( String )
dUcenHGñkcaM)ac;RtUvbMElg Data ebIGñkeFVIRbmaNviFIedayeRbIR)as;GnuKmn¾ manrYcCaeRscdUcxageRkam
eQµaHGnuKmn¾ karbMElgTinñn½yeTAkan;RbePT DATA
CBool Boolean
CByte Byte
CCur Currency
CDate Date
CDbl Double
CDec Decimal
CInt Integer
Clong Long
CSng Single
CStr String
CVar Variant
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 28
]TahrN¾ xageRkamedIm,IbMElg Code cab;epþImdMeNIrkareBleKcab;epþImcucelI Bottun bBa¢a
(Command) GñkRtUvsresr Code elIRBwtþikarN¾ On Click.
Option Compare Database
Private Sub cmdCalculate_Click()
Dim CurCode As Currency
CurCode = CCur(txtcode.Value)
txtSaleprice.Value = CurCode + (CurCode * CByte(txtPercent.Value) / 100)
End Sub
Private Sub cmdClear_Click()
DoCmd.GoToControl "txtProduceName"
txtcode = " "
txtPercent = ""
txtSaleprice = " "
End Sub
Private Sub cmdExit_Click ()
DoCmd.Close
End Sub
Microsoft Access Programming 2010
Virakyuth Computer Vacational School Page 29
lMhat;Gnuvtþn¾rbs; VBA
EX1:
Option Compare Database
Dim str As String
RBwtþikarN¾enHeRbIsMrab; Clear Data ecjBIRbGb; Textbox
Private Sub CmdClose_Click()
DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsMrab;eGaykmµviFIdMNIrenAeBl User bBa©ÚltMélcUlkñúgRbGb; Textbox
User and Password.
Private Sub CmdOK_Click()
Dim Russey Keo As String
Dim Y As Byte
If (Me.txtUser = "ASO" And txtpwd = "123") Then
DoCmd.OpenForm "Employees", acNormal
DoCmd.Close acForm, "FrmLogIn"
Else
Y = MsgBox("Sorry,Invalid password", 52, "Password Invalid")
End If
End Sub
RBwtþikarN¾enHeRbIsMrab; Form Load
Private Sub Form_Load()
str = "Please Input your UserName and Password"
Me.Caption = str
Me.TimerInterval = 100
End Sub
RBwtþikarN¾enHeRbIsMrab;TajykeBlevlanigkat;ykGkSr
Private Sub Form_Timer()
Me.Caption = Right(Me.Caption, Len(Me.Caption) - 1)
If Len(Me.Caption) = 0 Then
Me.Caption = str
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page30
EX2:
lMhat;enHeRbIsMrab;seesrkmµvIFIedIm,IEsVgrkTinñn½yecjBI TblStudent List tamlkçN³CYredkeday
eRbIrUbmnþ Dloolup:
eBlbBa©ÚlelxkUd cUlkñúg TextBox(Student ID)rYceBlenaHvanigbgðaj(Name, Sex ,Class)
edaysV½yRbvtþi.
cMeBaH TextBox(Name, Sex , Class)Data Rtg; Property Lock sUmkMnt;yk Yes
edIm,I kMueGayeKGacbBa©ÚlTinñn½y)aneRBaH TextBox TaMgbIenH KWvacaMEtbgðajb:ueNÑaH.
sUmemIlrUb Program xageRkam
karsrese Code In VBA:
RBwtþikarN¾enHeRbIsMrab; Clear Data ecjBIRbGb; Textbox
Private Sub cmdclear_Click ()
txtstuID.Value = Null
txtstuName.Value = Null
txtstuSex.Value = Null
txtstuClass.Value = Null
txtstuClass.BackColor = vbWhite
txtstuID.SetFocus
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 31
RBwtþikarN¾enHeRbI sMrab ; Close Application Form
Private Sub cmdClose_Click()
Dim Y As Byte
Y = MsgBox("Do you want to closed Form now?", vbYesNo, "Close
Form")
If Y = vbYes Then
DoCmd.Close
End If
End Sub
RBwtþikarN¾enHeRbI sMrab;EsVgrkTinñn½yecjBI Table enAeBl User vay ID
Private Sub txtstuid_Exit (Cancel As Integer)
On Error GoTo Myerror
Dim Name As String
Dim Sex As String
Dim Class As String
Name = DLookup("Name", "Student List", "StudentID=" &
txtstuID.Value)
Sex = DLookup("sex", "Student List", "StudentID=" &
txtstuID.Value)
Class = DLookup("class", "Student List", "StudentID=" &
txtstuID.Value)
txtstuName.Value = Name
txtstuSex.Value = Sex
txtstuClass.Value = Class
Exit Sub
Myerror:
MsgBox "Invalid StudentID, Please input agian."
txtstuID.SetFocus
End Sub
RBwtþikarN¾enHeRbIsMrab ;ebIk Application Form mYyeToteGa User
vaybBa©ÚlTinñn½y
Private Sub cmdOpenfrm_Click()
DoCmd.OpenForm "students frm", acNormal
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 32
EX3: lMhat;xageRkamenHvaCakmµvIFIsMrab; Ba©Úl EsVgrk niglubTinñn½ytamry³ ListBox nig
TextBox ehIycMENkkarGanTinñn½yecjBI ListBox cUleTAkñúg TextBox tamry³ Index rbs;
ListBox. sUmemIlrUb Program xageRkam
karsresr Code In VBA
Option Compare Database
Option Explicit
Dim vStart As Boolean
Dim RndNumber As String
RBwtþikarN¾enHeRbI sMrab ;sresr Code GanTinñn½yecjBI TextBox cUl ListBox
Private Sub cmdInput_Click()
If Me.txtname = "" Or IsNull(Me.txtname) Then
MsgBox "Pleas Enter Province", vbInformation
Me.txtname.SetFocus
Else
Me.lstprovince.AddItem Me.txtname
End If
End Sub
RBwtþikarN¾enHeRbI sMrab ;sresr Code sMrab;biTkmµviFI
Private Sub cmdExit_Click()
DoCmd.Close
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 33
RBwtþikarN¾enHeRbI sMrab ;sresr Code lubTinñn½yecj Text box Province
Private Sub cmdClearItem_Click()
txtname.Value = Null
txtname.BackColor = vbWhite
txtname.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;lubTinñn½yecj Text box data nig listbox
Private Sub cmdclear_Click()
txtindex.Value = Nothing
txtafterread.Value = Nothing
txtindex.BackColor = vbWhite
txtindex.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;GanTinñn½yecj List box cUl Text Box
Private Sub cmdreadFromListbox_Click()
If Me.lstprovince.ListCount <= 0 Then
MsgBox "Pleas Enter data to province Listbox", vbInformation, "No data in list"
Me.txtname.SetFocus
Exit Sub
End If
If Me.txtindex = "" Or IsNull(Me.txtindex) Then
MsgBox "Pleas enter index of listbox to read item on list", vbInformation
Me.txtindex.SetFocus
Exit Sub
Else
If IsNumeric(Me.txtindex) = False Then
MsgBox "only integer is allowed", vbInformation
Me.txtindex.SetFocus
Exit Sub
End If
Me.txtafterread = Me.lstprovince.ItemData(CLng(Me.txtindex))
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab; Form Laod
Private Sub Form_Load()
Me.lstprovince.RowSourceType = "Value List"
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 34
EX3:lMhat;xageRkameRbIsMrab;RKb;RKgkmµvIFImYYycMnYnrbs; All Program én Computer CMnYskar
cUleRbIkmµvIFIenAkñúg Computer tamry³ Start Window sUmemIlrUb Program xageRkam³
karsresr Code in VBA :
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;biTkmµviFI
Private Sub cmdClose_Click ()
DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;dMeNIrkarkmµviFIenAeBlcuc Button Run Application
Private Sub cmdRun_Click()
If Frame10 = 1 Then
Call Shell("winword.exe", vbMaximizedFocus)
ElseIf Me.Frame10 = 2 Then
Call Shell("Excel.exe", vbMaximizedFocus)
ElseIf Me.Frame10 = 3 Then
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 35
Call Shell("MsAccess.EXE", vbMaximizedFocus)
ElseIf Me.Frame10 = 4 Then
Call Shell("PowerPNT.exe", vbMaximizedFocus)
ElseIf Me.Frame10 = 5 Then
Call Shell("C:\Program Files\Adobe\Adobe Photoshop
CS2\Photoshop.exe ", vbMaximizedFocus)
End If
If Me.Frame22 = 1 Then
Call Shell("C:\Program Files\Windows Media Player\wmplayer.exe",
vbMaximizedFocus)
ElseIf Me.Frame22 = 2 Then
Call Shell("C:\Otehr\Typing\TYPING\Touch.exe",
vbMaximizedFocus)
ElseIf Me.Frame22 = 3 Then
Call Shell("C:\Otehr\Typing\TYPING\mario.exe",
vbMaximizedFocus)
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;GnuBaØateGayeyIgGaceRCIserIsCMerIs)aneRcIn
Private Sub Frame4_AfterUpdate ()
If Frame4 = 1 Then
Frame10.Enabled = True
Frame22.Enabled = False
Frame10 = 0
Frame22 = 0
Else
Frame10.Enabled = False
Frame22.Enabled = True
Frame10 = 0
Frame22 = 0
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 36
EX4:lMhat;xageRkamenHeRbIsMrab;BinitüemIlsarCatixøaj;enAkñúgxøÜnrbs;eyIgehIyvanigbgðaj;BIkMritCati
xøaj;enAkñúgxøÜnedayRKanEtbBa©ÚlTMgn; nig kMBs; rbs;eyIg.
enAeBlEdleyIgsresr Program eyIgRtUvEtkMNt;enAlkçxNÐmYycMnYndUcxageRkam³
sUmemIllkçxNÐenAkñúg Code VBA
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;biTkmµviFI
Private Sub cmdCloseForm_Click()
DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;bgðajBIeBlevlaenAelI Form
sUmeFVIkarkMNt;lkçN³rbs; FormmYYy cMnYndUcxagRkam³
-Timeinterval kMNt;cMnYneBlevlaKitCa Second nig On Timer RtUvsresr Code
Private Sub Form_Timer()
Me.Caption = "Body Mass Index(BMI) " & Now()
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 37
RBwtþikarN¾enHeRbIsresr Code sMrab;sMGat;Tinñn½yecjBIRbGb; Text Box
Private Sub cmdClear_Click()
txtHeight.Value = Null
txtWeight.Value = Null
txtBMI.Value = Null
lblinformation.Caption = ""
txtBMI.ForeColor = vbWhite
txtWeight.SetFocus
End Sub
rebobTI1 eRbI Select Case edIm,Idak;lkçN½eGay Application form dMeNIrkar
RBwtþikarN¾enHeRbI sresr Code sMrab;eFVIkarKNnakMritCatixøaj; nigbgðajnUvkMritCatixøaj;
enAkñúgxøÜnrbs;eyIg
Private Sub cmdClickHere_Click ()
Dim bytWeight As Byte
Dim sngHeight As Single
Dim sngBMI As Single
BytWeight = CByte (txtWeight.Value)
SngHeight = CSng (txtHeight.Value)
txtBMI.Value = bytWeight / (sngHeight ^ 2)
Select Case txtBMI
Case Is < 15.5
lblinformation.ForeColor = vbRed
lblinformation.Caption = "You are Underweight"
Case 18.5 To 24.5
lblinformation.ForeColor = vbBlue
lblinformation.Caption = "You are Normal"
Case 25 To 29.9
lblinformation.ForeColor = vbYellow
lblinformation.Caption = "You are OverWeight"
Case 30 To 34.9
lblinformation.ForeColor = vbGreen
lblinformation.Caption = "You are Obesity class I"
Case 35 To 39.9
lblinformation.ForeColor = vbBlack
lblinformation.Caption = "You are Obesity class II"
Case Is >= 40
lblinformation.ForeColor = vbBlack & vbRed
lblinformation.Caption = "You are Obesity class III"
End Select
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 38
rebobTI2 eRbI if elseif else edIm,Idak;lkçN½eGay Application form dMeNIrkar
Dim sngBMI As Single
Dim bytWeight As Byte
Dim sngHeight As Single
BytWeight = CByte (txtWeight.Value)
SngHeight = CSng (txtHeight.Value)
SngBMI = bytWeight / (sngHeight ^ 2)
txtBMI.Value = sngBMI
If sngBMI < 18.5 Then
lbltitle.ForeColor = vbBlack
lbltitle.Caption = "you are underweight"
ElseIf sngBMI >= 18.5 And sngBMI <= 24.9 Then
lbltitle.ForeColor = vbRed
lbltitle.Caption = "you are normal"
ElseIf sngBMI >= 25 And sngBMI <= 29.9 Then
lbltitle.ForeColor = vbBlue
lbltitle.Caption = "you are overweight"
ElseIf sngBMI >= 30 And sngBMI <= 34.9 Then
lbltitle.ForeColor = vbBlue
lbltitle.Caption = "you are obesity class I"
ElseIf sngBMI >= 35 And sngBMI <= 39.9 Then
lbltitle.ForeColor = vbYellow
lbltitle.Caption = "you are obesity class II"
ElseIf sngBMI >= 40 Then
lbltitle.ForeColor = vbGreen
lbltitle.Caption = "you are obesity clss III "
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 39
EX5: lMhat;xageRkamenH vaCakmµviFImYysMrab;eRbIKNnark BinÞúsrub rkmFümPaK nig lT§pl mUlvicar
rbs;sisS EdleyIg)anbBa©ÚltMéleTAkñúg Text Box TaMgGs; Application Form.
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
Dim intlength As Integer
Dim strTitle As String
Dim blnStart As Boolean
Dim bl As Boolean
RBwtþikarN¾enHeRbIsresr Code sMrab;begáIt Function edIm,IeFVIeGayGkSrmanclna
Function from (bytOrigin As Byte) As Byte
Select Case bytOrigin
Case 1 'left
From = 3 'right
Case 3 'right
From = 2 'center
Case 2 'center
From = 4 'ditribute
Case 4 'distribute
From = 1 'left
End Select
End Function
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 40
RBwtþikarN¾enHeRbIsresr Code sMrab;cuc Command Button edIm,IeFVIeGayGkSrmanclna
nigehA FunctionykmkeRbIR)as;vij.
Private Sub cmdRun_Click ()
On Error Resume Next
Dim i as Integer
Dim dtmStart As Single
Bl = Not bl
Do While bl = True
'Call from Function
lbltitle.TextAlign = from (lbltitle.TextAlign)
For i = 1 to intlength
lbltitle.Caption = Left (strTitle, i)
lbltitle.ForeColor = QBColor (Int (Rnd * 15))
DtmStart = Timer
Do Until Timer > dtmStart + 0.1
DoEvents
Loop
Next i
Loop
End Sub
RBwtþikarN¾enHeRbIsresrCode edIm,IenAeBlEdl Form ebIkeLIgGnuBaØateGayvay ID
cUlnigGaceGayGkSr cab;epþImeFVIclna
Private Sub Form_Load()
txtID.SetFocus
strTitle = lbltitle.Caption
intlength = Len(strTitle)
End Sub
RBwtþikarN¾enHeRbIsresrCode edIm,IenAeBlEdl Form UnLoad kmµviFInigGaceGayeyIgcuc
Button bBaÄb;GkSr
Private Sub Form_Unload(Cancel As Integer)
blnStart = False
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay Program KitBinÞúsrub mFümPaK nig
mUlvicarrbs;sisSenAeBleyIgcuc Button Caculate
Private Sub cmdCaculate_Click()
Dim sngTotal As Single
Dim sngAvg As Single
If IsNull(txtKh) = True Or txtKh < 0 Or txtKh > 100 Then
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 41
MsgBox "Please ,input Score of Khmer ", vbInformation
txtKh.SetFocus
ElseIf IsNull(txtMath) = True Or txtMath < 0 Or txtMath > 100 Then
MsgBox "Please, input Score Math “, vbInformation
txtMath.SetFocus
ElseIf IsNull (txtHi) = True or txtHi < 0 or txtHi > 100 Then
MsgBox "Please, input Score History", vbInformation
txtHi.SetFocus
ElseIf IsNull (txtGeo) = True Or txtGeo < 0 Or txtGeo > 100 Then
MsgBox "Please, input Score Geography ", vbInformation
txtGeo.SetFocus
ElseIf IsNull (txtBio) = True Or txtBio < 0 Or txtBio > 100 Then
MsgBox "Please, input Score Bioghy “, vbInformation
txtBio.SetFocus
Else
SngTotal = CSng (txtKh.Value) + CSng (txtMath.Value) + CSng (txtHi.Value) + CSng
(txtGeo.Value) + CSng (txtBio.Value)
txtTotal.Value = sngTotal
sngAvg = txtTotal / 5
TxtAvg.Value = sngAvg
If TxtAvg < 50 Then
txtMen = "Failed"
ElseIf TxtAvg < 65 Then
txtMen = "Medium"
ElseIf TxtAvg < 75 Then
txtMen = "Fair good"
ElseIf TxtAvg < 85 Then
txtMen = " good"
ElseIf TxtAvg < 95 Then
txtMen = "Very good"
Else
txtMen = "Excellent"
End If
End If
End Sub
sresr Code sMrab;eGaykmµviFIlubTinñn½yecjBIRbGb; Text Box
Private Sub cmdClear_Click()
txtID.Value = ""
txtname.Value = ""
txtSex.Value = ""
txtClass.Value = ""
txtKh.Value = ""
txtMath.Value = ""
txtHi.Value = ""
txtGeo.Value = ""
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 42
txtBio.Value = ""
txtTotal.Value = ""
TxtAvg.Value = ""
txtMen.Value = ""
Call Form_Load
End Sub
sresr Code sMrab;biTkmµviFI
Private Sub cmdClsoe_Click()
Dim y As Byte
y = MsgBox("Do you want to closed Form now?", vbYesNo, "Close Form")
If y = vbYes Then
DoCmd.Close
End If
End Sub
Ex6:lMhat;xageRkamenHCakmµvIFIsMrab;Kitluy enAkñúgkarlk;TMnijedaymankarkMNt; tMél Discount
Rsab;(edayGñklk;minGackMMNt;tMéledayxøÜnÉg)an)ehIytMélDiscount eFVIkarcuHtMélelIbrimaNTMnij
Edl Customer)anTij.
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 43
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;sMGat;tMélecjBIRbGb; Text BoxenAelI Form
Application.
Private Sub cmdClear_Click()
txtID.Value = Null
txtname.Value = Null
txtUnit.Value = Null
txtUnitP.Value = Null
txtDisP.Value = Null
txtAmount.Value = Null
txtR.Value = Null
txtRiel.Value = Null
txtRiel.ForeColor = vbWhite
txtID.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;biTkmµviFI
Private Sub cmdClose_Click()
Dim Y As String
Y = MsgBox ("do you want to close?”, vbYesNo, "Quite Form")
If Y = vbYes Then DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarKNna nigeFVIkarbBa©úHtMéledaysV½yRbvtþienA
eBlGñkeRbIR)as;cuc Button OK.
Private Sub CmdOK_Click ()
Select Case txtUnit
Case Is <= 20
TxtDisP = 0
Case Is <= 50
txtDisP = (txtUnit - 20) * txtUnitP * 0.05
Case Is <= 100
txtDisP = 90 * txtUnitP * 0.05 + (txtUnit - 50) * txtUnitP * 0.1
Case Else
txtDisP = 90 * txtUnitP * 0.05 + 120 * txtUnitP * 0.1 + (txtUnit - 100) * txtUnitP * 0.15
End Select
txtAmount = txtUnit * txtUnitP - txtDisP
txtRiel = txtAmount * txtR
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 44
RBwtþikarN¾enHeRbIsresr Code edIm,IenAeBl Form ebIkeLIgGacGnuBaØateGay User vay ID
cUleTIbGaccuc Button OK )an
Private Sub Form_Load ()
txtID.SetFocus
CmdOK.Enabled = False
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;bgðaj Message edIm,IeGayGñkeRbIR)as;)andiwg
enAeBlEdlmin)anbBa©ÚltMélenaH.
Private Sub txtDisP_GotFocus()
If IsNull (txtID) = True or txtID.Value = "" Then
MsgBox "Please, input ID", vbInformation
txtID.SetFocus
ElseIf IsNull (txtname) = True Or txtname.Value = "" Then
MsgBox "Please, input Name", vbInformation
txtname.SetFocus
Else
CmdOK.Enabled = True
CmdOK.SetFocus
End If
End Sub
EX7:
lMhat;xageRkamenH CakmµviFIeRbIsMrab;eFVIkarKNnaedayeRbIRbmaNviFInBnþTaMgbUn.
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 45
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;lubTinñn½yecjBIRbGb;Text Box TaMgGs;
Private Sub cmdClear_Click()
txtNum1.Value = Nothing
txtnum2.Value = Nothing
txtResult.Value = Nothing
txtResult.ForeColor = vbWhite
txtNum1.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;biTkmµviFI
Private Sub cmdClose_Click()
Dim Y As Byte
Y = MsgBox("Do you want to closed Form now?", vbYesNo, "Close
Form")
If Y = vbYes Then
DoCmd.Close
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIRbmaNviFIEck
Private Sub cmddevide_Click ()
Dim strErrorfound As String
If IsNull (txtNum1.Value) Then strErrorfound = "you must enter
number1"
If IsNull (txtnum2.Value) Then strErrorfound = strErrorfound &
vbCrLf & "you must enter number2"
If strErrorfound = "" Then
txtResult.BackColor = vbYellow
txtResult.Value = CInt (txtNum1.Value) / CInt (txtnum2.Value)
Else
txtResult.Value = Nothing
MsgBox strErrorfound, vbCritical, "Errorfound"
End If
End Sub
RBwtþikarN¾enHeRbI sresr Code sMrab; eFVIRbmaNviFIKuN
Private Sub cmdmul_Click ()
Dim strErrorfound As String
If IsNull (txtNum1.Value) Then strErrorfound = "you must enter
number1"
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 46
If IsNull (txtnum2.Value) Then strErrorfound = strErrorfound &
vbCrLf & "you must enter number2"
If strErrorfound = "" Then
txtResult.BackColor = vbGreen
txtResult.Value = CInt (txtNum1.Value) * CInt (txtnum2.Value)
Else
txtResult.Value = Nothing
MsgBox strErrorfound, vbCritical, "Errorfound"
End If
End Sub
sresr Code sMrab; eFVIRbmaNviFIbUk
Private Sub cmdplus_Click ()
Dim strErrorfound As String
If IsNull (txtNum1.Value) Then strErrorfound = "you must enter
number1"
If IsNull (txtnum2.Value) Then strErrorfound = strErrorfound &
vbCrLf & "you must enter number2"
If strErrorfound = "" Then
txtResult.BackColor = vbBlue
txtResult.Value = CInt (txtNum1.Value) + CInt (txtnum2.Value)
Else
txtResult.Value = Nothing
MsgBox strErrorfound, vbCritical, "Errorfound"
End If
End Sub
sresr Code sMrab; eFVIRbmaNviFIdk
Private Sub cmdsub_Click ()
Dim strErrorfound As String
If IsNull (txtNum1.Value) Then strErrorfound = "you must enter
number1"
If IsNull (txtnum2.Value) Then strErrorfound = strErrorfound &
vbCrLf & "you must enter number2"
If strErrorfound = "" Then
txtResult.BackColor = vbRed
txtResult.Value = CInt (txtNum1.Value) - CInt (txtnum2.Value)
Else
txtResult.Value = Nothing
MsgBox strErrorfound, vbCritical, "Errorfound"
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 47
Ex8: lMhat;xageRkamenHcg[eyIgecHbegáIt kmµvIFIsMrab;KitluyedaysV½yRbvtþi ehIyenAkñúgRbURkamenH
pgEdr)aneFVIkarbBa©úHtMéleTAelIRbePTTMnij edaymincaM)ac;vaybBa©Últémø Discount eLIg.
RbePTTMnijman4RbePT³
TMnijRbePTTImYyeFVIkarcuHéfø5PaKry
TMnijRbePTTIBIreFVIkarcuHéfø10PaKry
TMnijRbePTTIbIeFVIkarcuHéfø15PaKry
TMnijRbePTTIbYneFVIkarcuHéfø20PaKry
karsresr Code enAkñúg VBA:
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarKNna
Private Sub cmdCal_Click()
Dim strErrorfound As String
If IsNull(txtProName.Value) Then strErrorfound = "Product Name is missing"
If IsNull(txtProType.Value) Then strErrorfound = strErrorfound & vbCrLf &
"Product type is missing"
If IsNull(txtPrice.Value) Then strErrorfound = strErrorfound & vbCrLf & " Product
Price is missing"
If IsNull(txtQtySold.Value) Then strErrorfound = strErrorfound & vbCrLf &
"Quantity Sold is missing"
If strErrorfound = "" Then
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 48
Dim curtotal As Currency
Dim curdiscount As Currency
curtotal = CCur(txtPrice.Value) * CByte(txtQtySold.Value)
Select Case txtProType.Value
Case "1"
curdiscount = curtotal * 0.05
Case "2"
curdiscount = curtotal * 0.1
Case "3"
curdiscount = curtotal * 0.15
Case "4"
curdiscount = curtotal * 0.2
End Select
curdiscount = curtotal - curdiscount
txtTotalPrice.Value = curtotal
txtDiscountPrice.Value = curdiscount
Else
MsgBox strErrorfound, vbCritical + vbOKOnly, "Error found"
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarlubTinñn½yecjBIRbGb; TextBoxTaMgGs;
Private Sub cmdClear_Click()
DoCmd.GoToControl "txtProName"
txtProType = ""
txtPrice = ""
txtQtySold = ""
txtTotalPrice = ""
txtDiscountPrice = ""
txtProName = ""
txtProName.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarbiTkmµvIFI
Private Sub cmdClsoe_Click()
Dim Y As Byte
Y = MsgBox("Do you want to closed Form now?", vbYesNo, "Close Form")
If Y = vbYes Then
DoCmd.Close
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 49
EX9: lMhat;xageRkamenHbgðajBI ProgramsMrab;EckrkRkdasR)ak;edayeyIgRKan;EtvaybBa©Úl
TwkR)ak;srub enaHkmµviFInigEckrkedaysV½yRbvtþi.
sresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarKNnarkRkdasR)ak;tamRbePTRkdasR)ak;
nimYy²
Private Sub cmdCal_Click()
Dim Exchange As Long
Dim SubEx As Long
Exchange = Val(txttatolR.Value)
SubEx = Exchange \ 10000
If SubEx <> 0 Then
txt10000 = SubEx
txt10000.ForeColor = vbYellow
txt10000.BackColor = vbGreen
Exchange = Exchange - SubEx * 10000
End If
SubEx = Exchange \ 5000
If SubEx <> 0 Then
txt5000 = SubEx
txt5000.ForeColor = vbGreen
txt5000.BackColor = vbYellow
Exchange = Exchange - SubEx * 5000
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 50
End If
SubEx = Exchange \ 2000
If SubEx <> 0 Then
txt2000 = SubEx
txt2000.ForeColor = vbBlue
txt2000.BackColor = vbBlack
Exchange = Exchange - SubEx * 2000
End If
SubEx = Exchange \ 1000
If SubEx <> 0 Then
txt1000 = SubEx
txt1000.ForeColor = vbRed
txt1000.BackColor = vbBlue
Exchange = Exchange - SubEx * 1000
End If
SubEx = Exchange \ 500
If SubEx <> 0 Then
txt500 = SubEx
txt500.ForeColor = vbYellow
txt500.BackColor = vbRed
Exchange = Exchange - SubEx * 500
End If
SubEx = Exchange \ 100
If SubEx <> 0 Then
txt100 = SubEx
txt100.ForeColor = vbBlue
txt100.BackColor = vbWhite
Exchange = Exchange - SubEx * 100
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarsMrGat;Tinñn½yecjBIRbGb;TTYltMél
Private Sub cmdClear_Click()
DoCmd.GoToControl "txttatolR"
txt10000 = ""
txt5000 = ""
txt2000 = ""
txt1000 = ""
txt500 = ""
txt100 = ""
txttatolR = ""
txttatolR.SetFocus
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 51
EX 10:lMhat;xageRkamenHbgðajBIkarsresrkmµvIFIeRbIsMrab;eFVIkarRKb;RKgelIB’tmanrbs; buKÁlik
dUcCakarbEnßmTinñn½y niglubTinñn½y EsVgrknigrkSaTinñn½y karbiTkmµviFI.
cUrbegáIt Table mYyEdlmandUcxageRkam³
Staff Infor (Sta ID, Sta Name, Gender, DOB, Address, Position, Salary, Phone Num)
begáIt From tamrUbxageRkam
enARtg; Name: txtID, Default value: “(Autonumber)”,locked: No, Tab Stop: No
Name: lstInfor ,Row Source:Staff Information, Column Count: 8, Column Heads : yes
karsresr Code in VBA:
Option Compare Database
Option Explicit
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strStatus As String
RBwtþikarN¾enHeRbIsresr Code sMrab;lubTinñn½yecjBI Form ,Table nig List Box
Private Sub CmdDelete_Click()
With rs
.MoveFirst
Do Until .EOF
If IsNumeric (txtID.Value) = False Then Exit Sub
If .Fields(0) = CLng(txtID.Value) Then
.Delete
cmdNew_Click
Exit Do
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 52
End If
.MoveNext
Loop
End With
lstinfor.Requery
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarEsVgrkTinñn½yedaysV½yRbvitþi
Private Sub cmdFind_Click()
With rs
.MoveFirst
Do Until .EOF
If IsNull(txtname.Value) Then Exit Sub
If .Fields(1) = txtname.Value Then
txtID.Value = .Fields(0)
txtGender.Value = .Fields(2)
txtDOB.Value = .Fields(3)
txtAddress.Value = .Fields(4)
txtPosition.Value = .Fields(5)
txtSalary.Value = .Fields(6)
txtPhone.Value = .Fields(7)
Exit Do
End If
.MoveNext
Loop
End With
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarbEnßmTinñn½y
Private Sub cmdNew_Click ()
StrStatus = "New"
txtID.Value = "(Autonumber)"
txtname.Value = Null
txtGender.Value = Null
txtDOB.Value = Null
txtAddress.Value = Null
txtPosition.Value = Null
txtSalary.Value = Null
txtPhone.Value = Null
txtname.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarrkSaTukTinñn½y
Private Sub cmdSave_Click ()
Select Case strStatus
Case "New"
With rs
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 53
.AddNew
.Fields(1) = txtname.Value
.Fields(2) = txtGender.Value
.Fields(3) = txtDOB.Value
.Fields(4) = txtAddress.Value
.Fields(5) = txtPosition.Value
.Fields(6) = txtSalary.Value
.Fields(7) = txtPhone.Value
.Update
End With
cmdNew_Click
Case "Update"
With rs
.MoveFirst
Do Until .EOF
If IsNumeric(txtID.Value) = False Then Exit Sub
If .Fields(0) = CLng(txtID.Value) Then
.Edit
.Fields(1) = txtname.Value
.Fields(2) = txtGender.Value
.Fields(3) = txtDOB.Value
.Fields(4) = txtAddress.Value
.Fields(5) = txtPosition.Value
.Fields(6) = txtSalary.Value
.Fields(7) = txtPhone.Value
.Update
Exit Do
End If
.MoveNext
Loop
End With
End Select
lstinfor.Requery
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarebIk ForehIyGnuBaØateGayeyIgvayTinñn½ybB©aÚl)an
Private Sub Form_Load()
Set db = CurrentDb()
Set rs = db.OpenRecordset("Staff Information")
strStatus = "New"
End Sub
RBwtþikarN¾enHeRbI sresr Code edIm,IenAeBl Form
UnloadehIyminGnuBaØateGayeyIgvayTinñn½y
bB©aÚl)an
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 54
Private Sub Form_Unload(Cancel As Integer)
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Sub
RBwtþikarN¾enHeRbIsresr Code edIm,IeGay ListBox TTYlTinñn½yBIRbGb; Text box xagelI
Private Sub lstinfor_AfterUpdate()
Dim i As Integer
strStatus = "Update"
With lstinfor
i = .ListIndex + 1
txtID.Value = .Column(0, i)
txtname.Value = .Column(1, i)
txtGender.Value = .Column(2, i)
txtDOB.Value = .Column(3, i)
txtAddress.Value = .Column(4, i)
txtPosition.Value = .Column(5, i)
txtSalary.Value = .Column(6, i)
txtPhone.Value = .Column(7, i)
End With
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 55
EX 11:
lMhat;xageRkamenHbgðajBIkarsresrkmµvIFIsMrab;begáItm:asIunKitelx (Caculate)
sresr Code enAkñúg VBA
Option Compare Database
Dim s As String
Dim Op1 As String
Dim Op2 As String
Dim Op As String
Private Sub cmd0_Click() // Code sMrab;pþl;tMélsUnümYyeGay TxtDisplay
s = s & cmd0.Caption
TxtDisplay = s
End Sub
Private Sub cmd00_Click()// Code sMrab;pþl;tMélsUnüBIreGay TxtDisplay
s = s & cmd00.Caption
TxtDisplay = s
End Sub
Private Sub cmd1_Click()//Code sMrab;vaybBa©Úlelx1 cUlkñúg TxtDisplay
s = s & cmd1.Caption
TxtDisplay = s
End Sub
Private Sub cmd2_Click()//Code sMrab;vaybBa©Úlelx2 cUlkñúg TxtDisplay
s = s & cmd2.Caption
TxtDisplay = s
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 56
Private Sub cmd3_Click()//Code sMrab;vaybBa©Úlelx3 cUlkñúg TxtDisplay
s = s & cmd3.Caption
TxtDisplay = s
End Sub
Private Sub cmd4_Click()//Code sMrab;vaybBa©Úlelx4 cUlkñúg TxtDisplay
s = s & cmd4.Caption
TxtDisplay = s
End Sub
Private Sub cmd5_Click()//Code sMrab;vaybBa©Úlelx5 cUlkñúg TxtDisplay
s = s & cmd5.Caption
TxtDisplay = s
End Sub
Private Sub cmd6_Click()//Code sMrab;vaybBa©Úlelx6 cUlkñúg TxtDisplay
s = s & cmd6.Caption
TxtDisplay = s
End Sub
Private Sub cmd7_Click()//Code sMrab;vaybBa©Úlelx7 cUlkñúg TxtDisplay
s = s & cmd7.Caption
TxtDisplay = s
End Sub
Private Sub cmd8_Click()//Code sMrab;vaybBa©Úlelx8 cUlkñúg TxtDisplay
s = s & cmd8.Caption
TxtDisplay = s
End Sub
Private Sub cmd9_Click()//Code sMrab;vaybBa©Úlelx9 cUlkñúg TxtDisplay
s = s & cmd9.Caption
TxtDisplay = s
End Sub
Private Sub CmdC_Click()//Code sMrab;kMNt;KaµntMélkñúgRbGb; TxtDisplay
s = ""
TxtDisplay = 0
End Sub
Private Sub cmdDivide_Click()//Code sMrab;eFVIRbmaNviFIEck
Op1 = s
Op = "/"
s = ""
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 57
Private Sub cmddot_Click()//Code sMrab;vaybBa©ÚlsBaaØek,oscUlkñúg TxtDisplay
s = s & cmddot.Caption
TxtDisplay = s
End Sub
Private Sub cmdeqaul_Click()//Code sMrab;bgðajtMélenAeBlKNnakñúg TxtDisplay
'Op2 = TxtDisplay
If Op = "+" Then
TxtDisplay = Val(Op1) + Val(s)
s = TxtDisplay
ElseIf Op = "-" Then
TxtDisplay = Val(Op1) - Val(s)
s = TxtDisplay
ElseIf Op = "*" Then
TxtDisplay = Val(Op1) * Val(s)
s = TxtDisplay
ElseIf Op = "/" Then
TxtDisplay = Val(Op1) / Val(s)
s = TxtDisplay
End If
End Sub
Private Sub cmdMult_Click()//code sMrab;eFVIRbmaNviFIKuN
Op1 = s
Op = "*"
s = ""
End Sub
Private Sub cmdSub_Click()//Code sMrab;eFVIRbmaNviFIdk
Op1 = s
Op = "-"
s = ""
End Sub
Private Sub CmdSum_Click()//Code sMrab;eFVIRbmaNviFIbUk
Op1 = s
Op = "+"
s = ""
End Sub
Private Sub cmdBackspace_Click()//CodesMrab;eFVIkarlubtMélecjBIRbGb;display
TxtDisplay = Null
TxtDisplay.SetFocus
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 58
EX12: lMhat;xageRkamenHbgðajBIkarsresrkmµvIFIsMrab;RKb;RKgenAelIkmµviFII Internet Coffee.krNI
RbsincgRKb;RKgelIma:sIuneRcIn kñugeBlEtmYyenaHeyIgminGacyk Code xageRkameTAeRbI)aneT.
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;biTkmµviFI Application
Private Sub CmdClose_Click()
Dim y As Byte
y = MsgBox("Do you want to close?", vbYesNo)
If y = vbYes Then
DoCmd.Close acForm, "FrmInternet", acSaveYes
End If
End Sub
RBwtþikarN¾enHeRbIsresr sresr Code sMrab;eFVIkarkt;Rtary³eBlEdl User eRbIGs;
nigkarcMNayR)ak;rbs;GñkeRbI
Private Sub CmdOk_Click()
Dim h%, m%, s%
If CmdOk.Caption = "&Start" Then
CmdOk.Caption = "&Stop"
txtStart = Time()
txtUsed = ""
txtAmount = Null
Else
CmdOk.Caption = "&Start"
s = DateDiff("s", txtStart, txtStop)
m = s / 60
If s Mod 60 > 0 Then
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 59
m = m + 1
txtStop = DateAdd("n", 1, txtStop)
txtStop = DateAdd("s", -(s Mod 60), txtStop)
s = DateDiff("s", txtStart, txtStop)
End If
If m <= 15 Then
txtAmount = 500
Else
txtAmount = CLng(m) * 2000 / 60
End If
h = s / 3600
s = s Mod 3600
m = s / 60
s = s Mod 60
txtUsed = Format(h, "00h") & ":" & Format(n, "00mn") & ":" & Format(s,
"00s")
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;enAeBlEdl Form ebIkeLIg Form manTMhMeBj
Screen.
Private Sub Form_Load()
DoCmd.Maximize
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGkSrbMlas;TIeFVIcnaeTAvijeTAmkedaysV½yRbvti
Private Sub Form_Timer ()
Static b As Boolean
If b = False Then
LbRotate.Caption = "Prepared By Teacher Sor Sok An"
LbRotate.Left = LbRotate.Left + 100
If LbRotate.Left >= Me.WindowWidth Then
b = True
End If
Else
LbRotate.Caption = "Access Programing"
LbRotate.Left = LbRotate.Left - 100
If LbRotate.Left <= 100 Then
LbRotate.Left = 0
b = False
End If
End If
LbRotate.ForeColor = Rnd(255) * CDbl(12345678)
If CmdOk.Caption = "&Stop" Then
txtStop = Time()
End If
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 60
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 61
karsresr Code enAkñúg VBA(karsresr Code edIm,IRKb;RKgelIm:asIuneRcInkñúgeBlEtmUysMrab;
KitluynigeBlevlarbs; User cUlmkeRbIR)as;.
taMg Variable rYmeGay Parameter ehIy Variable enaHsßitenAkñúg Globle minEmntaMgenAkñúg
Local eRBaHenAeBleyIgehAtémørbs; Variabl ykeTA eRbIenAkñúg Local eyIgGacykeTAeRbI
RKb; Event enAkñúg Local TaMgGs;)aneTsUmemIl Code xageRkam³
]TahrN¾ eKRtUVvRKb;RKgelIm;:asIun 3 rWeRcInkñúgeBlEtmYYy
Option Compare Database
Dim StartTime1 As Variant
Dim StartTime2 As Variant
Dim StartTime3 As Variant
Dim Endtime As Variant
Dim TotalTime As Variant
Dim TimeIn1 As Variant
Private Sub CmdClear1_Click ()
txtTimeIn1 = Clear
TxtTimeOut1 = Clear
TxtTotal1 = Clear
End Sub
Private Sub CmdStart1_Click ()
If CmdStart1.Caption = "Start" Then
CmdStart1.Caption = "Stop"
StartTime1 = Now
txtTimeIn1 = Format (StartTime1, "hh:mm:ss")
Else
CmdStart1.Caption = "Start"
Endtime = Now
TxtTimeOut1 = Format (Endtime, "hh:mm:ss")
TotalTime = Endtime - StartTime1
TxtTotal1 = Format (TotalTime, "hh:mm:ss")
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 62
Private Sub CmdStart2_Click()
If CmdStart2.Caption = "Start" Then
CmdStart2.Caption = "Stop"
StartTime2 = Now
TxtTimeIn2 = Format(StartTime2, "hh:mm:ss")
Else
CmdStart2.Caption = "Start"
Endtime = Now
TxtTimeOut2 = Format(Endtime, "hh:mm:ss")
TotalTime = Endtime - StartTime2
TxtTotal2 = Format(TotalTime, "hh:mm:ss")
End If
End Sub
Private Sub CmdStart3_Click()
If CmdStart3.Caption = "Start" Then
CmdStart3.Caption = "Stop"
StartTime3 = Now
TxtTimeIn3 = Format(StartTime3, "hh:mm:ss")
Else
CmdStart3.Caption = "Start"
Endtime = Now
TxtTimeOut3 = Format(Endtime, "hh:mm:ss")
TotalTime = Endtime - StartTime3
TxtTotal3 = Format(TotalTime, "hh:mm:ss")
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 63
EX13:lMhat;xageRkamenHCa Program mYysMrab;GnuBaØateGayeyIgeRCIserIselx Digit
EdlmanRsab;ehIyenAeBlEdl User cuc Button Start edIm,IeGayelxrbs; Digit dMeNIrkar nigcuc
Button Stop edIm,IeGayelxrbs; Digit Qb;dMeNIrkar tMélelxrbs; Digit TaMgGs;RtUvbgðajenAkñúg
ComboxBox edaysV½yRbvtþi.
karsresr Code enAkñúg VBA:
Option Compare Database
Option Explicit
Dim VStart As Boolean
Dim RndNumber As String
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay User GaccuceRCIserIselIRbGb; Digit One
Private Sub chkone_Click()
If Me.chkone.Value = True Then
Me.txtone.Visible = True
Else
Me.txtone.Visible = False
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay User GaccuceRCIserIselIRbGb; Digit Three
Private Sub chkthree_Click()
If Me.chkthree.Value = True Then
Me.txtthree.Visible = True
Else
Me.txtthree.Visible = False
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 64
RBwtþikarN¾enHeRbIsresr sresr Code sMrab;eGay User GaccuceRCIserIselIRbGb
Digit Two
Private Sub chktwo_Click()
If Me.chktwo.Value = True Then
Me.txttwo.Visible = True
Else
Me.txttwo.Visible = False
End If
End Sub
RBwtþikarN¾enHeRbIsresr sresr Code sMrab;eGay User GaclubtMélecjBIRbGb
Digit TaMgbI
Private Sub cmdClear_Click()
Call Clears(Me.Form)
Call Form_Load
End Sub
RBwtþikarN¾enHeRbI sresr Code sMrab;eGay User GaccucbiTkmµviFIenAeBlQb;eRbIR)as;
Private Sub cmdClsoe_Click()
DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay User GaccuceGaytMélelIRbGb; Digit
dMenIrkaredaysV½yRbvtþi
Private Sub cmdStart_Click()
Me.TimerInterval = 100
VStart = True
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay User GaccuceGaytMélelIRbGb;Digit
Qb;dMenIrkareday.
Private Sub cmdStop_Click()
VStart = False
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGaytMélrbs; Digit minBitluHRtaEt user cuc
Button StarteTIbdMenIrkar
Private Sub Form_Load ()
Me.txtone.FontSize = 40
Me.txttwo.FontSize = 40
Me.txtthree.FontSize = 40
Me.chkone.Value = False
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 65
Me.chktwo.Value = False
Me.chkthree.Value = False
Me.txtone.Visible = False
Me.txttwo.Visible = False
Me.txtthree.Visible = False
VStart = True
Me.lstRannum.RowSourceType = "Value List"
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;enAeBlEdl button StartminBitvaninminpþl;tMél
rbs; Combox TeT b:uEnþvamankarkMNt; Timer pgEdr.
Private Sub Form_Timer()
Me.txtone = CInt(Rnd() * 9)
Me.txttwo = CInt(Rnd() * 9)
Me.txtthree = CInt(Rnd() * 9)
If VStart = False Then
If Me.txtone.Visible = True Then
RndNumber = RndNumber & Me.txtone
End If
If Me.txttwo.Visible = True Then
RndNumber = RndNumber & Me.txttwo
End If
If Me.txtthree.Visible = True Then
RndNumber = RndNumber & Me.txtthree
End If
Me.lstRannum.AddItem RndNumber
RndNumber = ""
Me.TimerInterval = 0
End If
End Sub
EX14: lMhat;xageRkamenHCa Program mYysMrab;eGay User eRbITMrg; SQL Statement EdlmandUcCa
Select ,From ,Where, Order By ,Having,Group By edIm,ITajykTinñn½yecjBItaragEdlcgEsVgrk
nigeFVIkarKNnaCMnYskareRbIR)as; Query.
CMhanTI1 RKan;EtGñkeRbIR)as;vaycMnYn Field EdlsßitenAkñug Table EdlxøÜncgbgðaj.
GñkeRbIR)as;RKan;EtvaybBa©ÚlnUv TMrgrbs; Special Query language cUleTAkñúgRbGb;
Textbox rYccuc Button Execute SQL
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 66
karsresr Code enAkñúg VBA
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay ProgramRunnUv StatementSQLEdlUser
)ansresrkñúgRbGb;.
Private Sub cmdExecuteSQL_Click ()
If Me.txtcolumncount = "" Then
MsgBox "Please input column Count for Combobox Show Data"
Me.txtcolumncount.SetFocus
Exit Sub
Else
If IsNumeric (Me.txtcolumncount) = False Then
MsgBox "Only integer is allowed to type in this box", vbInformation
Me.txtcolumncount.SetFocus
Me.txtcolumncount.SelStart = 0
Me.txtcolumncount.SelLength = Len (Me.txtcolumncount)
Exit Sub
End If
End If
If Me.txtSQLStatement = "" Then
MsgBox "Pleas input SQL Statement to select data", vbInformation
Me.txtSQLStatement.SetFocus
Else
Me.cboShowData.ColumnCount = CLng (Me.txtcolumncount)
Me.cboShowData.RowSource = Me.txtSQLStatement
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 67
RBwtþikarN¾enHeRbIsresr Code edIm,IenAeBlEdl FormebIkeLIgFanafaRbGb;TTYltMélTMagGs;
KµantMé;l
Private Sub Form_Load ()
Me.txtcolumncount.Value = ""
Me.txtSQLStatement.Value = ""
Me.cboShowData.Value = ""
Me.cboShowData.RowSourceType = "Table/Query"
End Sub
EX15:lMhat;xageRkamenHCaApplicationmYyeRbIsMrab;eGayUservaybBa©ÚlTinñn½ycUlkñúgRbGb;TTYl
Tinñn½ynimYy²ehIyTinñn½yTaMgGs;RtUvbgðajenAkñúg Lsit BoxnigcUleTAkñúgtarag(Table)edaysV½yRbvtíþ
cMENkkarbBa©ÚlTinñn½y User RtUveRbICalkçN³ SQL eTIbGacbBa©Úl)an.
cUrbegáIt Table Class mYyEdlmank,al Field dUcCa³ ClassID, ClassName, RoomNº,
LabRoomNº.
kMNt;lkçN³eGay List Box : Propertie erIsyk Format: Column Count
kMNt;yk 4 nig Column Head ykBakü Yes ehIyenARtg; Data: Row Source
erIsykeQµaH Table Edl)anbegáItrYcehIyenaH nig Row Source Type erIsyk
Bakü Table \Query.
sresr Code enAkñúg VBA:
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 68
Option Compare Database
Option Explicit
RBwtþikarN¾enHeRbI sresr Code sMrab;eGay Program RunnUvStatementSQL
Private Sub cmdExecute_Click()
Dim db As Database
Set db = CurrentDb()
db.Execute txtSQL.Value
db.Close
Set db = Nothing
lstClass.Requery
End Sub
EX16:lMhat;xageRkamenHCa Application mYyeRbIsMrab;eGay User vaybBa©ÚlTinñn½y EsVgrk lub
EktMrUvnigkarbEnßmTinññn½ycUlkñúgRbGb;TTYlTinñn½ynimYy²ehIyTinñn½yTaMgGs;RtUvbgðajenAkñúgnigcUleTA
kñúgtarag (Table) edaysV½yRbvtíþ .
cUrbegáIt Table Class mYyEdlmank,al Field dUcCa³ ClassID, ClassName, RoomNº,
LabRoomNº.
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 69
karsresr Code enAkñúg VBA:
Option Compare Database
Option Explicit
Dim db As DAO.Database
Dim rs As DAO.Recordset
Sub LoadDataIntocontrols() // sresr Sub Function
On Error Resume Next
txtclassID.Value = rs!ClassID
txtClassName.Value = rs!ClassName
txtRoomNº.Value = rs!RoomNº
txtLabroomNº.Value = rs!Lanroomnº
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;lubTinñn½yecjBIkñúgRbGb;TTYltMél
Private Sub cmdDelete_Click ()
On Error Resume Next
rs.Delete
If rs.RecordCount > 0 Then
cmdnext_Click
Else
cmdnew_Click
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;EsVgrkTinñn½y (Tinñn½yenAedImeK)
Private Sub cmdfirst_Click()
On Error Resume Next
rs.MoveFirst
LoadDataIntocontrols
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;rkSaTukTinñn½y (enAkñúg Table Class)
Private Sub cmdInsert_Click()
On Error Resume Next
With rs
.AddNew
.Fields(1) = txtClassName.Value
.Fields(2) = txtroomNº.Value
.Fields(3) = txtlabroomNº.Value
.Update
End With
cmdlast_Click
cmdnew.SetFocus
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 70
RBwtþikarN¾enHeRbIsresr Code sMrab;EsVgrkTinñn½y (Tinñn½yenAxagcugeK)
Private Sub cmdlast_Click()
On Error Resume Next
rs.MoveLast
LoadDataIntocontrols
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;GacGnuBaØateGay User vayTinñn½ycUlsarCafµI
Private Sub cmdnew_Click()
txtclassID.Value = "Autonumber"
txtlabroomNº.Value = Null
txtroomNº.Value = Null
txtClassName.Value = Null
txtClassName.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;EsVgrkTinñn½y (Tinñn½yenA Record bnÞab;)
Private Sub cmdnext_Click()
On Error Resume Next
rs.MoveNext
If rs.EOF Then rs.MoveLast
LoadDataIntocontrols
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;EsVgrkTinñn½y (Tinñn½yenA Record BImun)
Private Sub cmdprevious_Click()
On Error Resume Next
rs.MovePrevious
If rs.BOF Then rs.MoveFirst
LoadDataIntocontrols
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIkarEkERbTinñn½yEdlGñkRbIR)as;)anbBa©ÚlrYcehIy
Private Sub cmdUpdate_Click()
On Error Resume Next
With rs
.Edit
.Fields(1) = txtClassName.Value
.Fields(2) = txtroomNº.Value
.Fields(3) = txtlabroomNº.Value
.Update
End With
End Sub
RBwtþikarN¾enHeRbIsresr sresr Code edIm,IeGay Form Load FanafaKaµnTinñn½yenAkñúg
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 71
RbGb;TTYltMél
Private Sub Form_Load()
Set db = CurrentDb()
Set rs = db.OpenRecordset("Class")
If rs.RecordCount < 1 Then Exit Sub
cmdfirst_Click
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eFVIeGayGkSrmanclnaedaysV½yRbvitþi
Private Sub Form_Timer()
Label0.ForeColor = QBColor(Rnd * 15)
If Label0.Left <= 10000 Then
Label0.Left = Label0.Left + 200
Else
Label0.Left = 0
End If
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 72
EX17: kmµviFIxageRkameRbIsMrab;begáIt Application Form sMrab;eFVIkar Test Multimedia enAelI
Interface rbs; Form EdlGnuBaØateGayGñkeRbIR)as;edIm,IGaceRCIserIsenACMerIsEdlKat;cgeRbI.
karsresr Code enAkñúg VBA
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIserIs Font Size
Private Sub cboFSize_AfterUpdate()
txtText.FontSize = cboFSize.Text
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIserIsB’NsMrab; Background
Private Sub chkBBlue_GotFocus()
txtText.BackColor = vbBlue
End Sub
Private Sub chkBGreen_GotFocus()
txtText.BackColor = vbGreen
End Sub
Private Sub chkBRed_GotFocus()
txtText.BackColor = vbRed
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 73
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIserIsB’NsMrab; Foreground
Private Sub chkFBlue_GotFocus()
txtText.ForeColor = vbBlue
End Sub
Private Sub chkFGreen_GotFocus()
txtText.ForeColor = vbGreen 'fore color
End Sub
Private Sub chkFRed_GotFocus()
txtText.ForeColor = vbRed 'fore color
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIslubtémøecjBIRbGb; Textbox
Private Sub cmdClear_Click()
txtText.Value = Nothing 'clear data from text box
txtText.SetFocus
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGay Application rab;tYGkSrEdl User )anvaybBa©ÚlenaH
Private Sub cmdCountString_Click()
Dim temp As String 'count string
On Error Resume Next
temp = txtText
If temp = "" Then
MsgBox "Please type the letter in your text box now", vbOKCancel, "The Information "
txtText.SetFocus
Else
temp = Len(txtText)
MsgBox (temp), vbInformation, "this message show number of string that you type in the
text box"
End If
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIsbiT Application
Private Sub cmdExit_Click()
DoCmd.Close
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGaykmµviFIdMeNIrkarmkrkSaTMrgedImdEdr
Private Sub Form_Load()
txtText.SetFocus
optFore = Null
optBack = Null
optstyle = Null
frmAlign = Null
'List Font
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 74
lstFont.AddItem "Limon S1"
lstFont.AddItem "Limon R1"
lstFont.AddItem "Limon F1"
lstFont.AddItem "Time New Roman"
lstFont.AddItem "Khmer Unicode R1"
lstFont.AddItem "Khmer OS"
lstFont.AddItem "Arial"
'Combo Box Font
cboFSize.Value = 8
With cboFSize
.AddItem 8
.AddItem 9
.AddItem 10
.AddItem 11
.AddItem 12
.AddItem 13
.AddItem 14
.AddItem 15
.AddItem 16
.AddItem 17
.AddItem 18
.AddItem 20
.AddItem 22
.AddItem 26
.AddItem 72
End With
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;cab;yktMélrbs; Font cUleTAkñúg Textbox edaysV½yRbvtþi
Private Sub lstFont_Click()
txtText.FontName = lstFont.Value
End Sub
RBwtþikarN¾enHeRbIsresr Code sMrab;eGayGñkeRbIR)as;eRCIsGaceRCIserIskartRmwmGkSr
Private Sub OptCenter_GotFocus()
txtText.TextAlign = 2
End Sub
Private Sub optLeft_GotFocus()
txtText.TextAlign = 1
End Sub
Private Sub OptRight_GotFocus()
txtText.TextAlign = 3
End Sub
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 75
Ex: 17kmµviFIxageRkameRbIsMrab;RKb;RKg elIbBa©ÚlsmaCikehIyCaBiessenAeBl EdleyIgbBa©Úl
Tinñn½yeTA kñúgRbGb;TTYltémøTaMgGs;rYc User RKan;EtcucelI Button Add enaHTinñn½yeTArkSaTuk
kñúgtaragMember edaysV½yRbvtþi rYclubtémøedaysV½yRbvtþipgEdr b:uEnþRtg;RbGb; MemID,
EnterDate, ExpireDate mincaM)ac;eGay User vaybBa©Últémø eTRKan;Et User ebIk Application
FormnaHkmµviFIbgðajtémøedaysV½yRbvtþi .
cMeBaHkarsresr Code kñúg Event Procedure eyIgRtUvsres Code CalkçN³ Mondul
nig Event Procedure enAelI Form Application
mundMbUgeyIgRtUvbegáIt Module edIm,Isresr Code rYcehAvaykeTAeRbIkñúg Form rbs;
Event Procedure.
bnÞab;mkeTIbeyIgsresr Code elI Event mYycMnYndUcCa Add Infor nig Close.
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 76
karsresr Code enAkñúg module:
RBwtþikarN¾xageRkameRbIsMrab;begáIt Module Auto edIm,IbegáIt ID edaysV½yRbvtþi nig
naMykTinñn½yeTArkSaTukkñúg Table Member edaysV½yRbvtþi.
Option Compare Database
Option Explicit
Public Function Auto(Fd As String, Tb As String) As Long
Dim db As DAO.Database, rst As DAO.Recordset, str As String
Dim x As Long
str = " Select * From " & Tb & " Order By " & Fd
Set db = CurrentDb()
Set rst = db.OpenRecordset(str)
With rst
If .RecordCount = 0 Then
x = 1
Else
x = .Fields(0)
If x > 1 Then
x = 1
Else
Do While Not .EOF
.MoveNext
If .EOF Then
x = x + 1
Exit Do
ElseIf x + 1 <> .Fields(0) Then
x = x + 1
Exit Do
Else
x = .Fields(0)
End If
Loop
End If
End If
.Close
End With
Auto = x
End Function
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 77
RBwtþikarN¾xageRkameRbIsMrab;GnuBaØateGayGñkeRbIR)as;Gaccuc button Add edIm,IeFVIkar
rkSaTukTinñn½ykñúg Table nigehA Sub Procedure mkeRbIpgEdr.
Private Sub cmdAdd_Click()
Dim db As DAO.Database, rst As DAO.Recordset
Set db = CurrentDb()
Set rst = db.OpenRecordset("Member")
With rst
.AddNew
.Fields(0) = txtMemID
.Fields(1) = txtname
.Fields(2) = txtSex
.Fields(3) = txtBOD
.Fields(4) = txtAdd
.Fields(5) = txtPhone
.Fields(6) = txtEnt
.Fields(7) = txtExp
.Update
.Close
End With
Call Clears
Call Form_Load
End Sub
RBwtþikarN¾xageRkameRbIsMrab; biTkmµviFI
Private Sub cmdClsoe_Click()
Dim y As Byte
y = MsgBox("do you want to close?", vbYesNo, "Close Form")
If y = vbYes Then
DoCmd.Close
End If
End Sub
RBwtþikarN¾xageRkameRbIedIm,IeFVIeGay Form bgðajmkman ID edaysV½yRbvtþinig min
GnuBaØteGayvaybBa©Úl ID )an m:üateToRbsinebI User vaybBa©ÚlTinñn½yeTAkñúgRbGb;
TextBoxName eTenaHminGaccucelI Button Add Info )aneT.
Private Sub Form_Load()
txtMemID = Auto("MeID", "Member")
txtMemID.Locked = True
txtname.SetFocus
txtEnt = Date
txtEnt.Locked = True
txtExp = DateAdd("m", 12, Date)
txtExp.Locked = True
Microsoft Access Programming 2010
Verakyuth Compuet Vacational School Page 78
cmdAdd.Enabled = False
End Sub
RBwtþikarN¾xageRkameRbIsMrab;R)ab;eGayGñkeRbIR)as;dwgkñúgkrNIbBa©ÚlTinñn½yminRtwmRtUv
rWePøcbBa©ÚlTinñn½ykñúgRbGb;NamYy.
Private Sub txtEnt_GotFocus ()
If IsNull (txtname) = True Then
MsgBox "Please, Input Name", vbCritical
txtname.SetFocus
ElseIf IsNull (txtSex) = True Then
MsgBox "Please, Input Sex", vbCritical
txtSex.SetFocus
ElseIf IsNull (txtBOD) = True Then
MsgBox "Please, Input Date of Birth", vbCritical
txtBOD.SetFocus
ElseIf IsNull (txtAdd) = True Then
MsgBox "Please input Address!", vbCritical
txtAdd.SetFocus
Else
cmdAdd.Enabled = True
cmdAdd.SetFocus
End If
End Sub
RBwtþikarN¾xageRkameRbIsMrab; begáItsMNuMrgedIm,IlubTinñn½yecjBIRbGb;TTYltémø
Private Sub Clears()
Dim C As Control
For Each C In Me.Controls
If TypeOf C Is TextBox Then
C = Null
End If
Next C
End Sub
Recommended