Centar za edukaciju-BiH



Warning: filesize(): stat failed for uploads/topics/ProbaMP.rar in /home2/icentarb/public_html/icentar/showtopic.php on line 406

#1 24.11.2011 11:56
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Pomoć oko procedure
Imam formu sa subformom koja služi za ispisivanje otpremnice. Da bih izbjegao mogućnost upisa količine koja je veća od stanja na skladiÅ¡tu u subformi na Text Box Quantity na onExit dodao sam proceduru koja provjerava stanje i upozorava ako je upisano stanje veće od stanja na skladiÅ¡tu.

S obzirom da u mom slučaju artikli sa istom Å¡ifrom mogu fizički biti na dva različita skladiÅ¡ta dodao sam i mogućnost da se provjeri da li ista Å¡ifra postoji i na drugom skladiÅ¡tu te da me obavijesti o tome. Ovo radi ako Å¡ifra postoji, ali ako je nema na drugom skladiÅ¡tu tada se javlja poruka ' INVALID USE OF NULL'

Problem je dio:
stanje_na_drugom_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
"[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")

Molim pomoć kako da ovo zaobiđem.
Hvala

PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Quantity_Exit(Cancel As Integer)
  2. On Error GoTo Err_Quantity_Exit
  3.  
  4. Dim stanje_na_skladistu As Integer
  5. Dim Kolicina As String
  6. Dim stanje_na_drugom_skladistu As Integer
  7.  
  8. stanje_na_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
  9. "[Skladiste]=forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  10.  
  11. Kolicina = DLookup("[Mjera]", "[Q_Stanje]", "[sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  12.  
  13. stanje_na_drugom_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
  14. "[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  15.  
  16. If (stanje_na_skladistu < Me.Kolicina) Then    'Provjera
  17.  
  18. MsgBox "Upisali ste koli inu koja je vea od zalihe!" _
  19. & vbCrLf & " " _
  20. & vbCrLf & "Na stanju ima " _
  21. & stanje_na_skladistu _
  22. & vbCrLf & " " _
  23. & vbCrLf & "Ali na drugom skladištu ima " _
  24. & stanje_na_drugom_skladistu _
  25. & " " & Kolicina, , "Prevelika koli ina!" 'Poruka o gresci
  26. 'Me.Sifra.SetFocus
  27. 'Me.Sifra.Text = "" 'Brisanje vrijednosti
  28.  
  29. End If
  30.  
  31. Exit_Quantity_Exit:
  32.     Exit Sub
  33. Err_Quantity_Exit:
  34.     MsgBox Error$
  35.     Resume Exit_Quantity_Exit
  36. End Sub

Pozdrav
↑  ↓

#2 24.11.2011 12:37
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Pomoć oko procedure
Posto si sve uradio necu nista reci nego samo zakrpaj.
on error resume next
stanje_na_drugom_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
"[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
if err.number=BrojGreskeKojaseJavlja then
err.clear
on error goto 0
stanje_na_drugom_skladistu =0
elseif err.nuber>0 then
MsgBox "Nekad druga greska" & vbcr "Ako je sve OK ovo nece nikad proraditi"
endif
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 24.11.2011 13:28
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Pomoć oko procedure
Hvala na brzom odgovoru. Do sada sam to isprobavao ali ne radi.
Greška koja mi se javnja be daje mi broj greške Err_Number

Evo Å¡aljem primjer

Prilozi:
Informacije o tipu datoteke za:rar  ProbaMP.rar
Preuzimanja:9
Velicina datoteke: Bajt


Pozdrav
↑  ↓

#4 24.11.2011 17:09
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Pomoć oko procedure
hehe ti prekopirao moj kod a ja direktno kucao na forumu pa napisao err.nuber
Evo ti samo sam ispravio.
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Quantity_Exit(Cancel As Integer)
  2. On Error GoTo Err_Quantity
  3.  
  4. Dim stanje_na_skladistu As Integer
  5. Dim Kolicina As String
  6. Dim stanje_na_drugom_skladistu As Integer
  7. stanje_na_drugom_skladistu = 0
  8. stanje_na_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
  9. "[Skladiste]=forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  10.  
  11. Kolicina = DLookup("[Mjera]", "[Q_Stanje]", "[sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  12.  
  13. On Error Resume Next
  14. stanje_na_drugom_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
  15. "[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")
  16.  
  17. If Err.Number = 94 Then
  18. Err.Clear
  19. On Error GoTo 0
  20. stanje_na_drugom_skladistu = 0
  21. ElseIf Err.Number > 0 Then
  22. MsgBox "Nekad druga greska" & Err.Number & vbCr '"Ako je sve OK ovo nece nikad proraditi"
  23. End If
  24. If stanje_na_skladistu < Me.Kolicina And stanje_na_drugom_skladistu > 0 Then   'Provjera
  25.  
  26. MsgBox "Upisali ste koli
  27. inu koja je vea od zalihe!" _
  28. & vbCrLf & " " _
  29. & vbCrLf & "Na stanju ima " _
  30. & stanje_na_skladistu _
  31. & vbCrLf & " " _
  32. & vbCrLf & "Ali na drugom skladištu ima " _
  33. & stanje_na_drugom_skladistu _
  34. & " " & Kolicina, , "Prevelika koli
  35. ina!" 'Poruka o gresci
  36. 'Me.Sifra.SetFocus
  37. 'Me.Sifra.Text = "" 'Brisanje vrijednosti
  38. ElseIf stanje_na_skladistu < Me.Kolicina Then
  39. MsgBox "Upisali ste koli
  40. inu koja je vea od zalihe!" _
  41. & vbCrLf & " " _
  42. & vbCrLf & "Na stanju ima " _
  43. & stanje_na_skladistu _
  44. & vbCrLf & " " _
  45. & vbCrLf & "Ni na drugom skladisštu nema"
  46. End If
  47.  
  48. Exit_Quantity_Exit:
  49.     Exit Sub
  50.    
  51. Err_Quantity:
  52. MsgBox "Greška broj " & Err.Number & vbclrf & Err.Description
  53. 'Err_Quantity_Exit:
  54.    'MsgBox Error$
  55.    Resume Exit_Quantity_Exit
  56. End Sub

Nisam gledao kako si stanje napravio ali bi bilo interesantno sta bi bilo kada imas vise od 2 skladista.
Hehe onda ovo bas nebi islo.
Ako je takvo stanje javi.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 25.11.2011 07:29
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Pomoć oko procedure
Nažalost joÅ¡ neće. Stalno ista greÅ¡ka "Invalid use of null"

A Å¡to se tiće skladiÅ¡a, ima ih u mom slučaju samo dva na kojem se mogu pojavljivati isti artikli.

Prilozi:
Informacije o tipu datoteke za:rar  ProbaMP_2.rar
Preuzimanja:349
Velicina datoteke:75.85 KB


Pozdrav
↑  ↓

#6 25.11.2011 09:26
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Pomoć oko procedure
Uspio sam riješiti problem.

***dodao sam ovu provjeru***

If Not IsNull (DLookup("[Stanje]", "[Q_Stanje]", _
"[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")) Then

stanje_na_drugom_skladistu = DLookup("[Stanje]", "[Q_Stanje]", _
"[Skladiste] Not Like forms![frmOtpremnica].[Skladiste] And [sifra] = forms![frmOtpremnica]![frmOtpremnicaSub].form!Sifra")

MsgBox " Prva poruka"

Else

MsgBox "Druga Poruka"

End If
Pozdrav
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 1: 38 am.