macro & vba in microsoft access programing double-click eli macro builder edim,iebik macro b¤...

78
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 edI m,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øIytbeTAnw g 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ç Design View Double-Click (or Right-Click ) enAelI Form/Report Section, edIm,IbegáItpÞaMg Properties Sheet . 2- cuc Events Properties ( Event Tab ) rY ceRCIserIs Events Edlcg;begáIt ehIyeRCIserIs Macro BI List b¤k¾elI Build Button (...) edI m,IeRCIserIsykkñúg Builder Dialog Box. 3- Double-Click elI Macro Builder edI m,IebIk Macro Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs Building a Macro RtUvdak;eQμaH Macro sin ) rY ccuc OK button .

Upload: hoangdat

Post on 14-Mar-2018

267 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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 .

Page 2: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 3: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 4: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 5: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 6: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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).

Page 7: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 8: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 9: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 10: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 11: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 12: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 13: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 14: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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)

Page 15: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 16: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 17: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 18: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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។

Page 19: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 20: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 21: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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³

Page 22: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 23: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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³

Page 24: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 25: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 26: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 27: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 28: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 29: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 30: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 31: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 32: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 33: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 34: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 35: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 36: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 37: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 38: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 39: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 40: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 41: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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 = ""

Page 42: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 43: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 44: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 45: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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"

Page 46: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 47: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 48: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 49: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 50: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 51: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 52: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 53: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 54: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 55: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 56: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 57: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 58: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 59: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 60: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

Microsoft Access Programming 2010

Verakyuth Compuet Vacational School Page 60

End Sub

Page 61: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 62: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 63: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 64: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 65: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 66: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 67: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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:

Page 68: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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º.

Page 69: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 70: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 71: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 72: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 73: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 74: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 75: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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.

Page 76: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 77: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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

Page 78: Macro & VBA in Microsoft Access Programing Double-Click elI Macro Builder edIm,IebIk Macro b¤ Code Builder edIm,Isresr VBA Procedure . 4- cuc Close ( X ) button (RbsinebIeRCIserIs

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