Zakacio sam fajl sa resenjem. Umesto da radis UPDATE, predlazem da nanovo napravis tabelu PROCESOP. Dao sam ti skup kverija koji dovode do nove tabele PROCESOP, nazvao sam je PROCESOP_ISPRAVAN .
Ovo su novi kveriji:
- qryKTO_2_RMJ_2_Next_OP = pokazuje sledeci RB_Operacije za posmatrani proizvod, osnova za sve ostalo
- qryKakoBiTrebalo = pokazuje kako bi trebalo da izgleda deo tabele PROCESOP za operacije koje imaju vise od jednog koraka
- PROCESOP_ISPRAVAN = ovo bi trebalo da postane make-table quey i da ta nova tabela zameni porojeci PROCESOP
Dva kverija koji dokazuu da PROCESOP ima 663 greske a d je PROCESOP_ISPRAVAN zaista OK :
- qryKakoBiTrebalo_i_PROCESOP => daje 663 rekorda. Kveri qryProvjera (qryProvjera WHERE zbir one dve kolone na kraju nije nula) daje 664 pogresna rekorda. Razlika je Operacija 39378, koja je ispravana, ali ne valja rekord pre nje, kojme nedostaje RAD_MJE_2, a ima ga u sledecem rekordu. Ovo kazuje da tabeli PROCESOP nedostaju Required properties za polja. Bas svako polje mora da ima Required= YES, da ne bi dolazilo do ovakvih gresaka.
- qryKakoBiTrebalo_i_PROCESOP_ISPRAVAN => ne vraca ni jedan rekord, jer su svi u redu. Ovo je malo pogresno, jer ne vidi onaj jedan koji qryProvjera vidi, to je zbog NULL. Je podsvesno en racunam sa NULL jer ih ne ocekujem, posto uvek postavim Required = Yes gde treba, bar se trudim.
U svakom slucaju, tvoj kveri qryProvjera radi potpuno OK, bolje nego moji kveriji - hvata vise gresaka. Mozes ga iskoristiti da sprecis los unos. Kad jednom ocistis tabelu od gresaka, ovaj Dcount mozes da stavis u BeforeUpdate na formi kroz koju unisi podatke u PROCESOP i to bi trebalo da spreci los unos:
IF dcount("id","qryProvjera","[Pogresni_KTO]+[Pogresno_RM]> 0") > 0 Cancel = TRUE
Evo, na kraju sam prrimetio, imas cak 10 rekorda gde RAD_MJE_2 ima NULL vrednost, a ne bi smelo. Popuni NULL vrednosti sa n/a ili sta vec treba da bude tamo, pa onda ponovi sve provere. NULL vrednosti mogu da uzrokuju da kveriji vracaju pogresan rezultat (kao sto se desilo mom kveriju, a izgleda i tvom, jer ima jos gresaka koje nismo videli)
Eto.