Predmet:Re: Petlja problem
HVALA
ovo radi perfektno ono što sam zamislio, e sad i ide novo komplikovanje
moja finalna zamisio oko ove funkcije je da operater sam izabira polja koja će mu ići u Å¡emu tj. da sa njima sam upravlja, uglavnom spaja određena polja ili čak da sam formuliÅ¡e IIF funkciju koja će se odraditi u kodu. E sad ja sam se tu malo igrao i ranije i imao fiksne Å¡eme u kojima operater buklalno nije mogao niÅ¡ta uvjek je morao tražiti izmjenu i onda se svi zajedno pogubimo u u uslovima.
ovo bi trebala biti procedura koja bi to sve objedinjavala i davala slobodu operateru da se igra sa podatcima ili ćak sebi komplikuje na prikazima
na prvi recorsdet netreba obraćati pažnju on je nebitan ali neka komplet kod
opet je isti bitan SDUpis i sve se vrti oko njega
ovaj kod nekom može biti od koristi i radi
If zxzBox("Da li želite prebaciti podatke u finansisko knjigovodstvo prema zadanim modelima knjiženja?", vbYesNo, "eFinPos") = vbYes Then
'provjera ima li sta za prenos
Dim sql As String
uslov = "PrebFin = 0"
sql = "SELECT * " & _
"FROM OPIzvorSredstava WHERE " & uslov & " ;"
Set rbizv = CurrentDb().OpenRecordset(sql)
If rbizv.RecordCount = 0 Then
zxzBox "Neme niÅ¡ta za PRENOS." & vbCrLf & "Svi dokumenti su več prebačeni!", vbInformation, "eFinPro"
rbizv.Close
Else
ng = "SELECT OpIzvorSredstava.IDVrstaNaloga, AKTIV.IDOrgJed, OpIzvorSredstava.IDFirma, OpIzvorSredstava.IDPeriod, [BrNalogaZadnji]+1 AS BrNaloga, Now() AS datum, 0 AS Prok, Last([IDNalog]+1) AS nalog " & _
"FROM FinGKG INNER JOIN ((AKTIV INNER JOIN OpIzvorSredstava ON AKTIV.firma = OpIzvorSredstava.IDFirma) INNER JOIN ZFVrstaNaloga ON OpIzvorSredstava.IDVrstaNaloga = ZFVrstaNaloga.IDVrNaloga) ON FinGKG.IDFirma = AKTIV.firma " & _
"GROUP BY OpIzvorSredstava.IDVrstaNaloga, AKTIV.IDOrgJed, OpIzvorSredstava.IDFirma, OpIzvorSredstava.IDPeriod, [BrNalogaZadnji]+1, Now(), 0;"
Set ngu = CurrentDb().OpenRecordset(ng)
Set NGUpis = CurrentDb().OpenRecordset("FinGKG")
With NGUpis
.AddNew
!IDNalog = ngu!nalog
!IDVrstaNaloga = ngu!IDVrstaNaloga
!IDOrg = ngu!IDOrgJed
!IDFirma = ngu!IDFirma
!IDPeriod = ngu!IDPeriod
!BrNaloga = ngu!BrNaloga
!Datum = ngu!Datum
DoCmd.RunSQL "UPDATE ZFVrstaNaloga SET ZFVrstaNaloga.BrNalogaZadnji = " & ngu!BrNaloga & " WHERE ZFVrstaNaloga.IDFirma=" & ngu!IDFirma & " AND ZFVrstaNaloga.IDVrNaloga=" & ngu!IDVrstaNaloga & " AND ZFVrstaNaloga.IDPeriod=" & ngu!IDPeriod & ";"
.Update
.Close
End With
'KOLIKO CE REDOVA BITI UPISANO PRILIKOM KNJIZENJA
RBC = "SELECT Count(ZFSemaD.ID) AS BROJ FROM OpIzvorSredstava INNER JOIN ZFSemaD ON OpIzvorSredstava.sema = ZFSemaD.IDSema;"
Set RbCount = CurrentDb().OpenRecordset(RBC)
'Nazive polja treba ovdje uzimati i upisiviti u SD
'ZAMJENA POLJA U QUERIJU
Polja = "SELECT ZFSemaD.ID, ZFSemaD.IDKonto, OpIzvorSredstava.IDVrstaNaloga, OpIzvorSredstava.IDIzvoraSredstava, ZFSemaD.Polje FROM OpIzvorSredstava INNER JOIN ZFSemaD ON OpIzvorSredstava.sema = ZFSemaD.IDSema GROUP BY ZFSemaD.ID, ZFSemaD.IDKonto, OpIzvorSredstava.IDVrstaNaloga, OpIzvorSredstava.IDIzvoraSredstava, ZFSemaD.Polje;"
Set PUPIS = CurrentDb().OpenRecordset(Polja)
'SD1 JE DIO CODA KOJI CE SE KORISTITI U PETLJI UPISA I VEZE SE SA SD MA POCETKU
sd = "SELECT OpIzvorSredstava.IDOrgJedIzvor, ZFSemaD.IDKonto, OpIzvorSredstava.IDValuta, OpIzvorSredstava.kurs, IIf([ZFSemaD]![PrenosSubAnal]=True,[OpIzvorSredstava]![IDkom]) AS Komit, OpIzvorSredstava.Datum, IIf([ZFSemaD]![DP]='D'," & PUPIS!Polja & ",0) AS Dug, IIf([ZFSemaD]![DP]='P'," & PUPIS!Polja & ",0) AS Pot, OpIzvorSredstava.Opis, OpIzvorSredstava.IDIzvoraSredstava "
sd1 = "FROM OpIzvorSredstava INNER JOIN ZFSemaD ON OpIzvorSredstava.sema = ZFSemaD.IDSema "
sd1 = sd1 & "GROUP BY OpIzvorSredstava.IDOrgJedIzvor, ZFSemaD.IDKonto, OpIzvorSredstava.IDValuta, OpIzvorSredstava.kurs, IIf([ZFSemaD]![PrenosSubAnal]=True,[OpIzvorSredstava]![IDkom]), OpIzvorSredstava.Datum, IIf([ZFSemaD]![DP]='D'," & PUPIS!Polja & ",0), IIf([ZFSemaD]![DP]='P'," & PUPIS!Polja & ",0), OpIzvorSredstava.Opis, OpIzvorSredstava.IDIzvoraSredstava;"
sd = sd & sd1
i = 0
Set SDUpis = CurrentDb().OpenRecordset(sd)
Set rs = CurrentDb().OpenRecordset("FINGKS", dbOpenDynaset, dbSeeChanges)
With rs
SDUpis.MoveFirst
Do While Not SDUpis.EOF
.AddNew
i = i + 1
Forms!f!T = SDUpis
!Knjizenje = i
!IDNalog = ngu!nalog
!IDVrstaNaloga = ngu!IDVrstaNaloga
!IDOrg = SDUpis!IDOrgJedIzvor
!IDKonto = SDUpis!IDKonto
!IDValuta = SDUpis!IDValuta
!IDKom = SDUpis!KOMit
!IDFirma = ngu!IDFirma
!Datum = SDUpis!Datum
!IDPeriod = ngu!IDPeriod
!Dug = SDUpis!Dug
!Pot = SDUpis!Pot
.Update
SDUpis.MoveNext
Loop
End With
End If
End If