Bosna i Hercegovina



#1 07.02.2015-14:56
Carpenter Offline
Clan
Registrovan/a od: 06.02.2015-23:55
Komentari: 12


Subject: Kumulativni zbir u Access 2007
Pozdrav,

Kako da u Accessu 2007 napravim kumulativni niz tako da mi vrijednost iz zadnjeg upisa kolone "Saldo" sabere sa novim upisom iz kolone "Duguje" ili od zadnjeg upisa kolone "Saldo" oduzme vrijednost novog upisa kolone "Potrazuje" i upise vrijednos "Saldo" u tu novu liniju.Nadam se da nisam zakomplikovao pitanje.


Duguje Potrazuje Saldo
100
50 150
20 170
30 140
40 20 160
↑  ↓

#2 07.02.2015-15:05
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,541


Subject: Re: Kumulativni zbir u Access 2007
Ova e tema za vb a se odnesuva na Access.
E sega jas imam edno podprasajna vo vrska so tvoeto prasajne.
1 Dali operacijata ja pravis vo Query , na forma , report ili vo nekoja funkcija.

postapki ima razni i normalno deka e izvedlivo samo ti moras da ni dades poveke informacii dokolku sakas da t se pomogne.
Na primer kako se vika tabelata ili tabelite od koi gi vadis informaciite,nazivi na polijnata vo koi se smesteni podatocite ,tipot na podatokot dali e integer , decimal, dooble i najvazno kade sakas da gi prikazes podatocite na report ,na forma, na subforma,grid .
↑  ↓

#3 07.02.2015-15:33
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,813


Subject: Re: Kumulativni zbir u Access 2007
Moze se rijesiti Query-em ali ako imas puno podataka to poprilicno sporo radi.
Primjer imas ovdje:
http://www.icentar.ba/...umulativno
Ako se to kodom napravi onda radi mnogo brze:
DownloadIzvorni kod (Visual Basic):
  1. Function TotalX(ID As Long)
  2. '*******************************************
  3. 'Ime:      TotalX   (Function)
  4. 'Sadržaj:  Funkcija vezana za Upit Q_Promet
  5. 'Autor:     ZXZ
  6. 'Datum:      listopad 03, 2007, 04:36:51
  7. 'Adresa: Tuzla BiH
  8. 'Email:     izonic@inet.ba
  9. 'Ulazni parametri:Šifra
  10. 'Izlazni parametri:Težina
  11. '*******************************************
  12.  
  13. Dim Rs As Recordset
  14. Dim SQl As String
  15. Dim Nalog As Integer
  16.  
  17. 'On Error Resume Next
  18. SQl = "SELECT Sum(ImePoljaKumulative) AS T " _
  19.       & "FROM Promet " _
  20.       & "WHERE ImeIDPolja<=" & ID
  21. 'identifikaciono polje ID
  22. Set Rs = Util.db.OpenRecordset(SQl)
  23. TotalX = Format(Rs!T, "0.00")
  24. Rs.Close
  25. End Function

E sad sta je sta i kako se poziva.
Ova precedura se kaci na Query odnosno SQL.
Pretpostavimo da se tvoje tabela zove promet i da ima polje(Identifikaciono) PrometID autonumber. i ostala ova polja koja si naveo:
SQL bi izgledao ovako:
DownloadIzvorni kod (SQL):
  1. SELECT PrometID,datum,Duguje,Potrazuje,Saldo,TotalX([PrometID]) AS Kumulativno
  2. FROM PROMET
  3. WHERE PrometID=ID

Ako ne bude islo zakaci svoj primjer.
Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 07.02.2015-15:37 od strane zxz. ↑  ↓

#4 07.02.2015-15:57
Carpenter Offline
Clan
Registrovan/a od: 06.02.2015-23:55
Komentari: 12


Subject: Re: Kumulativni zbir u Access 2007
Pozdrav,

Pokusao sam zakaciti moj mdb u zip-u ali mi javlja da vec postoji i nudi brisanje.Mijenjao sam ime fajla barem 20 puta i na koncu odustao.Hajde da Vas zamolim da kreirate jednu bazu sa tebelom u kojoj imaju kolone "Datum" "Duguje" "Potrazuje" i "Saldo" sa odradjenim upitom pa bi se valjda mogao snaci. Koliko je to mnogo podataka neznam ali bilo bi tokom godine oko 150 upisa u koloni Duguje i oko 100 upisa u koloni Potrazuje. Nalazio sam dosta objasnjenja oko kumulativnog zbira ali ne mogu da skontam. Nesto slicno sam rijesio u jednoj tabeli tako sto u VB 6 ucitam zadnji upis u text polje, kodom saberem ili oduzmem i snimim kao novi upis i to fercera ali nisam uslovljen nicim.Ali u ovom slucaju mi mora sortirati po datumu te ce mi se desiti ako unosim neki podatak od prije par dana doci ce do zbrke.
↑  ↓

#5 07.02.2015-18:59
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,813


Subject: Re: Kumulativni zbir u Access 2007
Nije problem napraviti primjer ali sta za u buduce.
Na linku ispod imas opisano kako se kaci file i ako ne uspijes opet se javi.
http://www.icentar.ba/...e=1#p20017
Pozdrav
↑  ↓

#6 08.02.2015-01:32
Carpenter Offline
Clan
Registrovan/a od: 06.02.2015-23:55
Komentari: 12


Subject: Re: Kumulativni zbir u Access 2007
Pozdrav,

Hvala na trudu ali i dalje ne mogu za prikacim file.Pokusavao sam i sliku ekrana u jpg formatu ali ne dozvoljava. kada izaberem file i potvrdim odbrojava prijenos u procentima, cekanje http://www.icentar.ba i daje mi podebljano Vec postoji!, ime file i velicina file i samo mi nudi "obrisati"

Prilozi:
Informacije o fajlu: zip  Faktura1.zip
Preuzimanja: 78
Veličina: 263.45 KB

↑  ↓

#7 08.02.2015-09:25
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,813


Subject: Re: Kumulativni zbir u Access 2007
Hehe pa evo zakacio si file.
sdamo ako ti se nije desilo ono sto se meni cesto desi a to je da uradim nesto ali ne znam kako sam to uradio.
Pozdrav
↑  ↓

#8 08.02.2015-09:32
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,813


Subject: Re: Kumulativni zbir u Access 2007
Dobro je sto si ovo zakacio u nizoj verziji accessa ali ovdje niti u jednoj tabeli ne postoje polja duguje, potrazuje i saldo kao sto si na pocetku naveo.
Napisi nam ime polja koje hoces da imas i kumulatvno sabrano.
Pozdrav
↑  ↓

#9 08.02.2015-10:55
Carpenter Offline
Clan
Registrovan/a od: 06.02.2015-23:55
Komentari: 12


Subject: Re: Kumulativni zbir u Access 2007
Dobro jutro,

Uspio sam zakaciti.Ako sam dobro skontao problem je bio sto sam mislio da onaj komentar "Vec postoji" daje zbog toga sto kod Vas postoji neki fajl pod tim imenom i ja sam zatvarao prozor.
U tabeli Bingo imaju polja "Duguje" , "Potrazuje" , "Saldo" (izmedju ostalih). Sva polja osim "Saldo" popunjavam iz VB 6 koristeci ADO kontrolu. E sad trebalo bi da npr. vrijednost iz polja "Saldo" iz reda 2 da sabere sa vrijednoscu polja "Duguje" iz reda 3 i rezultat da snimi u polje "Saldo" u redu 3 i da ako ima unos u polju "Potrazuje" da tu vrijednost oduzme. Nasao sam primjera sa sabiranjem DSum ali nisam nasao sa oduzimanjem. Ako je to problem onda cu ja kodom iz VB 6 vrijednost polja "Potrazuje" promijeniti u negativnu sa predznakom minus.
Pokusavao sa uputama sa neta (Saldo: Format(DSum("Duguje","Bingo"...)ali mi poslije Run daje komentar da je greska u zarezu i kursor se postavi na zarez izmedju Duguje i Bingo.
Oprostite sto sam ovdje postavio pitanje iz oblasti Accessa, mislio sam postaviti pitanje iz VB 6 ali sam razmisljao o ovom problemu i jednostavno ne razmisljajuci odlutao i postavio ovo pitanje
↑  ↓

#10 08.02.2015-11:42
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,541


Subject: Re: Kumulativni zbir u Access 2007
Eve vidi dali e ova toa .
Ima i drugi nacini no kaj tebe bidejki se loso konstruirani tabelite mora vaka

Prilozi:
Informacije o fajlu: rar  prGj.rar
Preuzimanja: 74
Veličina: 53.97 KB

↑  ↓

#11 08.02.2015-11:50
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,541


Subject: Re: Kumulativni zbir u Access 2007
Sega go vidov postov a jas veke ti napraviv kako treba toa vo Access bidejki imase napisano deka se raboti za Access 2007.
Ako e VB6 togas e druga prikazna.
Kolku sto te razbrav ti sakas saldoto da go cuvas vo tabelata bingo , no moja sugestija ti e da ne pravis taka bidejki Saldo e izvedena brojka od dolzi i pobaruva i sekogas ke imas problemi ako nekoj vnesi nekoj podatok so postar datum i togas ti ke moras sve od toj datum pa nataka da menuvas.
Najdobro e da se napravi funkcija koja ke ti go presmetuva saldoto.
E sega mora uste malku da objasnis :
Dali ova go prikazuvas vo grid ili na nekoj izvestaj datareport ili cristal report?
↑  ↓

#12 08.02.2015-12:56
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,813


Subject: 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
DownloadIzvorni kod (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:
DownloadIzvorni kod (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:
DownloadIzvorni kod (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.
Pozdrav
↑  ↓

#13 08.02.2015-15:05
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,376


Subject: Re: Kumulativni zbir u Access 2007
Da li možda ovo nije jedan od situacija kada se od šume ne vidi drvo.
Ovo bi trebalo bit jednostavno
Saldo = Sum (Ulaz)-Sum(izlaz)
Pozdrav
↑  ↓

#14 08.02.2015-15:07
Carpenter Offline
Clan
Registrovan/a od: 06.02.2015-23:55
Komentari: 12


Subject: Re: Kumulativni zbir u Access 2007
Hvala na odgovoru.

Ja sam planirao da to ide u raport koji bi pozivao iz VB 6:

Set appAccess = CreateObject("Access.application")
appAccess.OpenCurrentDatabase ("C:\Bio Pool\Faktura1.mdb")
appAccess.DoCmd.OpenReport "RptBingo", acViewPreview
appAccess.Visible = True

i onda ga printao
evo ponovo baza sa query i raportom
mozda bi bilo bolje kodom iz VB jer imam i jedno pitanje za VB pa cu ga postaviti ub VB

Prilozi:
Informacije o fajlu: zip  Faktura1.zip
Preuzimanja: 67
Veličina: 281.78 KB

↑  ↓

#15 08.02.2015-15:10
kenan Offline
Clan
Registrovan/a od: 10.02.2011-15:24
Komentari: 190


Subject: Re: Kumulativni zbir u Access 2007
vidili ko gdje je ovdje greška

zapne na komandi IF

Private Sub Command6_Click()
Dim ag, ag1, ng, ng1, ng2, NG3, OP As String
Dim P, K, K1, PD, KD As Date

P = "01.01." & Me.Text4.Column(1) & "."
K = "30.06." & Me.Text4.Column(1) & "."
K1 = "31.12." & Me.Text4.Column(1) & "."
ng = "aktiv.godina = '" & Me.Text4.Column(1) & "'"
ng1 = "period.godina = " & Me.Text4.Column(1) & ""
ng2 = "aktiv.firma = '" & Me.Text4.Column(2) & "'"
NG3 = "period.firmaID = '" & Me.Text4.Column(2) & "'"
OP = "period.ObracinskiPeriod = '" & Me.Text4.Column(4) & "'"
PD = "period.Pdatum = " & P
If Me.Text4.Column(4) = "periodicni" Then
KD = "period.Kdatum = " & K
ElseIf Me.Text4.Column(4) = "GODISNJI" Then
KD = "period.Kdatum = " & K
End If

DoCmd.RunSQL "UPDATE period SET period.aktiv = false;" 'poništi aktivni period
DoCmd.RunSQL "UPDATE aktiv SET " & ng & " WHERE (((aktiv.aktivan)=True));" 'NOVI UPIS PERIODA U AKTIV
DoCmd.RunSQL "UPDATE period SET period.aktiv = True, " & NG3 & " WHERE " & ng1 & ";" 'upis aktivne firme u period
DoCmd.RunSQL "UPDATE aktiv SET " & ng2 & " WHERE (((aktiv.aktivan)=True));" 'u aktiv upisi aktivnu firmu
DoCmd.RunSQL "UPDATE period SET period.aktiv = True, " & OP & " WHERE " & ng1 & ";" 'upis aktivne firme u period
DoCmd.RunSQL "UPDATE period SET period.aktiv = True, " & PD & " WHERE " & ng1 & ";" 'upis aktivne firme u period
DoCmd.RunSQL "UPDATE period SET period.aktiv = True, " & KD & " WHERE " & ng1 & ";" 'upis aktivne firme u period

Set ag1 = CurrentDb().OpenRecordset("SELECT m.[Puni naziv firme] AS P, a.godina AS G FROM aktiv AS a INNER JOIN [maticni podatci] AS m ON a.firma = m.[Firma id] WHERE (((a.NivoFirma)=True));")
Refresh
Me.Caption = "Aktivna firma " & ag1!P & " i aktivna godina " & ag1!g
Me.Text4.Requery
MsgBox "Obračunski period uspješno promjenjen." & vbCrLf & vbCrLf & "Aktivna firma je " & ag1!P & "." & vbCrLf & "Aktivna godina je " & ag1!g & vbCrLf & "Obračunski period ostaje aktivan do sljedeče promjene", vbOKOnly, "P L A T E"
If vbOK Then
DoCmd.Close
End If
End Sub
↑  ↓

Stranice (4): 1, 2, 3, 4


All times are GMT +01:00. Current time: 10.12.2018-21:03.