Bosna i Hercegovina



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

#1 24.11.2011-11:56
pmiroslav Offline
Moderator
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,339


Subject: 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

DownloadIzvorni kod (vb.net):
  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
  19. inu koja je vea od zalihe!" _
  20. & vbCrLf & " " _
  21. & vbCrLf & "Na stanju ima " _
  22. & stanje_na_skladistu _
  23. & vbCrLf & " " _
  24. & vbCrLf & "Ali na drugom skladištu ima " _
  25. & stanje_na_drugom_skladistu _
  26. & " " & Kolicina, , "Prevelika koli
  27. ina!" 'Poruka o gresci
  28. 'Me.Sifra.SetFocus
  29. 'Me.Sifra.Text = "" 'Brisanje vrijednosti
  30.  
  31. End If
  32.  
  33. Exit_Quantity_Exit:
  34.     Exit Sub
  35. Err_Quantity_Exit:
  36.     MsgBox Error$
  37.     Resume Exit_Quantity_Exit
  38. End Sub

Pozdrav
↑  ↓

#2 24.11.2011-12:37
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,547


Subject: 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
Pozdrav
↑  ↓

#3 24.11.2011-13:28
pmiroslav Offline
Moderator
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,339


Subject: 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 fajlu: rar  ProbaMP.rar
Preuzimanja: 9
Veličina: Byte


Pozdrav
↑  ↓

#4 24.11.2011-17:09
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,547


Subject: Re: Pomoć oko procedure
hehe ti prekopirao moj kod a ja direktno kucao na forumu pa napisao err.nuber
Evo ti samo sam ispravio.
DownloadIzvorni kod (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.
Pozdrav
↑  ↓

#5 25.11.2011-07:29
pmiroslav Offline
Moderator
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,339


Subject: 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 fajlu: rar  ProbaMP_2.rar
Preuzimanja: 53
Veličina: 75.85 KB


Pozdrav
↑  ↓

#6 25.11.2011-09:26
pmiroslav Offline
Moderator
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,339


Ocjena: Ocjena:100 Subject: 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


All times are GMT +01:00. Current time: 23.01.2018-03:22.