Invatare Atomica

Incarcarea bazei de date

Introducere prin formular, import dintr-un Excel existent, curatarea duplicatelor si a formatelor gresite

Progres lectie:
0%
🎯

Obiectivul lectiei

O baza de date goala nu ajuta pe nimeni. In lectia asta inveti sa aduci date reale in tabelele pe care le-ai construit deja: cu formular, atunci cand introduci cazuri unul cate unul (o interventie noua, un client nou); prin import, atunci cand ai deja o lista mare intr-un Excel (piese de la un furnizor, un istoric de interventii); si prin curatare, ca datele importate sa nu bage duplicate, coduri stricate sau texte cu spatii care iti falsifica interogarile de mai tarziu.

Dupa aceasta lectie vei putea:

  • Sa explici de ce introducerea prin formular este mai sigura decat scrisul direct in tabel
  • Sa creezi un formular simplu in Access pornind de la un tabel existent
  • Sa importi date dintr-o foaie de calcul Excel intr-un tabel Access, pas cu pas, folosind expertul de import
  • Sa pregatesti o foaie de calcul inainte de import ca sa nu apara erori
  • Sa gasesti si sa elimini inregistrarile duplicate dintr-o lista, cu Remove Duplicates si cu formatare conditionata
  • Sa recunosti si sa repari cele mai frecvente formate gresite: numere stocate ca text, coduri cu zero pierdut, date scrise inconsecvent

Incearca singur!

Provocare — inainte sa citesti:

De la magazia de piese primesti un fisier Excel cu 180 de randuri: coduri de piese, denumiri, furnizor, pret, stoc. Baza de date a atelierului are deja tabelul Piese_Stoc, cu structura stabilita in lectia trecuta (id_piesa, denumire, furnizor, pret_achizitie, stoc). Cum aduci cele 180 de randuri in tabel, fara sa strici structura si fara sa dublezi piese care exista deja? Scrie mai jos, in ordine, ce pasi crezi ca trebuie sa faci — inainte, in timpul si dupa aducerea datelor.

💡 Ai nevoie de un indiciu?

Ganditi-va la primirea unei livrari mari de piese la magazie: nu le arunci pur si simplu pe raft. Mai intai verifici lista de livrare — sunt piese scrise de doua ori pe factura? Sunt coduri ilizibile? Abia dupa ce lista e curata, incepi sa asezi piesele pe rafturile potrivite (structura deja existenta). La fel si cu datele: se curata inainte, apoi se aduc in tabelul care are deja o structura.

Subiectul lectiei de azi arata exact cum se face aceasta curatare si aducere de date.

1

De ce introduci date printr-un formular, nu direct in tabel

Un formular este o fereastra care afiseaza campurile unei singure inregistrari, unul sub altul, cu spatiu clar de completat pentru fiecare — spre deosebire de tabel, unde vezi toate inregistrarile intr-un grid dens, cu multe coloane, unde e usor sa scrii in coloana gresita fara sa observi.
Exemplu din atelier:

Cand inregistrezi o interventie noua direct in tabelul Interventii, cu 8-10 coloane vizibile pe ecran, e usor sa aluneci cu o celula si sa scrii kilometrajul in coloana de pret. Intr-un formular, vezi un singur camp "Kilometraj" si un singur camp "Pret", clar etichetate, unul sub altul — greu de confundat.

Cand foloseste fiecare metoda:

Tabel direct — bun pentru a vedea multe randuri deodata, a sorta, a filtra, a corecta rapid o singura valoare gresita.
Formular — bun pentru introducerea de inregistrari noi, una cate una, mai ales cand campurile sunt multe sau cand persoana care introduce datele (un coleg de la receptie, nu neaparat cel care a construit baza) nu cunoaste structura tabelului pe de rost.

2

Cum creezi un formular pornind de la un tabel existent

Access construieste un formular direct din structura unui tabel deja existent — nu trebuie sa desenezi nimic de la zero. Pasii, pentru tabelul Piese_Stoc, cu campurile deja stabilite in lectia trecuta (id_piesa — cheie primara, AutoNumber; denumire; furnizor; pret_achizitie; stoc):
Pas cu pas — formular din tabel:

1. In panoul din stanga (Navigation Pane), da clic pe tabelul Piese_Stoc, ca sa fie selectat.
2. Deschide tab-ul Create din panglica de sus.
3. Apasa butonul Form. Access genereaza automat un formular cu toate campurile tabelului, fiecare pe randul lui, cu eticheta in stanga si spatiul de completat in dreapta.
4. Formularul se deschide direct in modul Layout View — poti trage marginile campurilor mai late sau mai inguste daca un text nu incape.
5. Salveaza formularul cu Ctrl+S si da-i un nume clar, de exemplu Formular_Piese_Stoc.

Cum introduci o inregistrare noua din formular:

Deschide formularul (dublu-clic pe el in Navigation Pane). La baza ferestrei, in bara de navigare intre inregistrari, apasa butonul cu sageata si asterisc (New (blank) record). Formularul se goleste, gata pentru o inregistrare noua. Completezi fiecare camp, apoi treci la campul urmator cu tasta Tab. Cand ai completat ultimul camp si apesi Tab din nou (sau muti la alta inregistrare), Access salveaza automat randul — nu exista un buton separat de "Salveaza".

3

Importul dintr-o foaie de calcul Excel existenta

Cand ai deja o lista mare intr-un fisier Excel (.xlsx) — de exemplu un catalog de piese primit de la furnizor — nu are sens sa o retastezi prin formular, rand cu rand. Access are un expert de import (Import Wizard) care citeste direct fisierul Excel.
Inainte de expert — daca Excelul are o coloana noua, adaugi campul in tabel:

Catalogul de la furnizor are si o coloana in plus fata de Piese_Stoc: propriul lor cod de produs (de exemplu "007", "010"). Ca sa il pastrezi, deschizi tabelul Piese_Stoc in Design View si adaugi manual un camp nou, cod_furnizor, cu tipul de date Short Text — ales acum, apasat de tine, nu ceva ce mai alegi mai tarziu in expert. (id_piesa, cheia primara, ramane AutoNumber si nu vine din Excel — Access il genereaza singur pentru fiecare rand nou.)

Pas cu pas — import Excel in Access:

1. Deschide tab-ul External Data din panglica.
2. In grupul Import & Link, apasa Excel (sau New Data Source > From File > Excel, in functie de versiune).
3. La File name, apasa Browse si alege fisierul .xlsx.
4. Alege una dintre cele trei optiuni: Import the source data into a new table (creeaza un tabel nou), Append a copy of the records to the table (adauga la un tabel care exista deja — alegi Piese_Stoc din lista) sau Link to the data source (doar conecteaza, fara sa copieze). Pentru situatia noastra — completarea tabelului Piese_Stoc existent — alegi Append si selectezi Piese_Stoc.
5. Apasa OK, apoi alege foaia de calcul (daca fisierul are mai multe sheet-uri) si bifeaza First Row Contains Column Headings daca primul rand din Excel are denumirile campurilor (cod_furnizor, denumire etc.).
6. Access iti arata o previzualizare, dar pe traseul Append nu exista un ecran de mapare coloana-camp si niciun control de tip de date: potrivirea se face strict dupa numele de pe primul rand din Excel, comparat cu numele campurilor din tabel. Daca un nume din Excel nu se potriveste cu niciun camp, acea coloana pur si simplu nu se importa (sau, in unele versiuni, expertul respinge tot importul cu eroare) — nu ai unde sa o corectezi manual in acest ecran.
7. Apasa Finish. Access iti confirma cate randuri au fost adaugate.

De retinut:

Optiunea Append functioneaza corect doar daca denumirile coloanelor din Excel corespund exact cu numele campurilor din tabelul Access. Daca in Excel scrie "Cod furnizor" cu spatiu si in Access campul se numeste "cod_furnizor" cu underline, redenumesti antetul in Excel, inainte de a lansa expertul — pe traseul Append nu exista un ecran unde sa corectezi potrivirea dupa aceea.

Cum previi sa dublezi piese care exista deja in tabel:

Remove Duplicates (Atomul 5) curata doar duplicatele din interiorul fisierului Excel — nu spune nimic despre cele 180 de randuri fata de piesele deja existente in Piese_Stoc. Mecanismul care te apara aici este indexul unic pe cod_furnizor: in Design View, pe randul campului cod_furnizor, proprietatea Indexed o setezi pe Yes (No Duplicates) — aceeasi proprietate invatata in lectia trecuta, acolo folosita pentru cautari rapide pe Cod_Auto (Duplicates OK); aici o folosesti in varianta ei stricta, ca sa respingi valorile repetate, fara ca cod_furnizor sa devina cheie primara (id_piesa ramane cheia primara).
Cu indexul activ, cand rulezi Append si un rand din Excel are un cod_furnizor care exista deja in tabel, Access respinge doar acel rand — restul randurilor valide se importa normal — si iti arata un mesaj cu numarul de randuri care nu au putut fi adaugate, punandu-le intr-un tabel nou creat automat, Paste Errors. Il deschizi ca sa vezi exact ce randuri au fost respinse si de ce.
Daca nu esti sigur ca indexul e deja pus, verifici (sau cauti duplicate ramase din alt import) cu Create > Query Wizard > Find Duplicates Query Wizard: alegi tabelul Piese_Stoc, campul cod_furnizor, iar Access construieste o interogare care iti arata toate randurile cu cod_furnizor repetat.

4

Cum pregatesti Excelul inainte sa il importi

Un import reuseste doar daca foaia de calcul e "curata" ca structura, adica seamana cu un tabel simplu. Inainte de a lansa expertul din Access, verifici in Excel urmatoarele.
Verificari obligatorii in Excel, inainte de import:

Un singur rand de antet — primul rand contine denumirile coloanelor (ideal, identice cu numele campurilor din tabelul Access), fara randuri goale sau titluri suplimentare deasupra.
Fara celule combinate (merged cells) — daca ai combinat celule pentru un titlu de sectiune, Access nu stie cui apartine acea valoare. Selectezi zona, apoi Home > Merge & Center (ca sa dezactivezi combinarea, daca era activa).
O singura foaie relevanta — daca fisierul are mai multe sheet-uri, stii exact care contine datele de importat.
Fara randuri sau coloane goale in mijlocul datelor — un rand gol intrerupe uneori intervalul pe care Access il citeste.
O coloana = un tip de informatie — nu amesteca in aceeasi coloana, la randuri diferite, si text si numere cu sens diferit (de exemplu "in stoc" scris uneori ca numar, alteori ca text "da/nu").

Exemplu — inainte si dupa curatare:

Inainte: Excelul are pe randul 1 un titlu combinat "Lista piese Aprilie 2026", pe randul 2 gol, iar antetul de coloane abia pe randul 3.
Dupa: stergi randul 1 si randul 2, astfel incat antetul de coloane (cod_furnizor, denumire, furnizor, pret_achizitie, stoc) ajunge chiar pe primul rand al foii. Abia acum lansezi importul.

5

Gasirea si eliminarea duplicatelor

Un duplicat este o inregistrare care apare de doua sau mai multe ori, cu aceleasi valori (sau aproape aceleasi). Duplicatele strica statisticile — un stoc calculat pe o piesa dublata iese gresit, iar o interogare de cautare iti arata acelasi rezultat de doua ori.
Exemplu numeric complet — lista de 8 piese:

In Excel ai urmatoarele randuri (cod_furnizor, denumire, pret):
1. F001, Filtru ulei, 35
2. F002, Filtru aer, 28
3. F001, Filtru ulei, 35 (identic cu randul 1)
4. B010, Bujie, 12
5. C005, Curea distributie, 95
6. F002, Filtru aer, 28 (identic cu randul 2)
7. P020, Placute frana, 180
8. A033, Amortizor spate, 220

Selectezi tot intervalul (inclusiv antetul), deschizi tab-ul Data si apesi Remove Duplicates. In fereastra care apare, verifici mai intai casuta My data has headers — trebuie sa fie bifata, altfel Excel trateaza si randul de antet ca pe un rand de date, il numara la "unice", si raspunsul iti iese cu 1 in plus (7, nu 6). Cu ea bifata, lasi bifate toate coloanele (ca sa compare randul intreg) si apesi OK. Excel iti raporteaza: "2 duplicate values found and removed; 6 unique values remain." Raman exact randurile 1, 2, 4, 5, 7, 8 — 8 − 2 = 6 randuri unice.

Inainte de a sterge — verifici vizual:

Remove Duplicates sterge direct, fara sa iti arate ce a sters. Ca sa vezi intai ce va fi marcat drept duplicat, selectezi coloana cod_furnizor, apoi Home > Conditional Formatting > Highlight Cells Rules > Duplicate Values. Excel coloreaza toate valorile care se repeta, ca sa le poti verifica cu ochiul liber inainte sa decizi ce stergi.

6

Formate gresite frecvente si cum le repari

Datele "murdare" nu sunt mereu duplicate — de multe ori sunt scrise corect ca sens, dar in formatul gresit pentru calculator. Trei probleme apar cel mai des la datele venite dintr-un Excel completat manual de mai multe persoane.
1. O celula-text ascunsa strica ghicitul de tip la import (nu toata coloana din Excel)

In Excel, tipul unei valori se tine per celula, nu per coloana: daca in coloana pret_achizitie doar celula A5 e scrisa cu un spatiu la final ("35 "), doar acea celula devine text — restul coloanei ramane numar, iar SUM/AVERAGE in Excel continua sa functioneze corect pe celelalte celule (le ignora doar pe cele text, nu strica tot calculul).
Problema reala apare la importul in Access: expertul de import ghiceste tipul fiecarui camp uitandu-se doar la primele randuri de date din coloana respectiva. Daca celula "murdara" e printre acele primele randuri, Access poate decide ca tot campul nou e Text, si atunci iti importa ca text si valorile care in Excel erau numere curate.
Cum recunosti celula murdara inainte de import: valorile numerice sunt aliniate automat la dreapta celulei; o celula aliniata la stanga, intr-o coloana altfel aliniata la dreapta, e text, nu numar — te uiti celula cu celula, nu la coloana intreaga dintr-o privire. Se repara cu formula =VALUE(TRIM(A2)) intr-o coloana ajutatoare, care intai elimina spatiile (TRIM) si apoi converteste textul curat in numar (VALUE); copiezi formula pe tot intervalul, apoi copiezi rezultatele si le lipesti peste coloana originala cu Paste Special > Values.

2. Coduri care isi pierd zerourile din fata — greseala tipica

Cum se recunoaste: codurile de la furnizor scrise "007", "010", "025" in Excel apar dupa import in Piese_Stoc ca "7", "10", "25" — fara zerourile din fata. Cauza: campul cod_furnizor din tabelul Access a fost creat cu tip de date Number in loc de Short Text, iar pentru un numar, zero-ul din fata nu inseamna nimic (007 = 7 ca valoare — nu e o taiere de cifre, e faptul ca numarul nu are cum sa retina un zero care nu schimba valoarea).
De ce nu se poate intampla pe traseul de Append din aceasta lectie, daca faci totul corect: la Append, tipul fiecarui camp e fix — cel din tabelul destinatie, ales de tine cand ai adaugat campul (vezi Atomul 3), nu ceva ce se mai alege in expert. Expertul de Append nu are un ecran de "Field Options" cu tip de date — acela apare doar cand imporți intr-un tabel NOU. Daca ai creat cod_furnizor de la inceput ca Short Text, zerourile nu se pot pierde niciodata la un Append ulterior.
Cand chiar apare greseala: fie la un import intr-un tabel nou (acolo expertul iti arata la pasul de previzualizare fiecare coloana cu tipul ei de date deasupra — dai clic pe antetul coloanei si alegi Text inainte de Finish), fie cand campul a fost deja adaugat gresit ca Number intr-un tabel existent.
Cum se repara in acest al doilea caz: deschizi tabelul in Design View, schimbi tipul campului cod_furnizor din Number in Short Text, salvezi, apoi corectezi manual codurile care si-au pierdut zeroul (sau stergi randurile gresite si reimporti).

3. Date calendaristice scrise inconsecvent

Daca in aceeasi coloana apar si "12.03.2026", si "12-03-2026", si "12/03/2026", scrise de persoane diferite, Excel nu le recunoaste pe toate ca fiind acelasi tip de data, iar sortarea cronologica iese gresit. Se repara selectand coloana si folosind Data > Text to Columns > Next > Next, apoi la pasul 3 alegi formatul coloanei Date: DMY (zi-luna-an) si apesi Finish — Excel converteste tot in acelasi format real de data, pe care Access il va importa corect ca Date/Time.

7

Recapitulare si conexiuni

Incarcarea bazei de date inseamna trei lucruri diferite, folosite dupa situatie: introducere punctuala prin formular, aducere in bloc prin import, si curatare inainte sau dupa — niciodata omisa, pentru ca datele murdare strica exact interogarile pe care le vei construi in lectia urmatoare.
Traseul complet, in ordine:

1. Pregatesti Excelul (antet curat, cu numele identic cu al campurilor, fara celule combinate, fara randuri goale)
2. Daca Excelul are o coloana noua (ex. cod_furnizor), adaugi campul in tabel in Design View, cu tipul de date corect (Short Text pentru coduri) — se alege acum, nu la import
3. Pui un index unic (Indexed = Yes, No Duplicates) pe cod_furnizor, ca sa respinga la Append randurile care dubleaza o piesa deja existenta
4. Cauti si elimini duplicatele din interiorul Excelului (Remove Duplicates, cu "My data has headers" bifat, verificat vizual cu Conditional Formatting)
5. Repari formatele gresite (TRIM+VALUE pentru numere, Text to Columns pentru date)
6. Importi cu expertul din Access (Append la tabelul Piese_Stoc existent) — randurile cu cod_furnizor deja existent sunt respinse automat si apar in tabelul Paste Errors, restul se adauga
7. Verifici Paste Errors si, daca vrei o verificare suplimentara, rulezi Find Duplicates Query pe Piese_Stoc
8. Pentru completari punctuale ulterioare, folosesti formularul, nu tabelul direct

Conexiune cu urmatoarea lectie:

Acum ca tabelul Piese_Stoc (sau orice alt tabel al atelierului) are date reale si curate, in lectia urmatoare inveti sa pui intrebari bazei — interogari cu criterii, ca sa gasesti rapid "toate piesele sub 50 lei" sau "toti clientii care au venit luna trecuta", fara sa cauti manual printre sute de randuri.

De retinut pentru activitatile practice:

Formular = introducere sigura, o inregistrare o data.
Import Excel = External Data > Excel > Append la tabelul existent — tipul fiecarui camp e cel din tabel, nu se mai alege in expert.
Duplicate impotriva tabelului deja existent = index unic (Indexed = Yes, No Duplicates) pe campul cod, nu Remove Duplicates (acela curata doar Excelul).
Remove Duplicates = Data tab, cu "My data has headers" bifat; verifici intai cu Conditional Formatting.
Coduri cu zero la inceput = camp creat de la bun inceput cu tip Text (Short Text), niciodata Number.
=TRIM() elimina spatiile; =VALUE() converteste text curat in numar.

Exercitii practice

Exercitiul 1 (Nivel minim) — Ce tip de camp alegi?

Pentru fiecare dintre urmatoarele campuri dintr-un tabel de piese, alege tipul de date corect (Short Text, Number sau Date/Time) si scrie o propozitie de justificare: cod_furnizor (exemple: 007, 010, 025), pret_achizitie (exemple: 35, 12,5, 220), data_receptie (exemplu: 03.09.2026), telefon_furnizor (exemplu: 0745123456), cantitate_stoc (exemplu: 40).

Vezi rezolvarea

Tip de camp pentru fiecare, cu justificare (ca in Atomul 6 al lectiei):

  1. cod_furnizor - Short Text. Desi arata a numere, incepe cu zero (007, 010, 025); un camp Number ar sterge automat zeroul din fata (007 devine 7), pentru ca zero-ul de la inceputul unui numar nu are valoare matematica.
  2. pret_achizitie - Number (cu zecimale). Valorile (35, 12,5, 220) se folosesc in calcule - suma, medie - deci trebuie sa fie numar, nu text.
  3. data_receptie - Date/Time. E o data calendaristica (03.09.2026); acest tip permite sortare cronologica corecta si respinge o data imposibila.
  4. telefon_furnizor - Short Text. La fel ca la cod_furnizor: numarul incepe cu 0 (0745123456) si nu e folosit niciodata in calcule, deci un camp Number i-ar sterge zeroul de la inceput.
  5. cantitate_stoc - Number (numar intreg). E o cantitate care se aduna/scade la fiecare miscare de stoc, deci trebuie sa fie numar, nu text.

Exercitiul 2 (Nivel standard) — Curata lista inainte de import

Primesti urmatoarea lista de 7 randuri, gata de import in tabelul Furnizori (Cod_Furnizor, Nume, Telefon): 1) FZ01, Auto Piese SRL, 0233111222 — 2) FZ02, Moto Parts, 0233333444 — 3) FZ01, Auto Piese SRL, 0233111222 — 4) FZ03, Electro Auto, 0233555666 — 5) FZ02, Moto Parts, 0233333444 — 6) FZ04, Total Piese, 021 — 7) FZ05, Rapid Service, 0233777888. Identifica: (a) cate randuri sunt duplicate exacte si care raman dupa Remove Duplicates, (b) ce este suspect la randul 6 (telefonul "021") si ce ai verifica inainte sa il incarci in baza.

Vezi rezolvarea

(a) Comparand cele 7 randuri: randul 3 (FZ01, Auto Piese SRL, 0233111222) e identic cu randul 1, iar randul 5 (FZ02, Moto Parts, 0233333444) e identic cu randul 2 - deci 2 randuri sunt duplicate exacte. Dupa Data > Remove Duplicates (cu "My data has headers" bifat), raman 5 randuri unice: FZ01, FZ02, FZ03, FZ04, FZ05 (Remove Duplicates pastreaza prima aparitie si sterge doar aparitiile ulterioare identice, ca in Atomul 5).

(b) Randul 6 (FZ04, Total Piese, telefon "021") e suspect pentru ca are doar 3 cifre, mult mai scurt decat restul numerelor din lista (10 cifre, gen 0233111222) - pare un numar netastat complet. Inainte sa il incarci: verifici cu furnizorul numarul complet real, si te asiguri ca in Access campul Telefon e creat ca Short Text, nu Number - altfel un eventual zero de la inceput s-ar putea pierde la import, exact problema explicata la cod_furnizor in Atomul 6.

Exercitiul 3 (Nivel performanta) — Plan complet de incarcare

Magazia iti trimite un Excel cu 60 de randuri de piese. Dupa o verificare rapida gasesti: 9 randuri duplicate exacte, iar coloana cod_furnizor a fost completata de doua persoane diferite — unele coduri au zerouri in fata (ex. 015), altele nu (ex. 15) pentru piese diferite, si observi ca o incercare anterioara de import (facuta de un coleg) a transformat deja o parte din coduri, pierzand zerourile (semn ca cineva a creat campul cu tip Number). Scrie, in ordine, planul tau complet de curatare si import: (a) ce faci mai intai cu duplicatele si cate randuri raman dupa eliminare, (b) ce tip de date alegi pentru cod_furnizor si de ce, (c) ce faci cu tabelul deja stricat de importul anterior inainte sa reimporti.

Vezi rezolvarea

Nu-ti dau raspunsul complet - urmeaza schema si cauta detaliile exacte in Atomul 5 si Atomul 6 din lectie.

  1. (a) Duplicatele se elimina PRIMELE, in Excel, inainte de orice alta curatare (Data > Remove Duplicates, cu "My data has headers" bifat) - abia dupa aceea are sens sa corectezi codurile, ca sa nu numeri de doua ori aceeasi eroare. Din 60 de randuri, 9 sunt duplicate exacte -> raman 51 randuri unice.
  2. (b) Tipul campului cod_furnizor: Short Text, nu Number - motivul e in Atomul 6: un zero din fata unui numar nu are valoare (007=7), deci un tip numeric l-ar sterge automat, iar aici zerourile disting piese diferite (015 nu e aceeasi piesa cu 15). Cu Short Text ambele forme raman corecte si distincte.
  3. (c) Tabelul deja stricat: NU se reimporta direct peste el. Intai deschizi tabelul in Design View, schimbi tipul lui cod_furnizor din Number in Short Text; apoi corectezi manual sau stergi randurile deja importate gresit (cele fara zero), ca sa nu ramai cu doua versiuni ale aceluiasi cod, inainte de a incarca restul de randuri curate.

Criterii de evaluare: ordinea corecta a pasilor, cifra 51 calculata corect, justificarea Short Text bazata pe pierderea zerourilor, observatia ca tabelul vechi trebuie reparat INAINTE de a adauga date noi peste el.

Ce ai invatat astazi

  • Formularul e sigur pentru introducere punctuala: un camp pe rand, greu de confundat cu alta coloana
  • Formular nou din tabel: selectezi tabelul, Create > Form; inregistrare noua cu New (blank) record, salvare automata la Tab
  • Import Excel: External Data > Excel > alegi Append la tabelul existent > bifezi First Row Contains Column Headings
  • Inainte de import: antet curat pe primul rand, cu numele identic cu al campurilor, fara celule combinate, fara randuri goale in mijlocul datelor
  • Duplicate din interiorul Excelului: Data > Remove Duplicates (cu "My data has headers" bifat); verificare vizuala intai cu Conditional Formatting > Duplicate Values
  • Duplicate fata de piesele deja existente in tabel: index unic (Indexed = Yes, No Duplicates) pe cod_furnizor — Access respinge randul si il pune in tabelul Paste Errors, nu il dubleaza
  • Numere stocate gresit ca text: =TRIM() elimina spatiile, =VALUE() converteste in numar
  • Coduri cu zero la inceput (007) trebuie tip Text (Short Text) creat de la inceput, altfel un camp Number nu retine zero-ul nesemnificativ (007 e acelasi numar cu 7)
  • Date scrise inconsecvent: Data > Text to Columns > format Date DMY, pentru sortare cronologica corecta

Vrei mai mult?

Provocare: Construieste in Excel un tabel cu 6 piese: doua perechi identice (duplicate) si un cod_furnizor scris 025 la primul rand, dar AB25 la ultimul rand. Ruleaza Remove Duplicates, apoi importa in Access intr-un tabel nou, lasand Access sa ghiceasca singur tipul campului cod_furnizor. Verifica ce s-a intamplat cu "025" si cu "AB25" dupa import.

  • Intrebare: Access ghiceste tipul unui camp la import uitandu-se doar la primele randuri de date din coloana. De ce ordinea randurilor din Excel poate schimba complet rezultatul importului, chiar daca datele in sine raman identice?

Deschidere: Exact acest risc apare cand o firma imbina doua liste de preturi primite de la furnizori diferiti intr-o singura baza de date: coduri scrise inconsecvent de doua persoane distincte strica automat cautarile ulterioare, daca nu sunt curatate inainte de import.

Urmatoarea lectie

Continua cu Exploatarea bazei: interogari cu criterii — cum pui intrebari bazei de date si primesti raspunsuri exacte, folosind conditii de cautare pe datele pe care tocmai le-ai incarcat.

Continua →