Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Crearea unei baze de date

Informatica


Crearea unei baze de date

Crearea fisierului bazei de date



1. Se creeaza o baza de date goala si se salveaza sub numele PrimaBaza.mdb (în folder-ul Clasa114

Crearea unei baze de date cu Databse Wizard

2. Se creeaza o baza de date cu Database Wizard, pornind de la sablonul "Resource Scheduling"

4.1.1. Crearea unui tabel cu Table Wizard

3. Se creeaza un tabel cu Table Wizard, în baza de date PrimaBaza, pornind de la sablonul "Tasks" (teme, activitati, sarcini etc.).

4.1.2. Crearea unui tabel în modul Datasheet View

4. Se creeaza un tabel în Datasheet View (se modifica numele coloanelor si se introduc date în tabel):

Field1 (NrInmatric

Field2 (Marca

Field3 (AnCumparare

BC10ABC

Dacia 1310

B10AAA

Mercedes

AAAAAAAA

Ford Mondeo

(Tabelul se salveaza în baza de date PrimaBaza sub numele Auto, fara cheie principala: se face click pe No în caseta cu mesajul "There is no primary key defined".)

4.1.3. Crearea unui tabel în modul Design

5. Se creeaza tabelul Salariati si se salveaza în baza de date PrimaBaza

Structura:

Field Name

Data Type

Marca

Number

Nume

Text

Initiala

Text

Prenume

Text

DataNasterii

Date/Time

Adresa

Memo

SporVechime

Number

ClasaSalarizare

Number

Salariu

Currency

FunctieConducere

Yes/No

TelefonFix

Text

TelefonMobil

Text

4.1.6. Proprietatile câmpurilor

4.1.6.1. Proprietatile din tab-ul General

6. Proprietatea Field Size (tabelul Salariati

Marca

Integer

Nume

Initiala

Prenume

SporVechime

Single

ClasaSalarizare

Byte

TelefonFix

TelefonMobil

7. Proprietatea Format pentru câmpuri Text

a)      pentru tabelul Salariati

Nume

>

Initiala

>

Prenume

>

b)      pentru tabelul Auto (din PrimaBaza):

Câmp

Format

Val. introdusa

Val. afisata

NrInmatric

BC10ABC

BC 10 ABC

B10AAA

B 10 AAA

AAAAAAAA

AAA AA AAA

BC10ABC

BC 10 ABC

B10AAA

B1 0A AA

AAAAAAAA

AA AA AAAA

@@ @@ @@ [Red]

Marca

<**

@ @@@"(Euro 2)"

@ @@@\(Euro 2)

8. Proprietatea Format pentru câmpuri numerice

Marca: format particularizat 000 (marca sa afiseze trei cifre, de ex. valoarea 1 sa se afiseze ca 001).

SporVechime: Percent (atentie la introducerea datelor, vor fi înmultite cu 100!).

Salariu: Euro.

9. Proprietatea Format pentru câmpuri Date/Time

DataNasterii: se aleg, pe rând, formatele standard:

General Date;

Long Date;

Medium Date;

Short Date.

Pentru acelasi câmp, DataNasterii, se creeaza formatul particularizat: d(ddd)-m-yyyy

10. Proprietatea Format pentru câmpuri Yes/No

FunctieConducere: se aleg, pe rând, formatele standard: True/False, On/Off.

Pentru a se afisa aceste valori, se modifica proprietatea Display Control (tab-ul Lookup), din Check Box în Text Box

11. Proprietatea Decimal Places

Marca

SporVechime: 2 sau Auto afiseaza tot 2 zecimale!

Salariu

12. Proprietatea Input Mask

TelefonFix

Nume: >L< ? ? ??????

(prima litera este transformata în majuscula, iar restul literelor (19) în minuscule. Se elimina formatul ">

Initiala: >L< (se elimina formatul ">

Prenume : >L< ? ? ?????? (se elimina formatul ">

13. Cu Input Mask Wizard se creeaza o masca de introducere pentru câmpul DataNasterii

14. Se creeaza un sablon particularizat care sa poata fi folosit cu Input Mask Wizard

a)     Se deschide tabelul Salariati în modul Design

b)     Se selecteaza câmpul DataNasterii

c)     Se face click pe butonul corespunzator proprietatii Input Mask (se afiseaza caseta de dialog Input Mask Wizard

d)     Se face click pe butonul de comanda Edit List (se afiseaza caseta de dialog Customize Input Mask Wizard

e)     Se face click pe butonul (New Record) pentru a adauga o înregistrare goala.

f)       Se completeaza casetele:

Description: cu numele sablonului (exemplu: Data particularizata sau alt text)

Input Mask: cu caracterele sablonului (exemplu: 0000

Placeholder: cu caracterul de înlocuire (exemplu: _)

Sample Data: cu o data calendaristica

Mask Type: se selecteaza Date-Time

g)     Se face click pe Close (se închide caseta de dialog Customize Input Mask Wizard si se reafiseaza caseta de dialog Input Mask Wizard

h)     Se selecteaza numele sablonului mai sus creat din lista si se face click pe Next (se afiseaza caseta de dialog Input Mask Wizard - pentru pasul urmator).

i)       Daca este necesar, se modifica sablonul. Se face click pe Next (se afiseaza caseta de dialog Input Mask Wizard - pentru ultimul pas).

j)       Se face click pe Finish

15. Proprietatea Caption

DataNasterii

Data nasterii

SporVechime

Spor vechime

ClasaSalarizare

Clasa salarizare

FunctieConducere

Functie conducere

TelefonFix

Telefon fix

TelefonMobil

Telefon mobil

16. Proprietatea Default Value

Salariu: 300 (daca s-a selectat Euro pentru proprietatea Format

17. Proprietatile Validation Rule si Validation Text

Câmp

Validation Rule

Validation Text

SporVechime

<=0,25 (nu 25%)

Sporul de vechime este maxim 25%

DataNasterii

<Date()

Data nasterii incorecta

ClasaSalarizare

Between 15 And 40

Clasa de salarizare in afara limitelor

18. Proprietatile Required si Allow Zero Length



Se creeaza interogarea Query1 pe baza tabelului Salariati

click pe View; în rezultatul interogarii sunt luate în calcul numai înregistrarile cu câmpul TelefonMobil completat;

se modifica proprietatea Allow Zero Length a câmpului TelefonMobil pe Yes si se introduce "" în câmpurile necompletate;

click pe View; în rezultatul interogarii sunt luate în calcul si înregistrarile cu câmpul TelefonMobil completat.

19. Proprietatea Indexed

În tabelul Salariati, câmpul Nume este indexat automat (Yes(Duplicates OK)) pentru ca începe cu Num

se selecteaza câmpul Marca, apoi se face click pe instrumentul Primary Key; proprietatea Indexed a câmpului Marca este setata automat pe Yes(No Duplicates)

Se indexeaza câmpul SporVechime Indexed Yes(Duplicates OK)

20. Proprietatea New Values

În tabelul Salariati se mai adauga câmpul OrdineAngajare Data Type: AutoNumber

Proprietatea New Values Increment (implicit), se modifica în Random si se introduce înca o înregistrare. Proprietatea New Values nu mai poate fi setata din nou pe Increment.

Obs. Într-un tabel poate fi adaugat un singur câmp cu Data Type AutoNumber

4.1.6.2. Proprietatile din tab-ul Lookup

21. Se creeaza tabelul Functii (în PrimaBaza), cu doua câmpuri:

CodFunctie Data Type: AutoNumber

DenFunctie Data Type: Text

Field Size

CodFunctie se declara cheie principala.

În tabel se introduc înregistrarile (numai DenFunctie

Director general

Director adjunct

Sef serviciu

Sef Birou

Inginer

Economist

În tabelul Salariati se introduce câmpul CodFunctie cu:

Data Type: Number

Field Size: Long Integer

Proprietatile din tab-ul Lookup pentru câmpul CodFunctie

Display Control : Combo Box

Row Source Type : Table/Query

Row Source : Functii

Bound Column : 1

Column Count : 2

Column Heads : se încearca si cu No si cu Yes

Column Widths : 1cm;3cm (apoi se încearca si 0cm;3cm)

List Rows : 8

List Width : 4cm (apoi 3cm)

Limit To List : No (apoi Yes)

22. În tabelul Salariati se adauga câmpul Studii Data Type: Text, Field Size

Proprietatile din tab-ul Lookup pentru câmpul Studii

Display Control : Combo Box

Row Source Type : Value List

Row Source : "F";"M"

Bound Column : 1

Column Count : 1

Column Heads : No

Limit To List : Yes

4.1.7. Crearea câmpurilor de Lookup

4.1.7.1. Crearea unui câmp de Lookup din câmpul unui tabel

23. Se creeaza tabelul Compartimente (în PrimaBaza), cu câmpurile:

CodCompartiment Data Type: AutoNumber

DenCompartiment Data Type: Text

Field Size

CodCompartiment se declara cheie principala.

În tabel se introduc înregistrarile (numai DenCompartiment

Personal

Contabilitate

Marketing

Contracte

În tabelul Salariati se adauga câmpul CodCompartiment, iar din lista Data Type se selecteaza Lookup Wizard si se urmeaza pasii indicati de acesta).

4.1.7.2. Crearea unui câmp de Lookup din valorile introduse de utilizator de la tastatura

24. În tabelul Salariati se introduce câmpul Religie, iar cu Lookup Wizard se introduc valorile: ortodoxa, catolica, greco catolica etc.

4.2. Cheia principala

25. Au fost create la tabelele: Salariati Functii si Compartimente

Se va analiza cheia principala (compusa) a tabelului Conventii. În acest tabel, cheia principala compusa este obligatorie pentru a nu se permite ca la aceeasi societate comerciala sa se introduca de mai multe ori acelasi curs (acelasi simbol si aceeasi serie).

4.3. Reguli de validare la nivel de înregistrari

26. În tabelul Salariati se adauga câmpul DataAngajarii Data Type: Date/Time, Input Mask se seteaza cu Input Mask Wizard

Validation Rule: Year([DataAngajarii])-Year([DataNasterii])>=20

Validation Text: Angajat prea devreme!

4.4. Legarea tabelelor

27. În baza de date EvidentaCursantilor

Tabel principal

Tabel secundar

Câmp de legatura

Cursuri

Serii

SimbCurs

Compartimente

Experti

CodSectieCompart

Functii

Cursanti

CodFunc

Unitati

Cursanti

CodUnit

Unitati

Conventii

CodUnit

Localitati

Serii

LocDesf

Serii

Cursanti

CodCurs

Serii

Conventii

CodCurs

Experti

Serii

MarcaPers

28. În baza de date PrimaBaza

Tabel principal

Tabel secundar

Câmp de legatura

Functii

Salariati

CodFunctie

Compartimente

Salariati

CodCompartiment

4.5. Indecsi pe mai multe câmpuri (compusi)

29. În tabelul Salariati (în PrimaBaza

Index Name

Field Name

Sort Order

NumePrenume

Nume

Ascending

Initiala

Ascending

Prenume

Ascending

4.6. Modificarea structurii tabelelor

4.6.1. Modificarea tipului de data al câmpurilor

30. Se modifica tipul de data pentru câmpuri din tabelul Structura din baza de date EvidentaCursantilor

Text ---------->

C_Text_Number  ---> Number Field Size: Integer)

C_Text_Date  ---> Date/Time

C_Text_Yes  ---> Yes/No

Memo - asemanator cu Text

Number ------->

C_Number_Date  ---> Date/Time

C_Number_Yes  ---> Yes/No

AutoNumber ------>

C_AutoNumber_Date  ---> Date/Time

Yes/No ----------->

C_Yes_Text  ---> Text

C_Yes_Date  ---> Date/Time

C_Yes_Currency  ---> Currency

4.6.2. Modificarea lungimii câmpurilor

Se modifica lungimea câmpurilor în tabelul Lungime din baza de date EvidentaCursantilor

Text (micsorare):

C_Text  Field Size: de la 20 la 10 ("Some data may be lost")

Înainte de reducere

Dupa reducere

Microsoft Access

Microsoft

Microsoft Excel

Microsoft

Long Integer ---> Integer

C_LongInteger_Integer  Field Size: Integer ("Microsoft Access encountered error while converting the data")

Înainte de modificare

Dupa modificare

Integer ---> Byte

C_Integer_Byte  Field Size: Byte ("Microsoft Access encountered error while converting the data")

Înainte de modificare

Dupa modificare

Single ---> Integer

C_Single_Integer  Field Size: Integer ("Some data may be lost" si "Microsoft Access encountered error while converting the data")

Înainte de modificare

Dupa modificare

Double ---> Long Integer

C_Double_Integer  Field Size: Long Integer ("Some data may be lost" si "Microsoft Access encountered error while converting the data")

Înainte de modificare

Dupa modificare

4.7.3. stergerea înregistrarilor

32. Se introduc înregistrari suficiente în tabelul Salariati din PrimaBaza

a)      Se sterge o înregistrare din tabelul Salariati

b)      Se încearca stergerea unei înregistrari din tabelul Functii (daca sunt înregistrari asociate în tabelul Salariati, se afiseaza mesajul "The record cannot be deleted or changed because table 'Salariati' includes related records."

c)      În fereastra Relationships Tools Relationships) se face right-click pe linia de legatura dintre tabelele Functii si Salariati si se selecteaza Edit Relationship (se afiseaza caseta de dialog Edit Relationships

se selecteaza caseta de control "Cascade Delete Related Records.";

se sterge o înregistrare.

5.3. Interogari de selectie

5.3.1. Crearea unei interogari cu Simple Query Wizard

33. Se creeaza interogarea Unitati Query

34. Exemple de interogari cu criterii de selectie:



Tabel

Câmpuri în rezultatul interogarii

Câmp si criteriu

Câmp si criteriu

Nume interogare

Cursanti

Nume, Prenume, LocNastere

LocNastere

"Bucuresti"

Q_Buc

Cursanti

Nume, Prenume, LocNastere

LocNastere

"Bucuresti" Or "Craiova"

Q_BucCv

Cursanti

Nume, Prenume, DataNasterii

DataNasterii

Q_DataN

Cursanti

Nume, Prenume, DataNasterii

DataNasterii

Between #01.01.1950# And #31.12.1960#

Q_DateN

Cursanti

Nume, Prenume, LocNastere

LocNastere

Not "Bucuresti"

Q_NotBuc

Cursanti

CodCurs, Nume, Prenume

CodCurs

Like "It41*"

Q_It41

Cursanti

CodCurs, Nume, Prenume, NotaAbs

NotaAbs

Q_Nota10

Cursanti

CodCurs, Nume, Prenume, NotaAbs

NotaAbs

Is Null

Q_FaraNota

Cursanti

CodCurs, Nume, Prenume, NotaAbs

NotaAbs

Not Is Null

Q_Absolventi

Cursanti

Nume, Prenume, Sex, Studii

Sex

"F"

Studii

"S"

Q_FemSup

Cursanti

CodCurs, CodUnit, Nume, Prenume

CodCurs

Like "It36*"

CodUnit

Like "C3*"

Q_EL_It36

Cursanti

CodCurs, CodUnit, Nume, Prenume

CodCurs

Like "It36*"

Or Like "It36*"

CodUnit

Like "C1*"

Like "C2*"

Q_TeHi_It36

Observatie

Codurile unitatilor

Societati comerciale

Coduri pentru soc. com si sucursale

Termoelectrica

C100.C199 (Termoelectrica=C100)

Hidroelectrica

C200.C299 (Hidoelectrica=C200)

Electrica

C300.C399 (Electrica=C300)

STD

C401.C499

Unitati din exterior

E100.E199

5.3.9. Câmpuri calculate

5.3.9.1. Calcule asupra unui câmp dintr-o interogare

35. Se creeaza interogarea Q_NotaMedie

36. Se creeaza interogarea Q_NrCursanti

5.3.9.2. Crearea unui câmp care sa efectueze un calcul particularizat

37. Se creeaza interogarea Q_CimpCriterii

În interogare se adauga câmpurile Nume si Prenume si câmpurile calculate:

Expr1:Year([DataNasterii])

Expr2:DatePart("q",[DataNasterii])

Expr3:DatePart("d",[DataNasterii])

Se introduc, pe rând, criteriile de mai jos si se afiseaza, de fiecare data, rezultatul interogarii.

Nr. criteriu

Expr1

Expr2

Expr3

Between 1955 And 1965

<1960

38. Se creeaza interogarea Q_TaxaTVA

5.4. Interogari de totalizare

5.4.1. Crearea unei interogari de totalizare

39. Se creeaza interogarea Q_CursantiUnitati (numarul de cursanti pe unitati).

40. Se creeaza interogarea Q_CursantiCursuri (numarul de cursanti pe cursuri si serii).

41. Se creeaza interogarea Q_CursantiDomiciliu (numarul de cursanti înscrisi

42. Se creeaza interogarea Q_TaxaCurs

5.5. Interogari cu parametri

5.5.1. Introducerea parametrilor

43. Se creeaza interogarea Q_CursuriTrim

5.6.3. Calcule numerice cu valori Null

44. Se creeaza interogarea Q_NullSirZero

se face click pe instrumentul View

se seteaza proprietatea Allow Zero Length a câmpului Telefon pe Yes

în câteva înregistrari se introduce sirul de lungime zero ("") în câmpul Telefon

se face click pe instrumentul View

Q_TextNull

Q_UnitatiCursuri

Append Query

Se creeaza tabelul CursuriAminate (identic ca structura cu Serii Edit Copy, Edit Paste, se selecteaza butonul de optiune Structure Only) care va contine cursurile neprogramate.

Q_ActCursuri

În structura tabelului Cursuri se introduce câmpul TaxaZiTVA Number Double Format 0). Interogarea Q_ActCursuri va actualiza câmpul TaxaZiTVA cu TaxaZi*1.19

Q_ActCursuriAminate

În structura tabelului CursuriAminate se introduce câmpul DenCurs Text, lungime 100 caractere). Interogarea Q_ActCursuri va actualiza câmpul DenCurs cu valorile din câmpul DenCurs din tabelul Cursuri

Q_StergCursanti

Se face o copie a tabelului Cursanti Cursanti_Copie) iar interogarea va sterge cursantii fara nota.

Q_CursantiTrim1

Se creeaza un tabel (CursantiTrim1) cu cursantii care au participat la cursuri pe trim. 1.

Proprietati pentru Command Button

Proprietatea Default (tab-ul Other) setata pe Yes desemneaza butonul de comanda respectiv drept buton implicit (butonul se executa automat când se apasa tasta Enter, indiferent pe ce control se afla focus-ul.

Unui control Command Button care închide forma nu i se seteaza proprietatea Default pe Yes întrucât daca forma are controale Text Box în care se introduc date, când focus-ul se afla pe un control Text Box si se apasa tasta Enter pentru a introduce date în alt control Text Box, se va închide forma !.

Într-o forma, poate fi declarat doar un singur buton de comanda implicit.

Proprietatea Cancel (tab-ul Other) setata pe Yes declara butonul de comanda respectiv drept buton Cancel. Butonul va fi executat când se apasa tasta Esc

Într-o forma, poate fi declarat doar un singur buton de comanda Cancel

Crearea unei forme multifunctionale

Setari initiale în forma:

Se modifica proprietatea Name (tab-ul Other) a butoanelor de comanda:

Buton

Proprietatea Name

Adauga

B_Ada

Modifica

B_Mod

Sterge

B_Ste

Salveaza

B_Sal

Renunta

B_Ren

Prima

B_Pri

Urmatoarea

B_Urm

Precedenta

B_Ant

Ultima

B_Ult



Terminare

B_Ter

Butoanele de comanda, cu exceptia butonului Modifica, se adauga cu Control Wizards

Butoanelor de comanda Salveaza si Renunta li se seteaza proprietatea Enabled (tab-ul Data) pe No

Câmpurilor SimbCurs DenCurs si TaxaZi li se seteaza proprietatea Loked pe Yes

Se seteaza proprietatile formei:

Proprietate

Valoare

În tab-ul Format

Scroll Bars

Neither

Record Selectors

No

Navigation Buttons

No

Dividing Lines

No

Auto Center

Yes

Control Box

No

Min Max Buttons

None

Close Button

No

În tab-ul Other

Cycle

Current Record

Private Sub B_Pri_Click()

On Error GoTo Err_B_Pri_Click

DoCmd.GoToRecord , , acFirst

Exit_B_Pri_Click:

Exit Sub

Err_B_Pri_Click:

MsgBox Err.Description

Resume Exit_B_Pri_Click

End Sub

Private Sub B_Urm_Click()

On Error GoTo Err_B_Urm_Click

DoCmd.GoToRecord , , acNext

If IsNull(Me!SimbCurs) Then

MsgBox "Ultima inregistrare din tabel !", vbExclamation

DoCmd.GoToRecord , , acPrevious

End If

Exit_B_Urm_Click:

Exit Sub

Err_B_Urm_Click:

MsgBox "Tabelul nu are nici o inregistrare !", vbExclamation

Resume Exit_B_Urm_Click

End Sub

Private Sub B_Ant_Click()

On Error GoTo Err_B_Ant_Click

DoCmd.GoToRecord , , acPrevious

Exit_B_Ant_Click:

Exit Sub

Err_B_Ant_Click:

MsgBox "Prima inregistrare din tabel !", vbExclamation

Resume Exit_B_Ant_Click

End Sub

Private Sub B_Ult_Click()

On Error GoTo Err_B_Ult_Click

DoCmd.GoToRecord , , acLast

Exit_B_Ult_Click:

Exit Sub

Err_B_Ult_Click:

MsgBox Err.Description

Resume Exit_B_Ult_Click

End Sub

Private Sub B_Ada_Click()

On Error GoTo Err_B_Ada_Click

DoCmd.GoToRecord , , acNewRec

Me!SimbCurs.Locked = False

Me!DenCurs.Locked = False

Me!TaxaZi.Locked = False

Me!SimbCurs.SetFocus

Me!B_Ada.Enabled = False

Me!B_Mod.Enabled = False

Me!B_Ste.Enabled = False

Me!B_Sal.Enabled = True

Me!B_Ren.Enabled = True

Me!B_Pri.Enabled = False

Me!B_Urm.Enabled = False

Me!B_Ant.Enabled = False

Me!B_Ult.Enabled = False

Me!B_Ter.Enabled = False

Exit_B_Ada_Click:

Exit Sub

Err_B_Ada_Click:

MsgBox Err.Description

Resume Exit_B_Ada_Click

End Sub

Private Sub B_Mod_Click()

Me!SimbCurs.Locked = False

Me!DenCurs.Locked = False

Me!TaxaZi.Locked = False

Me!SimbCurs.SetFocus

Me!B_Ada.Enabled = False

Me!B_Mod.Enabled = False

Me!B_Ste.Enabled = False

Me!B_Sal.Enabled = True

Me!B_Ren.Enabled = True

Me!B_Pri.Enabled = False

Me!B_Urm.Enabled = False

Me!B_Ant.Enabled = False

Me!B_Ult.Enabled = False

Me!B_Ter.Enabled = False

End Sub

Private Sub B_Ste_Click()

Dim RspSte

On Error GoTo Err_B_Ste_Click

RspSte = MsgBox("Sterge inregistrarea curenta ? ", vbYesNo + vbQuestion)

If RspSte = vbYes Then

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

DoCmd.GoToRecord , , acPrevious

End If

Exit_B_Ste_Click:

Exit Sub

Err_B_Ste_Click:

MsgBox "Inregistrarea curenta are inregistrari corespondente in alta tabel !", vbCritical

Resume Exit_B_Ste_Click

End Sub

Private Sub B_Sal_Click()

On Error GoTo Err_B_Sal_Click

If IsNull(Me!SimbCurs) Then

MsgBox "Inregistrare incompleta, nu poate fi salvata !", vbCritical

Me!SimbCurs.SetFocus

Else

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Me!SimbCurs.Locked = True

Me!DenCurs.Locked = True

Me!TaxaZi.Locked = True

Me!B_Ada.Enabled = True

Me!B_Ada.SetFocus

Me!B_Mod.Enabled = True

Me!B_Ste.Enabled = True

Me!B_Sal.Enabled = False

Me!B_Ren.Enabled = False

Me!B_Pri.Enabled = True

Me!B_Urm.Enabled = True

Me!B_Ant.Enabled = True

Me!B_Ult.Enabled = True

Me!B_Ter.Enabled = True

End If

Exit_B_Sal_Click:

Exit Sub

Err_B_Sal_Click:

MsgBox "Simbol curs nu accepta valori duplicat/nu poate fi modificat !", vbCritical

Resume Exit_B_Sal_Click

End Sub

Private Sub B_Ren_Click()

On Error GoTo Err_B_Ren_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

Exit_B_Ren_Click:

If IsNull(Me!SimbCurs) Then

DoCmd.GoToRecord , , acFirst

End If

Me!B_Ada.Enabled = True

Me!B_Ada.SetFocus

Me!B_Mod.Enabled = True

Me!B_Ste.Enabled = True

Me!B_Sal.Enabled = False

Me!B_Ren.Enabled = False

Me!B_Pri.Enabled = True

Me!B_Urm.Enabled = True

Me!B_Ant.Enabled = True

Me!B_Ult.Enabled = True

Me!B_Ter.Enabled = True

Me!SimbCurs.Locked = True

Me!DenCurs.Locked = True

Me!TaxaZi.Locked = True

Exit Sub

Err_B_Ren_Click:

MsgBox "Nu s-a efectuat nici o modificare !", vbExclamation

Resume Exit_B_Ren_Click

End Sub

Private Sub B_Ter_Click()

On Error GoTo Err_B_Ter_Click

DoCmd.Close

Exit_B_Ter_Click:

Exit Sub

Err_B_Ter_Click:

MsgBox Err.Description

Resume Exit_B_Ter_Click

End Sub

Private Sub Form_Open(Cancel As Integer)

DoCmd.SetWarnings False

End Sub

Private Sub Form_Close()

DoCmd.SetWarnings True

End Sub

Private Sub TaxaZi_Exit(Cancel As Integer)

If Me!B_Sal.Enabled = True Then

Me!B_Sal.SetFocus

End If

End Sub

Raportul Cursuri

Subraport încorporat în raportul principal cu Subreport Wizard

Se creeaza subraportul srpCursanti pe baza tabelului Cursanti

Se creeaza raportul principal rptFunctii pe baza tabelului Functii (subraportul srpCursanti se încorporeaza în raportul principal srpFunctii

Exemplu tiparit:

Subraport încorporat în raportul principal fara Subreport Wizard

Se creeaza interogarea Q_CursantiInscrisi (pentru subraport)

Se creeaza interogarea Q_CursantiPrezenti (pentru raportul principal)

Se creeaza subraportul srpCursantiInscrisi

Se creeaza raportul principal rptCursantiPrezenti

Controlul Text Box din sectiunea CodCurs Header are proprietatea Control Source

=[SimbCurs] & " seria " & [NrSerie]

Subraportul se insereaza fara Subreport Wizard (se va insera un subraport nelegat).

Se afiseaza foaia de proprietati a raportului si se seteaza proprietatea Source Object cu Report.srpCursantiInscrisi

Se afiseaza caseta de dialog Subreport Field Linker si se seteaza Master Fields CodCurs Child Fields CodCurs (cele doua câmpuri sunt automat selectate!).

Se redimensioneaza subraportul: Width: 5" si Height

Pentru controlul Text Box care afiseaza numarul curent, se seteaza proprietatea Running Sum (tab-ul Data) pe Over Group

Exemplu de raport principal cu subraport:

Eticheta cu Label Wizard

Se creeaza interogarea Q_Etichete

Crearea etichetei cu Label Wizard

Daca se afiseaza mesajul:

Se deschide raportul în fereastra Report Design apoi se alege File Page Setup

În caseta de dialog Page Setup se selecteaza tab-ul Margins si se micsoreaza valoarea pentru Left (de exemplu, 0.5").

Eticheta fara Label Wizard

Se creeaza o eticheta care sa înstiinteze unitatile cu perioada de desfasurare a seriei a doua a cursului It36.

Se creeaza interogarea Q_EticheteRD

Pentru a dimensiona mai usor eticheta, se va trece la sistemul de unitati de masura Metric (în Regional Settings, tab-ul Numbers, se selecteaza Metric din Measurement system

Se creeaza un raport gol si se elimina sectiunile Page Header si Page Footer

Dimensiunile unui format A4 sunt 21cm x 29.7cm.

Se creeaza 2 etichete pe latime

Latimea unei etichete: 8 cm

Înaltimea unei etichete: 5 cm

Distanta între doua etichete: 2 cm

În caseta de dialog Page Setup se fac urmatoarele setari:

Tab-ul Margins:

Top: 20 mm

Bottom: 15 mm

Left: 15 mm

Right: 15 mm

Tab-ul Page

Size: A4

Tab-ul Columns

Number of Columns

Column Spacing: 2cm (este bine chiar 1.8cm!)

Width: 8cm

Height: 5cm

Se redimensioneaza sectiunea Detail a raportului: latime 8 cm si înaltime 5 cm.

Se creeaza continutul etichetei:

Tiparire/previzualizare raport dintr-o forma

Raportul va contine cursurile care încep într-o anumita luna (luna va fi selectata dintr-un control Combo Box plasat într-o forma).

Numele celor trei obiecte:

Forma: frmSelectareLuni

Interogarea: Q_IncepereCursuri

Raport: SituatieIncepereCursuri

În forma se adauga un control Combo Box (cu Control Wizards

Se modifica proprietatea Name (tab-ul Other) a controlului Combo Box în Luna

Se creeaza interogarea Q_IncepereCursuri

Se creeaza raportul SituatieIncepereCursuri pe baza interogarii Q_IncepereCursuri

În forma frmSelectareCursuri se adauga trei butoane de comanda (cu Control Wizards Previzualizare Tiparire si Terminare

Crearea unui panou de comanda

Panoul principal:

Actualizare tabele

Situatii de iesire

Inchidere aplicatie

Panourile secundare:

Panoul Actualizare tabele

Tabelul Cursuri

Tabelul Conventii

Tabelul Experti

Reintoarcere in panoul principal

Panoul Rapoarte

Taxe pe cursuri

Situatia cursantilor pe functii de clasificare

Situatia cursantilor inscrisi - prezenti

Situatia cursurilor care incep in luna.

Reintoarcere in panoul principal

În caseta de dialog Create New se introduc numele panourilor secundare: Actualizare tabele si Rapoarte (în caseta de text Switchboard Page Name

În caseta de dialog Edit Switchboard Item se introduc functiunile panoului principal:

Functiune

Command

Switchboard

Actualizare tabele

Go to Switchboard

Actualizare tabele

Situatii de iesire

Go to Switchboard

Rapoarte

Inchidere aplicatie

Exit Application

În caseta de dialog Edit Switchboard Item se introduc functiunile panoului Actualizare tabele

Functiune

Command

Form/ Switchboard

Tabelul Cursuri

Open Form in Edit Mode

frmActVizCursuri

Tabelul Conventii

Open Form in Edit Mode

Conventii

Tabelul Experti

Open Form in Edit Mode

Experti

Reintoarecre in panoul principal

Go to Switchboard

Main Switchboard

În caseta de dialog Edit Switchboard Item se introduc functiunile panoului Rapoarte

Functiune

Command

Report/Form/ Switchboard

Taxe pe cursuri

Open Report

Cursuri

Situatia cursantilor pe functii de clasificare

Open Report

Conventii

Situatia cursantilor inscrisi - prezenti

Open Report

rptCursantiPrezenti

Situatia cursurilor care incep in luna.

Open Form in Edit Mode

frmSelectareLuna

Reintoarecre in panoul principal

Go to Switchboard

Main Switchboard




Document Info


Accesari: 3218
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )