[ brko @ 13.01.2015. 19:14 ] @
Molio bih nekoga da pomogne.
U subformi imam dva polja (sa istim imenima u tablici tbl.analiticar i tbl.analiticar1)
polje: Analitičar
i
polje: Analitičar1

Radi se o istim radnicima ( Analitičar i Analitičar1 ) koji su upisani u combo box ali se ne smije pojaviti ista osoba kao Analitičar i Analitičar1.

npr. u polje Analiticar izaberem Pero Petrović u slijedećem polju Analiticar1 ne smijem izabrati Pero Petrović.

Hvala za pomoć
[ SLOJ.1973 @ 14.01.2015. 10:29 ] @
Ako moze primer bilo bi dobro.Ovako mi se sve cini da relacije nisu postavljene kako treba.Mozda gresim.Najbolje okacite primer.
[ blingaro @ 14.01.2015. 16:18 ] @
Ja bih takođe rekao da sa relacijama nešto ne štima. Ali, da ostavim to po strani.
Odradio sam nešto na brzaka. Nije subforma, nego forma, ali je princip isti. Imaš dve forme (dva rešenja): "Saradnici" i "SaradniciDrugaVarijanta". Kod ove prve je malo komplikovanije rešenje (koristi 3 kverija, jednu tmp tabelu i ima malo koda), dok ova druga koristi samo jedan kveri kao row source za polje "cbRadnik2". Probao sam i radi (osim ako se ne pojave neki gremlini). Vidi da li ti ovo moje može pomoći ili neko od forumaša ima neko drugo rešenje.
[ brko @ 14.01.2015. 18:16 ] @
blingaro,hvala na pomoći

Možda nisam dobro objasnio.
U combo boxu Analiticar i Analiticar1 su isti radnici, ali kad im dodijelim predmet onda izabrem koji će raditi analizu ( Analiticar ) i analizu1 ( Analiticar1 ).
Ne mogu biti Analiticar i Analiticar1 ista osoba. Ne smijem iz combo boxa uzeti iste radnike.

primjer upisani su radnici

Analiticar
1. Pero Petrović
2. Marko Marković
3.
4.
5.
6.


Analiticar2
1. Pero Petrović
2. Marko Marković
3.
4.
5.
6.


npr.

Predmet "Registrator10" dodielim Analiticaru ( Pero Petrović ) i Analiticaru1 ( Marko Marković )
Pravilo: Ne smije ista osoba biti Analiticar i Analiticar1

Znači trebalo bi napisati code kad se upiše Analitičar i Analiticar1 ista osoba da javi poruku " Izabrali te iste radnike. Izaberite drugog Analiticara ili Analiticara1"


Hvala na pomoći
[ nenadmarkoni @ 14.01.2015. 20:04 ] @
Ne znamo kako su postavljene relacije i tabele, ali bi trebalo nešta poput ovoga da bude.
[ Zidar @ 14.01.2015. 20:07 ] @
Ne treba nikakve akrobacije sa dodatnim tabelama i kodom. Ovo je slucaj kad imate dve kolone u tabeli i ne dozvoljavate da one imaju istu vrednost. Odakle dolaze podaci nema veze, najprostiji combo box koji ukazuje na izvor podataka je sasvim dovoljan za oba polja na formi ili subformi.

Resenje: validation rule na nivou tabele, koje kaze [Analiticar1] <> [Analiticar2], validation text = " Izabrali te iste radnike. Izaberite drugog Analiticara ili Analiticara1"

Postupak:
1) Otvoriti tabelu u design modu
2) Pozvati Properties za tabelu
3) U Validation Rule upisati (sa sve uglastim zagradama): [Analiticar1] <> [Analiticar2]
4) U validation text upisati (bez navodnika): Izabrali te iste radnike. Izaberite drugog Analiticara ili Analiticara1

Evo primer kao se radi (blingaro):




[ nenadmarkoni @ 14.01.2015. 20:35 ] @
U primjeru koji sam ja dao trebalo je još jedno ograničenje u indeksima, jer je mogao jedan predmet više puta da se dodjeli sa različitim analitičarem i analitičarem_1 i tako koliko god ima Analitičara. Evo izmjenjeno. Uveo sam još jedan Unique index- PredmetID u tabelu PredmetAnalitičar
[ Zidar @ 14.01.2015. 20:57 ] @
Jos jedno odlicno nenadovo zapazenje. Zahvaljujem.

Sve u svemu, i dalje vazi Zidareva teorema: "The best code is no code at all"
[ brko @ 15.01.2015. 05:35 ] @
Odlično.
Zahvaljujem se na rješenju.