Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom

[es] :: Access :: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom

[ Pregleda: 6555 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 16:25 - pre 194 meseci
Ovako, jedno resenje imam, tako da nije neka frka, ali me interesuje kako bi drugi uradili. Postovacu posle kako sam smislio.
Elem, o cemu se radi. Trebam da kpiram podatke iz jedne tabele u drugu (ne mogu da kopiram celu tabelu, ne pitajte zasto ). Obe imaju istu strukturu i prim. key je AutoNumber.
U izvornoj tabeli je bilo mnogo dodavanja i brisanja redova tako da em ne krece od 1 em ima "rupa".
Ako kopiram direktno sa copy/paste, autonumber ce generisati nove brojeve koji se nece poklapati.
Kako napraviti identicnu kopiju?
 
Odgovor na temu

Kiro
Akir Žalić
BiH

Član broj: 19085
Poruke: 114
*.PPPoE-113.sa.bih.net.ba.

Sajt: www.icentar.ba


Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 18:41 - pre 194 meseci
Čini mi se da Append Query to može napraviti. Ali nisam siguran pokušaj!
Kiro
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
77.46.226.*



+41 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 18:50 - pre 194 meseci
Ako primarni kljuc, tj. taj tvoj autonumber nije u relaciji sa poljima u drugim tabelama, onda ces to lako srediti tako sto ukines da je autonumber i stavis da je long integer -> obavis append - > vratis da je autonumber.

Ako su postavljene relacije, jedino sto mi pada na pamet je da ubacis kao prvi korak skidanje svih relacija za to polje - > procedura koju sam gore naveo - > vracanje svih relacija.

P.S.

Sta se ti to petljas sa Access-om u zadnje vreme? (odgovor primam i na PP)
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 18:59 - pre 194 meseci
Posle ukidanja Autonumber i postavljanja Number, Long Integer teško da će vratiti ponovo na AutoNuber. Mislim da je Kiro u pravu i da može sa Append Query da se doda u novu tabelu koja je ista po strukturi i to tako da se u redu Criteria nad poljem Autnumber napiše uslov od kojeg do kojeg zapisa se appenduje. Na taj način će se korektno preneti samo oni zapisi koji su naređeni uslovom i vrednosti u AutoNumer polju će im se podudarati.
Prikačeni fajlovi
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
77.46.226.*



+41 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 19:03 - pre 194 meseci
Citat:
Getsbi: Posle ukidanja Autonumber i postavljanja Number, Long Integer teško da će vratiti ponovo na AutoNuber.


Moze ako je prazna tabela, ako ima podataka onda ne moze.


@Getsbi, sad sam video da si i sliku stavio - ako je zbog mene nisi morao
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 19:09 - pre 194 meseci
Štos i jeste da je prva već popunjena, a da drugoj treba da se dodaju samo neki zapisi iz prve i da im je struktura potpuno ista. Bar sam ja tako razumeo.
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
*.SMIN.panline.net.



+21 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 20:16 - pre 194 meseci
Postupak za čišćenje rupa u autonumber polju:
Prvo iskopiraj tu prvu tabelu i to samo strukturu (bez podataka) čime ćeš dobiti praznu novu.
Napravi append query (append-uješ prvu staru u praznu novu) u kom je postavljen sorting ascend po autonumber polju, a za append su selektovana sva polja osim autonumber, apenduj onda prvu tabelu u praznu novu.
Ovim ćeš dobiti u kopiji sve podatke iz stare ali sa urednim automatski generisanim autonumber, koji počinje od 1 i ide kontinuelno bez "rupa"... sada staru prvu tabelu možeš i da obrišeš, a njenu kopiju preimenuješ tako da je zameni u strukuturi baze (proveri potom sve relacije i popravi ih ako treba)...
(Napomena: Ako postoji opasnost od remećenja relacija onda se to rešava uvođenjem temp numeric polja u koji se iskopiraju stari autonumber podaci)

E sad dalje možeš i sam...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 21:00 - pre 194 meseci
Prvo hvala na odgovorima.
Kiro, append ne pomaze. Stvar je u tome da kada se insert-uju podaci iz jedne tabele u drugu, kolona koja je autonumber se ne moze setovati, uvek se sama generise.
Catch 22, nije mi potrebno da pocistim rupe. Naprotiv, potrebno mi je da imam podatke u drugoj tabeli (tj. ta druga tebela je u drugoj bazi) tacno kao sto su u prvoj, znaci sa istim autoid (to je ime kolone koja je autonmber) i sa istim rupama (ima oko 9500 redova i autoid je negde 25000-35000).
Getsbi, ne, jedna je skroz prazna, treba prebaciti sve podatke.

Citat:
goranvuc: Ako primarni kljuc, tj. taj tvoj autonumber nije u relaciji sa poljima u drugim tabelama, onda ces to lako srediti tako sto ukines da je autonumber i stavis da je long integer -> obavis append - > vratis da je autonumber.

Kad obavis append, onda vec ima podatke, a onda vise ne mogu vratiti na autonumber. To sam prvo probao

Citat:
goranvuc: Sta se ti to petljas sa Access-om u zadnje vreme? (odgovor primam i na PP)

Ne bi mi verovao
Za sad cu pomenuti da je neko (izmedju ostalog) setovao gomilu null-ova u kolone koje su required (cak jedan red ima i u primary key). Kopiracu ti na PP sto sam objasnjavao vec nekom, jer me mrzi sve ponovo pisati. Mada, nisam siguran ni da li je taj kome sam objasnjavao shvatio, tj. da l' sam dobro objasnio


Elem, kako cu resiti:
Napravicu program (mogu i u samom access-u, ali .net vise volEm). Ako su u punoj tabeli AutoID od X do Y, program ce napraviti Y redova sa nekim bez veze podacima, zatim ce ucitati podatke iz pune tabele i update-ovati one redove ciji ID postoji i u tabeli sa podacima a ostale obrisati.
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 21:45 - pre 194 meseci
izvini, ali kako ne možeš da appenduješ autonumber polje? evo sad sam
probao i sa insert select i insert values i radi oba. jedino ne sme da
se naruši jedinstvenost ako je polje PK.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 21:50 - pre 194 meseci
@ Shadowed
Šta znači u kontekstu tvog problema?: "...kolona koja je autonumber ne može se setovati, uvek se sama generise.." To je tačno kad radiš Copy/Paste. Pokušaj da appenduješ u praznu sa istom strukturom.
Probao sam Append Query i radi korektno. Sve slogove iz Table1, koja ima ključ Autonumber, koja je napunjena i koja ima rupe u autonumerisanju usled obrisanih slogova, apenduje u Table2 sa identičnom strukturom i takođe postavljenim ključem na Autonumber. Appendovani slogovi imaju ista autonumerisanja kao i u izvornoj tabeli. Rupe su tamo gde treba. Ako ne treba sve slogove appendovati onda postaviš uslov koje slogove treba. To što nisu iz iste baze takođe nije problem. Postoji Importovanje tabela. Importuješ u jednom smeru, a potom u drugom. Ako baš voliš da programiraš, a ti programiraj.

Ne treba uopšte da skidaš tip podatka Autonumber. Samo isprobaj.

[Ovu poruku je menjao Getsbi dana 10.04.2008. u 23:03 GMT+1]
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
*.SMIN.panline.net.



+21 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 23:44 - pre 194 meseci
Citat:
Getsbi: ...apenduje u Table2 sa identičnom strukturom i takođe postavljenim ključem na Autonumber. Appendovani slogovi imaju ista autonumerisanja kao i u izvornoj tabeli. Rupe su tamo gde treba.

Takva tabela u kojoj "PK autonumber rupe" nisu nastale brisanjem slogova će vremenom (relativno brzo) da se "zakuca" i neće dozvoljavati nove unose!
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom10.04.2008. u 23:50 - pre 194 meseci
Getsbi, ok, nisam znao da ce to raditi a pretpostavio sam da nece jer ni jedan drugi nacin manuelnog setovanja AutoNumber kolone nije bilo prihvaceno.
Catch 22, zbog cega bi zakucala?

Mislim da cu ipak napraviti ovo... :)
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-3668.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 00:33 - pre 194 meseci
Prenos autonumber polja u drugu tabelu a da ostane autonumber je veoma mukotrpno ali itzvodivo a kodom.
Podigne se prva tabela koja je puna u recordsete te druga tabela koju zelimo puniti u recordset.
Znaci imamo rs1 i rs2.

rs1 jedan stavimo u doo petlju a rs2 idemo sa opciom add.new pa update.
Nakon toga idemo rs2.mowelast na zadnji te ucitamo polje autonumber i uporedimo ga sa poljem autonumber rs1 ako nije isto onda brisemo red rs2.delete i update.


zxz
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 02:41 - pre 194 meseci
zašto će se "zakucati"?
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 05:46 - pre 194 meseci
Citat:
Catch 22: Takva tabela u kojoj "PK autonumber rupe" nisu nastale brisanjem slogova će vremenom (relativno brzo) da se "zakuca" i neće dozvoljavati nove unose!

Eventualno "zakucavanja" nove tabele sprečiće Compact and Repair Dtatabase koji treba da se uvek uradi nakon ovakvog administriranja tabelama. Takođe držanje uključene opcije: Tools, Option, General, Compact on Close; smatram uz arhiviranje, jednim od uslova za "higijenu" baze.

Citat:
izonic: Prenos autonumber polja u drugu tabelu a da ostane autonumber je veoma mukotrpno ali itzvodivo a kodom.
Podigne se prva tabela koja je puna u recordsete te druga tabela koju zelimo puniti u recordset.
Znaci imamo rs1 i rs2.

rs1 jedan stavimo u doo petlju a rs2 idemo sa opciom add.new pa update.
Nakon toga idemo rs2.mowelast na zadnji te ucitamo polje autonumber i uporedimo ga sa poljem autonumber rs1 ako nije isto onda brisemo red rs2.delete i update.

Upravo to radi Append query. Samo mi se čini da je s njim rešenje elegantnije nego s VBA kodom.

[Ovu poruku je menjao Getsbi dana 11.04.2008. u 17:36 GMT+1]
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 09:52 - pre 194 meseci
Append query resio stvar. Zahvaljujem.
A izgleda da je i cela stvar (ciji je ovo samo deo) resena ovim; woohoo :]
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
*.SMIN.panline.net.



+21 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 14:29 - pre 194 meseci
Citat:
Getsbi: Eventualno "zakucavanja" nove tabele sprečiće Compact and Repair Dtatabase koji treba da se uvek uradi nakon ovakvog administriranja tabelama. Takođe držanje uključene opcije: Tools, Option, General, Compact on Close; smatram uz arhiviranje, jednim od uslova za "higijenu" baze..

Navedena "higijena" se podrazumeva, nažalost iskustva iz prakse međutim pokazuju da to ne sprečava mogućnost pojavljivanja problema sa "zakucavanjem"...
Takve probleme sam rešavao gore opisanim uvođenjeg privremenog numeric polja (nije autonumber), kopiranjem "bušnih ID auto number podataka" u to polje, pa korišćenjem tog polja za povezivanje tabela kod pravljenje append query...
U slučajevima "zakucavanja" tabela, jedino je pomagao opisani način kopiranja u novu uz čišćenje rupa u autonumber polju...
Ali kako god... razna iskustva i različite potrebe zahtevaju različita rešenja...

PS
Obično u file propertis dodajem opciju "Compact data base" u meniju "desni klik" miša za mdb fajlove...
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom11.04.2008. u 16:41 - pre 194 meseci
Nisam do sada imao loša iskustva sa Autonumber i "zakucavanjem". No nikad se ne zna. Zapamtiću ovaj savet.
Drago mi je da smo rešili ovaj problem i da Shadowed nije morao da koristi svoje programersko umeće u .net-u.
I da ne zaboravimo. Kiro je prvi dao ideju.
 
Odgovor na temu

[es] :: Access :: Kopiranje podataka iz jedne tabele u drugu sa AutoNumber kolonom

[ Pregleda: 6555 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.