Prikazi cijelu temu 22.03.2012 19:00
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Pregled stanja
Evo SQL Za Query kojem treba dati ime Q.
PreuzmiIzvorni kôd (SQL):
  1. SELECT tblStavke.NSN, SUM(IIf([vrdoc]="1",[klc],[klc]*(-1))) AS Stanje
  2. FROM tblDoc INNER JOIN tblStavke ON tblDoc.BrD = tblStavke.BrD
  3. GROUP BY tblStavke.NSN;

Na subformu dodaj dva polja:
Jedno polje combo sa imenom Stanje.
U rowsource comba stavi ime ovog Querya odnosno Q.
Colmncoun: 2
Controlsource:NSN
Visible= no

Drugo polje je tekstualno i nka se zove StanjeP:
Za njega viise nista netrebas namijestati.

Evo ti kod koji trebas stqaviti u modul subforme:
PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3. Dim Vr As Single
  4.  
  5. Private Sub Form_Current()
  6. Dim KlcStanje
  7.  
  8. Me.Stanje.RowSource = Me.Stanje.RowSource
  9. KlcStanje = Me.Klc
  10. If Format$(KlcStanje) = "" Then
  11. Vr = 0
  12. Else
  13. Vr = Val(KlcStanje)
  14. End If
  15. Me.StanjeT = Me.Stanje.Column(1)
  16. End Sub
  17.  
  18. Private Sub Klc_AfterUpdate()
  19. Dim StanjeAf
  20. Dim StanjeQ As Single
  21. Dim StanjeT As Single
  22. Dim K
  23. Dim P As Single
  24.  
  25. StanjeAf = Me.Klc
  26. If Format$(StanjeAf) = "" Then GoTo Kraj
  27. StanjeQ = Me.Stanje.Column(1)
  28.  
  29. K = Forms![frm_Doc]![vrdoc]
  30. If Format$(K) = "" Then GoTo Kraj
  31. If Val(K) = 1 Then
  32. P = 1
  33. Else
  34. P = (-1)
  35. End If
  36.  
  37. StanjeT = Vr - StanjeAf
  38. StanjeT = StanjeQ - (StanjeT * P)
  39. Me.StanjeT = StanjeT
  40. Izlaz:
  41. Exit Sub
  42. Kraj:
  43. Me.StanjeT = 0
  44. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.