Jump to content
IGNORED

Database


Skyhighatrist

Recommended Posts

Glupo (pretpostavljam) pitanje:Imam 10 tabela, 10 odgovarajućih formova, svi spakovani zajedno u Navigation form.Prvi form su ime, prezime, adresa, etc, ostalih devet su nekakvi rezultati.Kako da kažem Accessu da kad dodam prvi record (ime, prezime...), doda prazne recorde i u ostalih 9 tabela, bez obzira da li ću ih unositi odmah, kasnije ili nikad?Moram da dodajem kontrole, jel? (jer očigledno kad na status baru čuknem New (blank) record, on dodaje record samo za prvu tabelu, a ne i za ostale)Sve tabele su povezane one-to-one relacijom preko ID fielda.
Nijedno pitanje nije glupo...Aj prvo da razjasnimo... Šta će ti prazni slogovi? Nije mi jasan koncept...
Link to comment
  • Replies 68
  • Created
  • Last Reply

Top Posters In This Topic

  • Skyhighatrist

    30

  • radisa

    15

  • JozoMujica

    5

  • salerokada

    5

Top Posters In This Topic

Posted Images

Aj' da preformulišem...Na prvom formu mi piše dole Current record 2/15, dakle uneo sam 15 imena.Kad se na navigation formu tabom prebacim na sledeći form, tamo mi piše Current record 1/4, jer sam te rezultate uneo samo za 4 od ovih 15 imena...Ja bi voleo da kad unesem ime&prezime, svi ostali formovi budu "uvezani" sa ovim prvim, pisalo u njima nešto ili ne... Ne znam dal' me kapiraš... Možda da žvajznem neki printscreen?

Link to comment
Aj' da preformulišem...Na prvom formu mi piše dole Current record 2/15, dakle uneo sam 15 imena.Kad se na navigation formu tabom prebacim na sledeći form, tamo mi piše Current record 1/4, jer sam te rezultate uneo samo za 4 od ovih 15 imena...Ja bi voleo da kad unesem ime&prezime, svi ostali formovi budu "uvezani" sa ovim prvim, pisalo u njima nešto ili ne... Ne znam dal' me kapiraš... Možda da žvajznem neki printscreen?
Ma kapiram ja tebe, al, konceptualno mi nije jasno...Znaš, nije meni problem (bar se nadam :) ) da ti objasnim kako da postaviš trigger na insert (ako to access ima, a izgleda da nema ima, pa ćemo nešto preko maske), samo ne vidim potrebu da imaš prazan slog... Zato te pitam, konceptualno, u čemu je štos imati prazne slogove? Ako tako radiš, mogao si da imaš samo jednu tabelu, sa svim rekordima i deset maski, gde ćeš unositi samo delove tabele... Ovako, u sušini nisi ništa pametnije uradio, od toga da imaš jednu tabelu, ako ćeš gurati prazne rekorde...
Link to comment

Na početku sam imao ideju da sve skrljam u jednu tabelu, ali sam vrrrrlo brzo (nisam definisao ni 10% polja) dobio property value is too large, i savet da sve te silne unose podelim u više tabela. OK, uradio.Ideja je da kad nađem ime na prvom formu, mogu kretanjem kroz tabove da pogledam odgovarajuće unose po drugim parametrima, bez da pravim queryje (imaću i tisuću queryja kasnije, kad unesem sve podatke).Dakle kad na prvom formu kliknem Next record, hoću da mi se i u ostalim tabovima podaci pozicioniraju na odgovarajući.Ako imam 15 imena, onda bi trebalo da imam i po 15 ostalih recorda u formovima, right?

Link to comment
Na početku sam imao ideju da sve skrljam u jednu tabelu, ali sam vrrrrlo brzo (nisam definisao ni 10% polja) dobio property value is too large, i savet da sve te silne unose podelim u više tabela. OK, uradio.Ideja je da kad nađem ime na prvom formu, mogu kretanjem kroz tabove da pogledam odgovarajuće unose po drugim parametrima, bez da pravim queryje (imaću i tisuću queryja kasnije, kad unesem sve podatke).Dakle kad na prvom formu kliknem Next record, hoću da mi se i u ostalim tabovima podaci pozicioniraju na odgovarajući.Ako imam 15 imena, onda bi trebalo da imam i po 15 ostalih recorda u formovima, right?
OK, idemo...Na prvoj formi nađi u property sheetu, sa desni strane FORM, pa zatim, nađi na tabu event After_update...Dodaj na njemu, event procedure, tipa CODE...Otvoriće ti se mesto da kucaš kod...Dodaj u rutinu ovo dole iz coda...ID je ono što imaš u toj formi kao ID(valjda je to kod tebe RB_protokola)ID_2 je ID druge tabele...I tako redom...

dim sqlCommand as string

sqlCommand="Insert into Table2(ID_2) values " & ID

DoCMD.RunSQL sqlCommand
sqlCommand="Insert into Table3(ID_3) values " & ID

DoCMD.RunSQL sqlCommand
.
.
.

Tako ćeš dodati nove rekorde u svaku tabelu, prazne, sa istim ID-jem, koje će se desiti pošto dodaš novi record...Ovo je jako uprošćena varijanta, trebao bi pre svakog inserta, kontrolisati da li ID već postoji u drugim tabelama (mislim, znam da ne postoji, ali nije zgoreg proveriti, jer budale su inventivne)... IMaš primer na predhodnoj strani, kako to možeš uraditi... Princip je isti...Isto treba uraditi i na eventu AfterdeleteConfirmation, ako imaš mogućnost brisanja rekorda, na prvoj masci... Samo, u kodu umesto insert, pišeš sql za delete WHERE ID_2=ID_obrisani. E da, morao bi u eventu beforedeleteconfirmation, zapamtiti ID, u neku globalnu promenljivu, ID_Obrisani... Jer kad ga obriše, onda ga više nema, pa ne može da ga obriše iz drugih tabela...Ako se ne snalaziš, piši...Nadam se da je to, to... Možda nisam nešto ubo 100%, ali imaš ideju, pa probaj... :)Da bi podesio da ti na ostalim formama ti se kreće zajedno sa kretanjem ID ja na osnovnoj, treba se igrati se eventima prve forme... Pa naći koji se dešava kada pređeš na novi rekord, pa postaviti na ostalim formama taj isti u njihov ID... Ili tako nekako,ovo poslednje pišem malo napamet... Možda access zna i sam da se kreće ako ima sve ID-jeve unete u povezane tabele...

Edited by radisa
Link to comment

Baš razmišljam o ovome: meni se u svim tabelama ID zove - ID. 'nači ne ID_table1, ID_table2 i tako dalje, nego se svi zovu isto: ID. Jel' tu zajeb u startu? Posle ću da idem dalje, samo da razjasnim ovo...

Link to comment
Baš razmišljam o ovome: meni se u svim tabelama ID zove - ID. 'nači ne ID_table1, ID_table2 i tako dalje, nego se svi zovu isto: ID. Jel' tu zajeb u startu? Posle ću da idem dalje, samo da razjasnim ovo...
Generalno je ne previše bitno... Može da se zove kako god hoće...Ja sam onako pisao da bude jednostavnije za praćenje... Edited by radisa
Link to comment

dim sqlCommand as string

sqlCommand="Insert into Mojatabela(ID) values " & ID

DoCMD.RunSQL sqlCommand

Aj' mi onda samo razjasni na gornjem primeru: ako mi se sva ID polja zovu ID, trebalo bi da umesto Table2, Table3 ... pišem ime tabele kako se zove kod mene, a (ID) ostaje svuda (ID)?Kuka mi: Syntax error in INSERT INTO statement.
Link to comment
Aj' mi onda samo razjasni na gornjem primeru: ako mi se sva ID polja zovu ID, trebalo bi da umesto Table2, Table3 ... pišem ime tabele kako se zove kod mene, a (ID) ostaje svuda (ID)?Kuka mi: Syntax error in INSERT INTO statement.
KOd sam pisao iz glave, kad sednem za komp koji ima access proverći da li ima negde greška...Za 15-ak, 20 minuta minuta...
Link to comment
KOd sam pisao iz glave, kad sednem za komp koji ima access proverći da li ima negde greška...Za 15-ak, 20 minuta minuta...
Bio brži od 20 minuta, setio se da imam remote desktop... :)Nedostaju zagrade oko drugog ID..

sqlCommand="Insert into Mojatabela(ID) values (" & ID & ")"


E da, pošto će smarati sa pitanjima, dodaj i ovo na početak i na kraj rutine

Docmd.setwarnings False
.
.
.
Docmd.setwarnings True

Edit: SetWarningS

Edited by radisa
Link to comment

Hm, sad sam shvatio da ja imam (i) problem na drugom nivou: čak i kada unesem sve podatke u sve forme, kretanje kroz Next record na prvoj formi me ne pomera na next record na ostalim formama (na prvoj formi odem na record 4, a na svim ostalim stojim na 1). Kako to da rešim? :isuse:

Link to comment
Hm, sad sam shvatio da ja imam (i) problem na drugom nivou: čak i kada unesem sve podatke u sve forme, kretanje kroz Next record na prvoj formi me ne pomera na next record na ostalim formama (na prvoj formi odem na record 4, a na svim ostalim stojim na 1). Kako to da rešim? :isuse:
Mislim da bi mogao da iskoristiš event onGotFocus na svakoj formi i lost fokus na prvoj...Napraviš globalnu promenljivu ID_main kojoj dodeliš, na lost focus na prvoj formi, id koji je tamo...I onda na ostalim na ongotfocus setuješ id
Sub Form_GotFocus() 
With Me.RecordsetClone .FindFirst "[ID] = " & ID_main 
	If Not .NoMatch Then
	Me.Bookmark = .Bookmark 
	End If 
End With 
End Sub

Skinuo ovo sa neta, odavde, i malo prilagodio, trebalo bi da radi... NIsam proveravao...

Edited by radisa
Link to comment
'Fala ti ko bratu, idem da pogledam malo, pa zatvaram radnju, bole me oči od fuckin' tabela...Kukaću sutra još, garanteka. :P
Ma, sve je ovo bozica jedna...Kad budeš radio sa nekom pravom bazom, pa da se raspištoljimo kao ljudi... :)Edit: ja sam tek večeras skontao da Access nema bazne trigere... Jes da sam znao da nije baš prava baza po mnogim stvarima, ali da nema trigere, ni na kraj pameti mi ne bi bilo... Čovek nauči i iz tuđih pitanja... Edited by radisa
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...