Branestan | 06.06.2012 09:43 |
---|---|
Predmet:Kako prekinuti izvrÅ¡avanje naredbe? Možda ste već opisivali ovaj problem ali ja nisam nigdje uspio pronaći, pa ću otvoriti novu temu. Imam polje "Kol" u koje unosim količinu robe koju želim prodati. Napisao sam proceduru koja mi vraća raspoloživo stanje odabranog artikla, zatim to stanje uporedim sa količinom koju sam upisao. U slučaju da sam upisao veću količinu od one koja je raspoloživa, vraća mi poruku da smanjim količinu za razliku između zadate količine i stvarnog stanja. Taj dio mi dobro funkcioniÅ¡e, sad mi je potrebno da dodam dio koji će, u slučaju kada je upisana količina veća od raspoložive, nakon poruke o pogreÅ¡no upisanoj količini prekinuti izvrÅ¡avanje naredbe, količinu vratiti na nulu i zadržati fokus na polju "Kol". Private Sub Kol_BeforeUpdate(Cancel As Integer) Dim a As Integer Dim b As Double Dim c As Double a = Me.Izlaz1_Art b = SaldoPozitivno(a) c = Kol - b If Kol > b Then MsgBox ("Smanji količinu za" & " " & c) End If End Sub Molim vas za pomoć. Samo me malo uputite, a ja ću doći do rjeÅ¡enja. Kako na forumu postavljate procedure i ostale naredbe da je moguć download? |
Gjoreski | 06.06.2012 11:58 |
---|---|
Predmet:Re: Kako prekinuti izvrÅ¡avanje naredbe? If Kol > b Then MsgBox ("Smanji količinu za" & " " & c) me.Kol=0 Me.Izlaz1_Art.setfocus 'ovde dodadi nekoe pole na koe moze da se ima focus Me.kol.setfocus End If |
Branestan | 06.06.2012 12:47 |
---|---|
Predmet:Re: Kako prekinuti izvrÅ¡avanje naredbe? Već sam pokuÅ¡avao neÅ¡to slično. Međutim, poÅ¡to je događaj BeforeUpdate u pitanju, odmah mi dio ME.Kol=0 izbacuje kao greÅ¡ku. Kada umjesto BeforeUpdate koristim AfterUpdate i primijenim gore navedeno tada mi količinu vrati na nulu ali fokus se ne zadrži na polju Kol nego se pomjeri na sledeće polje. |
pmiroslav | 06.06.2012 14:09 |
---|---|
Predmet:Re: Kako prekinuti izvrÅ¡avanje naredbe? Moželi li poslati neki primjer možda će biti lakÅ¡e. ili probaj ovako ali After update If (Kol < b) Then MsgBox "Upisali ste količinu koja je veča od zalihe!" Me.Recordset.Delete End If |
Gjoreski | 06.06.2012 14:12 |
---|---|
Predmet:Re: Kako prekinuti izvršavanje naredbe? pred da ja azuriras kolicinata prvo prefrli go fokusot na drugo pole azuriraj ja kolicinata i vrati go fokusot na poleto stavi ja celata slucka na after update |
zxz | 06.06.2012 14:25 |
---|---|
Predmet:Re: Kako prekinuti izvrÅ¡avanje naredbe? PreuzmiIzvorni kôd (Visual Basic):
Citat: Slektujes kod pa na opciju u meniju kod te odaberes kod koji zelis (vb, PHP SQL idt..) Kako na forumu postavljate procedure i ostale naredbe da je moguć download? |
Branestan | 08.06.2012 11:03 |
---|---|
Predmet:Re: Kako prekinuti izvrÅ¡avanje naredbe? Elegantno rjeÅ¡enje, nema Å¡ta. Hvala! Postoji li mogućnost da se polje "Kol" zaključa nakon Å¡to ga napustim, ali samo to polje, ne čitava kolona "Kol"? Ono Å¡to sam ja pokuÅ¡avao zaključa mi cijelu kolonu, pa ne mogu vrÅ¡iti unos u sledećem redu. Ovo pitam zbog sledećeg: Kada unosim količinu za određeni artikal, sve funkcioniÅ¡e uredno. Prijeđem na sledeće polje (u istom redu), ako ima potrebe da korigujem upisanu količinu vratim fokus na polje "Kol" i upiÅ¡em novu količinu. Međutim, kada prijeđem u sledeći red, u tabelama iz kojih vraćam raspoloživo stanje neke robe ažurira se prethodni red, nove su količine u pitanju. To nema veze sa novim redom, ali ako se desi slučaj da je potrebno da se vratim u prethodni red i promijenim količinu, tada se deÅ¡ava problem. PoÅ¡to su nove količine ažurirane, sa lagera mogu skinuti samo preostali iznos (ako je neÅ¡to ostalo) ili nula komada ako sam prethodni puta upisao količinu koja je jednaka raspoloživom stanju. Ovo nije problem ako ja radim sa bazom ali poÅ¡to će obično neko drugi raditi vjervatno će biti problema. Konkretno: 1 red raspoloživo=5kom upisao Kol=4kom nakon ažuriranja stanje=1kom prelaskom u sledeći red stanje se ažurira iz nekog razloga vraćam se u prvi red da promijenim količinu koju sam ranije upisao, umjesto 5 kom treba biti 4 kom. kad upiÅ¡em novu količinu i napuÅ¡tam polje izbaci mi poruku da smanjim količinu za 3 kom jer sada vidi da na stanju ima samo jedan komad. Ima li nekakvo rjeÅ¡enje za ovaj problem ili sam pogrijeÅ¡io negdje ranije pri određivanju relacija? |
zxz | 08.06.2012 21:05 |
---|---|
Predmet:Re: Kako prekinuti izvršavanje naredbe? Imas ti tu par nacina. Prvi je da kucas u to polje napr -3 ili pak da napravis napr. nakon 2 ili 3 pokusaja da te pusti da upises. Moze se i napraviti procedura koja bi unijela u bazu 0 komada za taj artikl pa ponovo preracunati. Pitanje je samo sta poslodavac trazi jer uglavnom kada se dese takve stvari vecina poslodavaca neda to da korisnici popravljaju radi kradje, nego samo jave sefu da je pogresno. |