Centar za edukaciju-BiH


Stranice (3):1,2,3

#1 24.05.2015 17:39
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Petlja problem
ako neko može da mi pomogne nikako da sredim petlju
probao sam i sa for next petljom ali mi nikako ne ide

poenta je da podatke koje dobijem u recordsetu SDUpis pojedinačno upiÅ¡em u drugu tabelu, kako god probam napravi dovoljan broj redova ali iskopira prvi red a ostale zanemari.

namjerno neču da koristim INSERT INTO iz razloga sto određena polje u SDUpis hoču da umećem kako ja hoču

namjerno sam skratio petlju jer sam se pogubio koliko sam kombinovo

usput ovo bi trebala biti knjiženje prema knjigovodstvenim Šemama

Ako neko ima već gotovo rjeÅ¡enje neču odbiti

If zxzBox("Da li želite prebaciti podatke u finansisko knjigovodstvo prema zadanim modelima knjiženja?", vbYesNo, "FinPos") = 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
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',[ZFSemaD]![Polje],0) AS Dug, IIf([ZFSemaD]![DP]='P',[ZFSemaD]![Polje],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',[ZFSemaD]![Polje],0), IIf([ZFSemaD]![DP]='P',[ZFSemaD]![Polje],0), OpIzvorSredstava.Opis, OpIzvorSredstava.IDIzvoraSredstava;"
sd = sd & sd1
i = 0
Set sdupis = CurrentDb().OpenRecordset(sd)
Set rs = CurrentDb().OpenRecordset("FINGKS", dbOpenDynaset, dbSeeChanges)
With rs
.AddNew
i = i + 1
Forms!f!T = sd
!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
.Update
End With
End If
End If
End Sub
↑  ↓

#2 25.05.2015 12:11
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Petlja problem
evo tvoja petlja bi trebalo nesto ovako izgledati mada mislim da si puno komplikovao u ovo bolje da nam opises sat treba se uraditi iz koj recordset sta se uzima i gde treba se to staviti pa da se odradi cela procedura.
Koliko ja vidim ti oces podatke iz dva recordseta da ih stavis u jedu petlju, a to nije lako odraditi zbog to sta mi moramo imati vise kriterija.
Ovako kako si ti postavio mozes upisati samo jedan recird odnosno jedan red.
Ako nije ti tesko zakaci primer pa resicemo to.

PreuzmiIzvorni kôd (Visual Basic):
  1.   sdupis.MoveFirst
  2. Do While Not sdupis.EOF
  3.    i = i + 1
  4.    rs.AddNew
  5.    rs.Fields("Knjizenje") = i
  6.    rs.Fields("IDNalog") = sdupis.Fields("nalog")
  7.    rs.Fields("IDVrstaNaloga") = sdupis.Fields("IDVrstaNaloga")
  8.    rs.Fields("IDOrg") = sdupis.Fields("IDOrgJedIzvor")
  9.    rs.Fields("IDKonto") = sdupis.Fields("IDKonto")
  10.    rs.Fields("IDValuta") = sdupis.Fields("IDValuta")
  11.    rs.Fields("IDKom") = sdupis.Fields("KOMit")
  12.    rs.Fields("IDFirma") = sdupis.Fields("IDFirma")
  13.    rs.Fields("Datum") = sdupis.Fields("Datum")
  14.    rs.Fields("IDPeriod") = sdupis.Fields("")
  15.    rs.Fields("") = sdupis.Fields("IDPeriod")
  16.  
  17.    rs.Update
  18.   sdupis.MoveNext
  19. Loop
↑  ↓

#3 26.05.2015 15:05
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


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
↑  ↓

#4 26.05.2015 15:30
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: Petlja problem
GREÅ KA
IPAK NE RADI DIO ZA PROMJENU POLJA IMAL KO KAKVU IDEJU UVJEK UZIMA ISTO
↑  ↓

#5 26.05.2015 18:20
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Petlja problem
Citiraj kenan:
GREÅ KA
IPAK NE RADI DIO ZA PROMJENU POLJA IMAL KO KAKVU IDEJU UVJEK UZIMA ISTO

Moze da zakacis primer pa da vidime ili da opisis podetalno sto sve treba da raboti ovaj cod pa da go sredime.
↑  ↓

#6 26.05.2015 20:08
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: Petlja problem
pogrešno sam se izrazio tvoj dio koda sto si mi posla radi perfektno i brzo ali ja sam se krenuo igrati na djelu qurija

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

opet isti problem uzima mi prvi zapis a trebao bi da mjenja polja

e sad ide tvoja bojazan ukonponovat dvije petlje
↑  ↓

#7 26.05.2015 20:29
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: Petlja problem
evo i primjer
ima mnogo funkcija koje nerade generalno IzvorSredstavaPregled forma je u kojoj se izvršava funkcija

Prilozi:
Informacije o tipu datoteke za:rar  primjer.rar
Preuzimanja:276
Velicina datoteke:202.68 KB

↑  ↓

#8 26.05.2015 20:52
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Petlja problem
Kenan ja ne mogu ovako da pomognem .
Koliko vidim ova e program za knigovodze ali ja se od ovome nista ne razumem ( za mene ovo je Spansko selo)
Reci mi koi del tebe ovde ne radi i sta treba toj del da radi?
↑  ↓

#9 27.05.2015 17:22
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: Petlja problem
zna li ko može li ovo raditi

select IIf([ZFSemaD]![DP]='P';(SELECT stvarninazivpolja from zfpolja);0) as pot from ZFSemaD

na netu nepostoji ništa na ovu temu
↑  ↓

#10 27.05.2015 17:55
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Petlja problem
Ova vo nikoj slucaj ne moze da funkcionira ova nema nikakva logika.
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 44 pm.