Prikazi cijelu temu 08.02.2015 12:56
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Kumulativni zbir u Access 2007
@Gjoreski ti je dobro rekao polje saldo ti netreba jer to polje je rezultat polja duguje i potrazuje i to mozes rijesiti sa sql-om kao i minus odnosno negativno u polju potrazuje.
Dovoljno je samo u sql-u polje potrazuje pomnoziti sa -1 ali u ovom slucaju ni to netreba.

Evo rjesenje sa SQL-om
Samo ovaj SQL kopiraj u neki Query.
Ovo ti moze stojati i u bazi
PreuzmiIzvorni kôd (SQL):
  1. SELECT T.ID, T.Datum, nz([duguje],0)-nz([Potrazuje],0) AS SaldoQ, (SELECT SUM(  nz(Bingo.duguje,0) -nz(Bingo.potrazuje,0)) AS Saldo
  2. FROM Bingo
  3. WHERE Bingo.ID<=T.ID) AS Total
  4. FROM Bingo AS T;

Ako ti ovo bude sporo radilo onda ces morati raditi sve na strani Vb6 jer ima kod.
Znaci ne u bazi i morat ces prepraviti db konekciju odnosno setovanje u ovom kodu.

SQL:
PreuzmiIzvorni kôd (SQL):
  1. SELECT Bingo.ID, Bingo.Datum, nz([Potrazuje],0) AS PotrazujeQ, nz([duguje],0) AS DugujeQ, Format([dugujeq]-[potrazujeq],"0.00") AS SaldoQ, TotalX([ID]) AS Kumulativno
  2. FROM Bingo;

a ovaj kod ide u neki modul:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function TotalX(ID As Long)
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim SQl As String
  5. Dim Nalog As Integer
  6.  
  7. On Error Resume Next
  8. Set Db = CurrentDb
  9. SQl = "SELECT Sum(SaldoQ) AS T " _
  10. & "FROM Q_Kumulativno " _
  11. & "WHERE ID<=" & ID
  12.  
  13. 'identifikaciono polje ID
  14. Set Rs = Db.OpenRecordset(SQl)
  15. TotalX = Format(Rs!T, "0.00")
  16. Rs.Close
  17. End Function

Ako budes moraom raditi na ovaj drugi nacin najvjerovatnije ces morati opet doci po pomoc ali tada postavi pitanje u vb6.
Mozes ovo sve staviti i u tvoju bazu i ono ce raditi na racunarima gdje ima access ali ako ga nema nece.
Zato bi sve trebalo da ide u vb6.
Baza je onda samo baza.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.