zxz | 12.01.2016 11:37 |
---|---|
Predmet:Re: Problem sa DMAX Ih moram opet svasta nesto pitati. Jel ti polje iznos to iz kojeg hoces da izvuces najvecu vrijednost i sledecu manju od najvece. Bolje reci hoces da izvuces dva naveca iznosa ali zasebno. Ima jos jedan problem. Vidim da si napravio da budu vrijednosti negativne pa ako gledamo matematicki onda je -2 vece od -3 pa se postavlja pitanje dali treba najvece apsolutne vrijednosti. |
kenan | 12.01.2016 15:50 |
---|---|
Predmet:Re: Problem sa DMAX Prvo tabela AKTIV je zamiÅ¡ljena da se kod logiranja upise aktivna firma, godina i obracunski period kod izlaza iz programa je briÅ¡e sve iz tabele tako da je samo jedan zapis moguč drugo ako je problem u negativnoj vrijednosti prebacit ču ga u pozitivnu ako je lakÅ¡e u principu nije toliko meni bitno negativna ili pozitivna vrijednost meni u osnovi trena da iz onog query-ja izvučem drugu po veličini vrijednost polja IZNOS odnosno u drugom tregu po veličini nadoÅ¡o sam na ideju da ubacim TOP 2 odnosno TOP 3 i da uzmem najmanju vrijednost iz query-ija pomoču ove linije variable = DMin("IZNOS", "BU11") ali mi neda iz nekog razloga Probao sam i bez navodnika za BU11 al opet neide neznam jel ovo dovoljno objaÅ¡njenja |
zxz | 12.01.2016 18:27 |
---|---|
Predmet:Re: Problem sa DMAX Ma ima dosta rjesenja ali da nadjemo sto je moguce bolje. Citat: Prvo tabela AKTIV je zamiÅ¡ljena da se kod logiranja upise aktivna firma, godina i obracunski period kod izlaza iz programa je briÅ¡e sve iz tabele tako da je samo jedan zapis moguč ja sam htio samo da napravim ovakav query umjrsto tvoga jer je prakticniji PreuzmiIzvorni kôd (SQL):
Ne smeta sto je negativno samo da kazemo napr. vcu apsolutnu vrijednost da bi se razumjeli koja treba. |
kenan | 12.01.2016 21:53 |
---|---|
Predmet:Re: Problem sa DMAX jedno možda glupo pitanje ako sam ja shvatio ovu proceduru kako da punim ova polja iz tabele aktiv jer se poziva polju reporta |
zxz | 12.01.2016 22:15 |
---|---|
Predmet:Re: Problem sa DMAX Prvo nema glupog pitanja. Samo odgovora ima glupih. Vidi ovako Ja nisam znao gdje ces ti to koristiti niti koliko kriterija imas pa sam napravio malo sire pa izgleda komlikovano. Gore sam naveo kako se poziva procedura a rezultat je uvije u Query-ju QQ. Primjer. Ako to hoces koristiti na izvjestaju. Napravis izvjestaj sa u kome je recordsource Query QQ i zapises ga napr. pod imenom Q_Dugovanja. Sada odnekle moras pdoci taj izvjestaj. Ako to radis preko nekog komandnog tastera. e na tom tasteru prije podizanja izvjestaja pozoves ovu proceduru. Ako nebude islo ti napisi sta zelis pa zakaci. |
kenan | 12.01.2016 22:19 |
---|---|
Predmet:Re: Problem sa DMAX Ustvari radim na jednom izvjeÅ¡taju od tridesetak strana kucanog materijala gdje se podatci uzimaju buklano za svako polje iz funcije zato pitam primjer jednog polja ="1.1. Ostvareni ukupan prihod u obračunskom periodu " & [godina] & ". godini, iznosi: " & AnalizaBU1() & ", Å¡to je u odnosu na isti period prethodne godine, " & AnalizaBU3() & " za " & Format(IIf(AnalizaBU1()-AnalizaBU2()>0;AnalizaBU1()-AnalizaBU2();AnalizaBU2()-Analiz aBU1());'#.#00,00" KM"') & " ili " & FormatPercent(IIf(AnalizaBU1()/AnalizaBU2()-1>0;AnalizaBU1()/AnalizaBU2()-1;-(AnalizaBU1()/AnalizaBU2()-1));2) & "." |
kenan | 12.01.2016 22:39 |
---|---|
Predmet:Re: Problem sa DMAX AKO SAM DOBRO SKONTAO PROCEDURU AKO BIH OVO STAVIO FIKSNO Optional Red As Integer = 2 ONDA BIH MOGAO POZIVATI IZ POLJA =iznos() i olaksao bih i vama da se nemucite samnom |
kenan | 12.01.2016 22:55 |
---|---|
Predmet:Re: Problem sa DMAX ja ipak odradio po svom i radi mi super Function AnalizaBU11(Optional Red As Integer = 2, Optional Konto As String = "6%") '--------------------------------------------- ------------- Dim Db As DAO.Database Dim Rs As DAO.Recordset Dim SQL As String Dim I As Integer SQL = "SELECT top " & Red & " Sum([duguje]-[potrazuje]) AS Iznos, Left([stavgk]![konto],3) AS Sink " _ & "FROM AKTIV INNER JOIN stavgk ON (AKTIV.ObracinskiPeriod = stavgk.ObracinskiPeriod) AND (AKTIV.godina = stavgk.period) AND (AKTIV.firma = stavgk.firmaID) " _ & "WHERE Left([stavgk]![konto],3) ALike '" & Konto & "'" _ & " GROUP BY Left(konto,3) " _ & "HAVING Sum([duguje]-[potrazuje])<0 " _ & "ORDER BY Sum([duguje]-[potrazuje])" Set Db = CurrentDb() Set Rs = Db.OpenRecordset(SQL) For I = 1 To Red Konto = Rs!sink Rs.MoveNext Next I SQL = "SELECT top " & Red & " Sum([duguje]-[potrazuje]) AS Iznos, Left([stavgk]![konto],3) AS Sink " _ & "FROM AKTIV INNER JOIN stavgk ON (AKTIV.ObracinskiPeriod = stavgk.ObracinskiPeriod) AND (AKTIV.godina = stavgk.period) AND (AKTIV.firma = stavgk.firmaID) " _ & "WHERE Left([stavgk]![konto],3) ALike '" & Konto & "'" _ & " GROUP BY Left(konto,3) " _ & "HAVING Sum([duguje]-[potrazuje])<0" Set BU11 = Db.OpenRecordset(SQL) AnalizaBU11 = BU11!Iznos End Function |
kenan | 12.01.2016 22:56 |
---|---|
Predmet:Re: Problem sa DMAX hvala na angažmanu rješenje možda izgleda glomazno ali je ustvari vrlo jednostavno |
zxz | 12.01.2016 23:02 |
---|---|
Predmet:Re: Problem sa DMAX Ako hoces samo iznos onda mozes skratiti proceduru. Function AnalizaBU11(Optional Red As Integer = 2, Optional Konto As String = "6%") '--------------------------------------------- ------------- Dim Db As DAO.Database Dim Rs As DAO.Recordset Dim SQL As String Dim I As Intege Dim Iznos as Currency SQL = "SELECT top " & Red & " Sum([duguje]-[potrazuje]) AS Iznos, Left([stavgk]![konto],3) AS Sink " _ & "FROM AKTIV INNER JOIN stavgk ON (AKTIV.ObracinskiPeriod = stavgk.ObracinskiPeriod) AND (AKTIV.godina = stavgk.period) AND (AKTIV.firma = stavgk.firmaID) " _ & "WHERE Left([stavgk]![konto],3) ALike '" & Konto & "'" _ & " GROUP BY Left(konto,3) " _ & "HAVING Sum([duguje]-[potrazuje])<0 " _ & "ORDER BY Sum([duguje]-[potrazuje])" Set Db = CurrentDb() Set Rs = Db.OpenRecordset(SQL) For I = 1 To Red Iznos = Rs!Iznos Rs.MoveNext Next I AnalizaBU11 =Iznos End Function |