PDA

Prikaži potpunu verziju : MS Access i importovanje tabela iz Excela


Demosten
30.1.2008, 12:29
Trebao bih da importujem neke excel tabele u Access. Interesuje me da li je moguće i kako da postignem da importujem samo određene kolone iz excel tabele i kako da prilikom importovanja uklonim/izostavim duplirane unose.

Ovo su neka polja koja imam u tabeli:
šifra pacijenta
ime pacijenta
broj protokola
šifra analize
broj analize
Situacija je sledeća:
jedan pacijent može imati više protokola, a jedan protokol može imati više analiza.
Pošto je tabela masivna trebao bih da je razbijem u nekoliko manjih tabela koje bih posle povezao u access-u.
Jedna od tabela bi sadržala samo šifru pacijenta i njegovo ime, ali pošto zbog više analiza koje su rađene šifra i ime pacijenta se pojavlju ponegde i više desetina puta.
Kako da postignem da mi se u tom slučaju uklone svi duplirani unosi, a da to ne radim ručno(postoji nekih 20000 stavki)?

Marko_L
30.1.2008, 13:34
Najlakše ti je da prvo lepo pripremiš podatke u Excelu, pa onda da radiš import u Access-u. Ako si vičan programiranju, sve to možeš vrlo lako da odradiš preko makroa, tj. kompletan proces sa importovanjem. Ako nisi, onda ti ne ostaje ništa drugo nego da ručno pripremiš podatke onako kako želiš da ih uvučeš u Access, ali to i nije neki problem, jer kolone se lako brišu sa 2 klika mišem, a ima i par trikova kako možeš da ukloniš duplirane unose. Jedan od najjednostavnijih korišćenjem Advanced Filtera. Ovde imaš kompletno objašnjenje kako to da uradiš korak po korak
http://support.microsoft.com/kb/262277
a kolone predpostavljam znaš kako da obrišeš. Naravno, pre nego što započneš proces, napravi kopiju excel fajla koji ćeš da procesiraš, čisto za slučaj da nešto krene naopako.

Demosten
1.2.2008, 14:42
Hvala puno na pomoci, pomoglo je, ali sada imam nekih drugih problema...:mad:
Elem, izvukao sam podatke još u excelu onako kako se predlaže na linku i pretpostavljam da je to excel odradio kako treba, jer nije posao proveravati 4-5 hiljada entrija koliko ih je ostalo, mada ozbiljno razmišljam o tome. Ali..
Problem je sledeći:
Napravio sam za početak tabele:
"Pacijenti" sa poljima IdPacijenta i Pacijent i tabelu "Protokoli" sa poljima IdProtokola, Datum i IdPacijenta. Konektovao tabele i napravio query samo da mi izbaci IdProtokola i Id pacijenta (isto se dešava ako dodam još neko polje) i on mi izbaci 5599 parova, umesto 5567 koliko bi trebalo da bude, tj. koliko mi izbaci excel, kada izdvojim pomenuta polja u excelu i izbacim duple unose na način opisan na linku. Tabele sam u Access uneo preko desni klik, import table, izaberem excel fajl i sheet u njemu i kažem da polja nisu indexed i da je bez primarnog ključa.
Kada sam probao da napravim ponovo tabele, tj. tabelu "Pacijenti" ali ovog puta da izaberem da mi je IdPacijenta primarni ključ on mi bez obzira da li sam na prethodnom ekranu rekao "no" za indexed ili "Yes(no duplicates)" ili "Yes(OK duplicates)" on mi javi: " Error creating primary key on field 'IdPacijenta' (The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain diplicate data, remove the index, or redefined the index to permit duplicate entries and try again.). " i samo opciju OK.
E sada u polju pacijenti bi trebalo da ima više osoba sa istim imenom, ali zato je tu IdPacijenta koji bi trebao da je jedinstven, mada mi se ne proverava 5000 unosa...
U čemu je vic i šta da radim?

Demosten
1.2.2008, 15:24
Otkrio, imam dupliranih IdPacijenta...