59
Visual Basic pentru aplicaţii Microsoft Access 2013

Curs VBA

Embed Size (px)

Citation preview

Page 1: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 1/59

Visual Basic pentru

aplicaţiiMicrosoft Access 2013

Page 2: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 2/59

BASIC sau Beginner's All-purpose Symbolic Instruction Code

-apare 1963

-este un limbaj simplu, creat de John G !emen" si #homas $ !urt% de la &artmouth

Colle'e

-a (ost scris pentru a permite pro'ramarea c)t mai simpl* pentru studen+i i ncep*tori,

Visual Basic pentru Aplicaţii - VBA - a fost transformat de firma

.icroso(t n limbajul de pro'ramare al ntre'ii (amilii de produse .icroso(t /((ice

0Access, $cel, 2ord, o4eroint5

 ucleul limbajului, componentele sale i mediul sunt aceleai pentru toate

aceste aplica+ii, o(erind n plus, (a+* de macro comen%i urm*toarele (acilit*+i7

1 apelarea (unc+iilor AI8

tratarea erorilor8

3 manipularea datelor din ba%* de date sub controlul unor instruc+iuni (olosind metodede acces la date speci(ice sau 'enerale8

: manipularea structurii ba%ei de date prin pro'ram

.acro comen%ile o(er* solu+ii rapide i simple, dar cu limit*ri multiple

  ;imbajul <BA o(er* (acilit*+i i control mai e(icace asupra ac+iunilor pe care le

derul*m cu datele din ba%*

Page 3: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 3/59

Programare orientată peevenimente

În programarea procedurală tradiţională,1. controlul evoluţiei programului este determinat chiar de el nsu!i.2. "#ecuţia ncepe cu prima instrucţiune !i urmea$ă o linie secvenţială

sau cu salturi% n funcţie de instrucţiunile programului.

În programarea orientată pe evenimente,1.acţiunile utili$atorului sau ale sistemului pe care se e#ecută programulgenerea$ă evenimente.2.Pentru a cunoa!te care porţiune de cod este e#ecutată% tre&uie să !tim ceeveniment a apărut%3.iar dacă sunt mai multe% ordinea lor de apariţie.

Esenţa interfeţelor grace cu utilizatorul şi a programării orientatepe evenimente:

porţiunea de cod executată la un moment de timp depinde deacţiunile utilizatorului

 Pentru că nu se poate !ti ce va face utili$atorul%codul tre&uie să facă anumite presupuneri cu privire la starea mediului n

care funcţionea$ă.'in acest motiv codul (

Page 4: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 4/59

Proceduri de evenimente(Event Procedures)

Access

1 recunoate apari+ia unui e=eniment de (ormular, raport sau control,

apelea%* automat procedura de e=eniment denumit* dup* numele obiectului i al

e=enimentului care a ap*rut

$emplu7

 umele procedurii de tratare a e=enimentului =a (i

Form_Click n situaţia unui

(ormular 0Form! "i e#eniment clic $Click!

%eport_Click n situaţia unui

raport0%eport! "i e#eniment clic $Click!Ie"ire_Click n situaţia unui

un &uton cu numele eşire şi evenimentul care tratează esteevenimentul !lic" 

Page 5: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 5/59

&umele obiectelor sunt stocate n

 proprietatea &ame se modific( nainte de scrierea primei proceduri de e=eniment

dac* se modi(ic* numele obiectului dup* ce s-a scris o procedur* de e=eniment, at

trebuie s* se modi(ice i numele procedurilor scrise p)n* atunci

&eci, Access-ul (olosete aceeai strate'ie pentru construirea numelor procedurilor de

e=enimente7

#u$ şi End #u$ marc%ează &nceputul şi sf'rşitul procedurii

!uvintele care1.urmea$ă pe aceea!i linie cu #u$ sunt numele procedurii de

eveniment,iar instrucţiuni repre$intă codul scris de programator prin care se

Page 6: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 6/59

 utilizator (*eneral

Procedures)Access-ul permite

• crearea de proceduri de(inite de utili%ator,• care trebuie apelate eplicit, prin cod, pentru ca s* (ie eecutate•nu sunt le'ate de e=enimentele 'enerate de utili%ator, ci de anumite 'rupuri de linii de

 pro'ram care se repet* n mai multe locuri

 $liminarea duplic*rii acestor linii se (olosesc proceduri de tipul (unc+ie

0Function! sau subrutin($Sub!)

 *rocedurile utili+ator pot fi create oriunde

 n formulare rapoarte sau module 0,odules!)

,odulul este un obiect Access care stocea+( numai  proceduri de(inite de utili%ator

rocedurile din module pot (i re(erite din orice alte obiecte Access, n timp, permi+)nd scrierea

unor biblioteci de proceduri utile pentru re%ol=area unor sarcini care se repet* des

> deschide+i o ba%a de date Access.

> clic pe butonul ,odules din fereastra ba+ei de date.

Page 7: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 7/59

Pas2. clic pe &utonul +e pentru a crea

as3 se selectea%* *rocedure))) Insert *rocedure a fi a(iat*

(ereastra de dialo'7 in care se completea%*

numele Procedurii în Name: Exemplu şi în Type: Sub

 Scope: Public

Page 8: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 8/59

 numele Procedurii în Name: Ex şi în Type: Function Scope: Public

Page 9: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 9/59

Procedurile de tipul #u$ sau-unction

Procedura #u$

. nu &ntoarce valoare2. )ind asemănătoare unei instrucţiuni.3. procedurile de eveniment sunt ntotdeauna de tipul #u$

Procedura -unction1. ntoarce o valoare.2. se utili$ea$ă c,nd se calculea$ă valori de e#presii tipul procedurii va )

-unction.

inta#a procedurii #u$ este:

numeprocedură //umele proceduriiinstrucţiuni -se numesc corpul procedurii.

 parametri  sunt o listă de nume de parametri separate prin virgule.&s(-iecare parametru respectă sinta#a declaraţiei de varia&ilă !i esteechivalentul unei varia&ile n corpul procedurii.

inta#a pentru )ecare parametru este(

Page 10: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 10/59

---tip: oricare dintre tipurile fundamentale de date

(Integer, Long, Single, Double, Currency, String, Variant sau Obiect).

 ---dac tipul nu este specificat e!plicit, parametrul "a a=ea tipul Variant

care poate stoca orice tip de date.

---parante#ele drepte specific faptul c elementele cuprinse ntre elesunt op+ionale

---parante%ele rotunde op+ionale dup* nume#ariabil* indic* un

ar'ument de tipul tablou

rocedura de tipul Sub se apelea+( prin numele ei "i

prin specificarea parametrilor ei

Page 11: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 11/59

"#emplurocedura de tipul Sub se apelea+(prin numele ei "i prin specificarea

 parametrilor ei

 &e eemplu, procedura Sub cu numele &umara/

1.Va ) apelată prin +umara 0

2."#ecuţia procedurii !i re$ultatele ei se a)!ea$ă nfereastra MM"'A".3. e apasă !trl1*, apoi  n ferestra se scrie +umara 0după care se apasă Enter

Page 12: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 12/59

Page 13: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 13/59

inta#a procedurii -unction este:

Semni(ica+ia elementelor sintactice ale procedurii Function sunt

acelea"i cu cele ale procedurii Sub cu urm(toarele e0cepţii/

1 procedurile Function asemenea #ariabilelor au tipuri de date care

determin( tipul =alorii ntoarse8

=aloarea se ntoarce atribuind numelui procedurii Function o #aloare

 n corpul (unc+iei <aloarea ntoars* de procedura Function prin

numele ei se poate folosi n e0presii.

3 ar'umentele procedurii Function se scriu ntotdeauna ntre

parante+e rotunde)

funcţie 2rie!erc pentru calculul ariei unui cerc de ra$ă3, codul corespun$ător unei implementări prin procedura

-unction este:

Page 14: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 14/59

""MP45

* d i i t $* i t ! i bli $* bli !

Page 15: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 15/59

*roceduri pri#ate $*ri#ate! "i publice $*ublic!

 $rocedurile unui formular sau raport sunt pri"ate,

  pot (i (olosite numai n epresii ale codului con+inut de

(ormularul sau raportul n cau%*

  $rocedurile unui modul sunt publice,

 pot (i apelate din orice por+iune a aplica+iei, mai pu+in n

ca%ul n care au (ost (*cute pri=ate prin (olosirea lui*ri#ate naintea de Sub sau Function)

 1bs/

1umele procedurilor publice trebuie s* (ie unice ntr-oaplica+ie

2) procedurile formularelor "i rapoartelor sunt pri=ate ?@ se

 pot scrie proceduri cu acelai nume n (ormulare sau rapoarte

distincte

Page 16: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 16/59

4aria$ile-i modi(ic* =aloarea n timpul eecu+iei pro'ramului-se de(inesc prin numme, tip i =aloare

-ntr-o =ariabil* se re+ine ntotdeauna ultima =aloare atribuit* acesteia

Sintaa declara+ie =ariabil*7

&ume #ariabil( trebuie s( nceap( cu o liter( "i nu poate conţine

spaţii sau punct +ecimal)

<ariabilele declarate cu 3im e0ist( at4t timp c4t se eecut* procedura

n care au (ost declarate

tipul Variant permite s se memore#e orice tip de =aloare7 num*r, tet,dat*, ir 

.3im i

3im 5 As Integer

3 3im 0 As 3ouble

: 3im sir As String

Page 17: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 17/59

Scop "i durat( de e0istenţ(

Page 18: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 18/59

5ipuri de date#ipul determin* =alorile pe care =ariabila le poate stoca&ac* tipul nu este speci(icat, implicit, <BA asocia%* =ariabilei tipul

Variant.

6) 7ipul Variant- =ariabilele de tipul Variant pot stoca date de tipul numeric, ir,

dat*or*, =alori &ull

  - se poate determina dac* =aloarea stocat* ntr-un tip Variant este

-numeric prin (unc+ia Is&umeric$!

- de tip dat( prin (unc+ia Is3ate$! )

 - <ariabilele Variant au "aloarea Empty din momentul în care s-au declarat

i p)n* c)nd le-am atribuit o =aloareVariant cu "aloarea Empty într-o expresie este echivalentă cu valoarea numerică !

- prin (unc+ia Is8mpty$!

<ariabila Variant poate con%ine "aloarea special Null!

 "ceasta se (olosete n ba%a de date pentru a marca datele lips* sau necunoscute

C)mpurile i controalele care nu au (ost ini+iali%ate au =aloarea implicit* &ull)- funcţia Is&ull$!)

Page 19: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 19/59

 ipuri /umerice

#ipul speci(ic*

1 ce (el de =alori poate lua o =ariabil*

domeniul n care pot =aria =ariabila3 operatorii care pot a=ea ca operan%i aceste =ariabile

: i spa+iul de A. ce se (olosete pentru stocarea =ariabile

Page 20: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 20/59

Page 21: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 21/59

5ipul 6ir<ariabilele care con+in un tet se declar* de tipul ir 0String).

3im sir As String

irul se poate atribui unei =ariabile de tipul ir i poate (i manipulat prin (unc+iispeci(ice

irurilor de caractere

sir9:Salut bade;:

sir9%igt<$=!

<ariabil* de tipul ir are lun'imea =ariabil*, adic* lun'imea ei poate crete dac*se adau'* noi date n =ariabil*

&eclararea de =ariabile ir cu lun'ime (i* prin (olosirea sintaei7

3im linie As String>?@

&ac* un ir mai scurt se atribuie unuia mai lun', caracterele lips* se

completea%* automat cu spa+ii&ac* un ir mai lun' se atribuie unuia mai scurt caracterele n plus se

trunchia%*

irurile cu lun'ime (i* se completea%* automat n unele opera+ii cu spa+ii,

eist* un set de (unc+ii utile pentru eliminarea acestora7

7rim$! %7rim$! 7rim$!)

Page 22: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 22/59

5ipul dată7orăVariabilele de tipul dat( se stochea%* pe D octe+i sub (orm* de numere reale

•au domeniul ntre 1 ianuarie 1EE i 31 decembrie 9999•ora de la E7EE7EE la 37F97F9

 Constantele de tipul dat* trebuie cuprinse ntre caractere nainte de a (i atribuite

=ariabilelor de tipul dat* sub (orma 111999

Aceste =ariabile se a(iea%* con(orm set*rilor (ormatului sort date recunoscute de

calculator

/rele =or (i i ele a(iate con(orm set*rilor (ormatului de timp recunoscut de

calculator 01 ore sau : de ore5

&atele pot (i adunate sau sc*%ute (olosind (unc+iile 3ateAdd$! "i 3ate3iff$!)

 iua luna "i anul pot fi e0trase folosind funcţiile 3ay$! ,ont$! "i ear$!)

Funcţia &oD$! ntoarce data "i ora curent()

1peraţii de formatare pot fi (*cute asupra datelor (olosind (unc+ia Format$!)

Funcţiile 3ateSerial$! "i 7imeSerial$! se pot (olosi pentru crearea unor date i ore

din =alori numerice ntre'i

Page 23: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 23/59

5ipul 8$9ect

se stochea%* pe : octe+i i are ca =aloare adresa unui obiect

Holosind instruc+iunea Set o #ariabil( declarat( de tipul

#b$ect va putea stoca adresa oricărui obiect!

Page 24: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 24/59

eclararea ta$lourilor

matrice de 1E1E se declar* ast(el7

3im ,atrice$EE! As 3ouble

 sau3im ,atrice6$6 7o 6@ 6 7o 6@! As 3ouble

Page 25: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 25/59

!onstante

A Constantele simbolice sunt create de programator) 

 u i modi(ic* =aloarea n timpul eecu+iei pro'ramului

Sintaa pentru de(inirea constantelor simbolice

B Constantele intrinseci sunt definite de cei care au scris

<BA i se =i%uali%ea%* (olosind &a#igatorul de 1biecte

$1b5ect BroDser!) umele acestora trebuie s* (ie unic i sunt disponibile n toate

modulele aplica+iei

8 i

Page 26: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 26/59

8peratori$presiile sunt (ormate din sec=en+e de operatori i operan%i

rm*toarele 'rupe de operatori sunt prede(ini+i n <BA7

• aritmetici8• de compara+ie• de concatenare•lo'ici

Page 27: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 27/59

Page 28: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 28/59

Page 29: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 29/59

Page 30: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 30/59

Page 31: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 31/59

/65785/If)))7en

Se (olosete pentru eecu+ia condi+ional* a unei instruc+iuni sau a unui'rup de instruc+iuni

Sintaa este7

Condiţie este de obicei o comparaţie, dar poate f orice

expresie care se evaluează la o valoare numerică.'acă valoarea numerică este 0% VBA i atri&uie valoarea deadevăr -alse,dacă este nenulă% valoarea de adevăr atri&uită de VBA este5rueacă condiţie este True se execută instrucţiune sau

Page 32: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 32/59

f5%enElse

Page 33: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 33/59

f5%enElsee folose!te pentru e#ecuţia condiţiontă a unui grup de instrucţiuni dintremai multe grupuri.

Se testea%* condi%ie&.

  Dac este False% se testea&ă condi'ie( şi aşa mai departe  p)n* la

'*sirea unei condi+ii 7rue)

 

C4nd s-a g(sit o astfel de condiţie se e0ecut( grupul de instruc+iuni

instruc%iuni'!, apoi se sare la codul imediat urmtor lui End )*!

 #p'ional se poate un 8lse la care se #a trece numai dac( nu s-a g(sit

nici o condiţie 7rue)

Page 34: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 34/59

Select)))Case

Page 35: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 35/59

Select)))Case

- este o alternati=* pentru scrierea de If 7en 8lse -uri lungi asigur4nd o citire mai

uoar* a codului

•este o singură e#presie de test expresietest care se evaluează o dată laintrarea în instrucţiune.•se compară valoarea acestei e#presii cu valoarile din )ecare !ase acăse găse!te o egalitate va e#ecuta instrucţiunile asociate !ase/uluirespectiv•4istele de e#presii listaexpresie conţin una sau mai multe valori. 'acă

e#istă mai mult de o valoare n listă% tre&uie separate prin virgule. -iecaregrup de instrucţiuni instrucţiuni_x   conţine nici una% una sau mai multeinstrucţiuni.

#elect !ase evaluează pe expresietest o singură dată la început, cuIf Then ElseIf se pot evalua e#presii diferite pentru )ecare Elsef 

Page 36: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 36/59

Page 37: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 37/59

nstrucţiuni de ciclare-permit eecutarea repetat* a unei instruc+iuni sau 'rup de instruc+iuni uneori denumite

i corpul ciclului, at)ta timp c)t o condi+ie r*m)ne ade=*rat* <BA suport* urm*toareleinstruc+iuni de ciclare7

3o)))oop

For)))&e0t

For 8ac)))&e0t

ile)))end

Ciclul 3o)))oop

Page 38: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 38/59

C c u o))) oop

epet* un 'rup de instruc%iuni ct timp o condi%ie este True sau devine True!

rm*toarele (orme de cicluri 3o)))oop sunt #alide/

condi%ie este o e!presie numeric sau ir op%ional care este True sau False! +acă condi'ie ia =aloarea &ull este eci#alent( cu False) Cu#intele ntre acolade

repre+int( alternati#e adic( unul dintre ele poate s* (ie scris• entru ile instruc'iuni se execută at,ta timp c,t condi%ie este True%

• Pentru ntil instruc'iuni se execută c,t timp condi'ie nu este True!

80it 3o produce ie"irea din ciclul 3o)))oop nainte de reali+area condiţiei dep(r(sire a ciclului

Controlul este dat instruc+iunii imediat urm*toare ciclului, prima linie dup* oop sau

oop GHile JntilK condi'ie.!

 "l doilea tip de ciclu se execută cel pu'in o dată pentru că condi%ie, prin care se face

testarea terminri, se atinge numai dup e!ecu%ia instruc%iunilor.

Page 39: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 39/59

Page 40: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 40/59

Page 41: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 41/59

Ciclul For 8ac)))&e0t

Page 42: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 42/59

Ciclul For 8ac)))&e0t

epet* un 'rup de instruc%iuni pentru fiecare element de tablou sau

colec%ie.

&. element este o "ariabil folosit pentru parcurgerea iterati" a elementelor

din grup.

*. $entru colec+ii, element poate fi numai de tip Variant, "ariabil obiect

 generic sau "ariabil obiect speci(ic

. grup este numele unei colec%ii de obiecte sau tablou.

For Each!!!Next se începe numai dac* n grup este cel pu%in un element. Dac

e!ist mai multe elemente, instruc'iuni  sunt repetate pentru fiecare element

 pn la parcurgerea tuturor elementelor, c)nd ciclul se termin* s*rindu-se

la instruc+iunea imediat urm*toare lui

80it For produce ie"irea forţat( din ciclu cu saltul la instrucţiunea imediat

urm(toare ciclului)

Ci l l il d

Page 43: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 43/59

Ciclul ile)))end

$ecut* instruc%iuni ct tip condi%ie este True!

•condi%ie este o e!presie numeric sau ir care se e"aluea# la True sau

False!•instruc%iuni repre#int una sau mai multe instruc%iuni care "or fi

e!ecutate ct timp

•condi%ie este True! /ontrolul revine la condi'ie după o execu'ie a

corpului ciclului *ormat din•instruc%iuni cnd se "erific dac condi%ie este +nc True! +acă da%

 procesul se repetă%•alt(el se eecut* instruc+iunea urmtoare lui end)

Page 44: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 44/59

Page 45: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 45/59

-ormulare 7ode Builder

Page 46: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 46/59

-ormulare +7ode Builder

Page 47: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 47/59

Page 48: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 48/59

Page 49: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 49/59

onoad a lui list bo0 n prim plan)

Page 50: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 50/59

p p

Se introduce codul surs* a(erent ac+iunii care se dorete s* se reali%e la

nc*rcare (ormului pe ecran n momentul eecu+iei (ormularului

Page 51: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 51/59

.odi(icare date din tabela arteneri se (ace pe principiul7 ne deplas*m

Page 52: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 52/59

.odi(icare date din tabela arteneri se (ace pe principiul7 ne deplas*m

cu butoanele s*'e+i n sus i n jos p)n* la nre'istrarea care dormi s* o

modi(ic*m e po%i+ion*m pe  înregistrare, o modif icăm şi apoi

apăsăm click stânga de mouse pe butonul Salvare.

Dacă se modifică numele Partenerului atunci apăsăm butonul

Listă pentru ca modificarea să fie viibilă şi în listă.

!e"t#o"$ul %d îl blocăm ca să nu se modifice valoare astfel& în

fereastra Property Sheet în fila Data setăm Locked=Yes. Codul

sursă pentru modificare este:

Page 53: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 53/59

Page 54: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 54/59

Page 55: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 55/59

'dăgarea se face click pe butonul Adauare ac!ine ce "a a"ea ca efect olirea

Page 56: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 56/59

 'dăgarea se face click pe butonul Adauare ac!ine ce "a a"ea ca efect olireac#mpurilor formularului$ se completea%ă c#mpurile cu informa!ii &i apoi see'ecută click pe (utonul Sal"are

Page 57: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 57/59

Page 58: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 58/59

Page 59: Curs VBA

8/17/2019 Curs VBA

http://slidepdf.com/reader/full/curs-vba 59/59

-ereastra 7od ursa 9tergere