Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Racunanje u access-u

[es] :: Access :: Racunanje u access-u

Strane: 1 2 3 4 5

[ Pregleda: 21705 | Odgovora: 94 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Racunanje u access-u12.10.2008. u 13:01 - pre 188 meseci
Zdravo svima. Zanima me da li je ovo moguce odraditi u accessu (mislim da jeste samo ne znam kako), pa da predjem na stvar...
Naime, u primeru koji cu prikaciti uz poruku imam dve tabele u relaciji 1 (tblTip) prema vise (tblParametri). Da pojasnim malo. Svakom tipu odgovaraju odredjeni parametri. A svaki parametar ima svoj rezultat ispitivanja. Problem lezi u tome sto se svaki parametar racuna drugacije, odnosno svaki parametar ima svoje promenljive i konstante kao i mat. operacije. Pa tako na pr. parametar1 racuna se preko formule a1=(b1-c1)/b2, parametar2 preko formule a2=b2*c2*d2 itd. Prakticno, u donjem primeru prikazao sam dve osnovne tabele koje trebalo da imaju ulogu sifrarnika, odnosno da se u njima definise za koji tip se rade koji parametri, odnosno na koji nacin se pojedinacni parametri racunaju.
Moja ideja je sledeca, da kada odaberem zeljeni tip otvore mi se parametri koji idu uz njega i na nekakav click dugmeta ili sl. mi baza trazi promenljive. (na pr. Unesi vrednost promljive b1, potom, unesi vrednost promenljive b2 i tako redom, pa kada unesem sve definisane parametri racunar mi odradi obracun i preko msgbox-a mi izbaci rezultat)

Nadam se da je neko razumeo u cemu je problem. Ukoliko neko ima neku ideju ili sugestiju, molim vas javite se.
Ukoliko je potrebno dodatno objasnjenje, pojasnicemo malo detaljnije.

Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Re: Racunanje u access-u12.10.2008. u 20:57 - pre 188 meseci
Procackao sam malo po foromu, postoji sjajan primer sa popup kalendarom i kalkulatorom. U principu, treba mi nesto slicno samo gde bi se umesto brojeva koristile promenljive.

Stvarno ocekujem da ova tema zainteresuje nekoga.

Pozdrav
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Racunanje u access-u13.10.2008. u 05:50 - pre 188 meseci
Trebalo bi napisati dovoljno inteligentan VBA kod, koji će tekst iz Memo polja „Obracun“ tabele „tblParametar“, pretočiti u univerzalnu funkciju. Znači da razume i rasčlani iskaz tipa a3=b3/(v1+30,254*v2).
Access je ipak alat koji je orjentisan ka bazama podataka, s predpostavkom da se promenljive nalaze u tabelama i nad njima izvršavaju fiksne računske operacije. Ove operacije se inače realizuju delom kroz VBA kod, delom putem SQL-a i standardnih matematičkih funkcija: Sum, Avg, Min, Max........ i pridruženih operatora.

 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.bilokalnik.hr.



+8 Profil

icon Re: Racunanje u access-u13.10.2008. u 07:45 - pre 188 meseci
Moram Getsbia demantovat tj ispraviti

Ako u textbox8 unesemo (5+6+5)-(2*2.3)
a želimo da izračuna u u textiznos onda koristimo funkciju EVAL
znači na klik dugmeta ili , exit text8

textiznos=Eval(textbox8)

naravno da matematički izraz mora biti dobar, mislim na zagrade

Pozdrav
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
92.60.234.*



Profil

icon Re: Racunanje u access-u13.10.2008. u 07:59 - pre 188 meseci
Izvini Trtko, mozes li na primeru da mi ovo pojasnis, ne znam za ovo a cini mi se interesantnim. Molim te

Pozdrav
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
92.60.234.*



Profil

icon Re: Racunanje u access-u13.10.2008. u 08:19 - pre 188 meseci
Evo probao sam, pa ovo je sjajno, radi perfektno sa brojevima.
Kako bih sad mogao da ubacim promenljivu.
na primer>

da umesto izraza (2+5)/(24+6)

unesem (x+5)/(24+6)

pa da mi on trazi vrednost promenljive x, i nakon unosa mi izracuna jednacinu.

Molim za pomoc, ovo mi je jako bitno da resim.

Hvala puno na odgovorima i jednom i drugom.
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.bilokalnik.hr.



+8 Profil

icon Re: Racunanje u access-u13.10.2008. u 08:50 - pre 188 meseci
Ovo sad na grubo objašnjavam

Pa morao bi deklarirat x,y,z,a1,a2,b2....itd (sve one koje misliš koristit u formulama) kao public varijablu u nekom modulu

i njima pridodjeljivat vrijednosti iz tablica , tako bi s njima mogao računat

Nisam gledao tvoju bazu, ako stignem pogledat ču.

To ti je samo moja ideja, a ti si malo razmisli kako da to najbolje napraviš







 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.bilokalnik.hr.



+8 Profil

icon Re: Racunanje u access-u13.10.2008. u 08:57 - pre 188 meseci
hmmmmm , čini se da neče iči ni s deklaracijom varijabli

probat čemo to kasnije riješit




 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
89.146.174.*

Sajt: www.icentar.ba


+2 Profil

icon Re: Racunanje u access-u13.10.2008. u 09:29 - pre 188 meseci
deklarisi ih kao tekst
zxz
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
92.60.234.*



Profil

icon Re: Racunanje u access-u13.10.2008. u 13:16 - pre 188 meseci
Koliko vidim, postoji nekoliko varijanti da resim problem:
1. Da kreiram tabele za svaki parametar posebno (tblParametar1_Racun;tblParametar2_Racun itd.), da potom kreiram popup forme za unos varijabli, pa da mi na click popuni vrednost za rezultat.
2. Da kreiram excell fajlove sa zadatim izracunavanjima. Onda prozovem fajl (na neki click), otvori se excell dokument (tacno odredjeni), ja unesem promenljive, dobijem rezultat, i isti ubacim u access.

Ova prva varijanta mi se vise svidja, mada imace dosta posla. Drugo, kad se pojavi neki novi parametar, moracu da kreiram novu tabelu, forme itd., sto sam hteo po svaku cenu da izbegnem, ali po svemu sudeci to nije moguce

Molim za vase misljenje

Hvala vam na dosadasnjim odgovorima.

Pozdrav
 
Odgovor na temu

gorancho
Srbija

Član broj: 149371
Poruke: 89
*.isp.krstarica.net.



Profil

icon Re: Racunanje u access-u13.10.2008. u 13:55 - pre 188 meseci
Ovaj EVAL je jako opaka stvar-funkcija. Kako proširuje vidike tako i sputava.
Može li se napraviti da Tekstualno polje posle promene vrednosti dobije format novčane jedinice???

otprilike u obliku:

Me.Tekst0.Value = Eval(Me.Tekst0)
Me.Tekst0.Format.Current

Pozdrav
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
93.159.77.*



+8 Profil

icon Re: Racunanje u access-u13.10.2008. u 17:49 - pre 188 meseci
Gorancho
Naravno da se može, sve što se može setirati podesiti i napraviti
kad editiraš formu i njene objekte, boje, formati objekata itd... to sve možeš
napraviti i iz VB koda
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Racunanje u access-u13.10.2008. u 18:52 - pre 188 meseci
Priznajem da ranije nisam primetio funkciju EVAL(). Biće veoma interesantno napraviti koliko toliko univerzalno Access rešenje za zlikijev problem.
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Re: Racunanje u access-u13.10.2008. u 21:23 - pre 188 meseci
Vidim da tema postaje interesantna, hvala vam za trud i dosadasnje odgovore. Posto je tako, probacu jos malo da pojasnim stvari. Ko sto sam ranije pisao, u bazi sam definisao tip materijala. Za svaki tip ispituju se tacno odredjeni parametri (shodno propisima). Svaki parametar ispitivanja izrazava se nekom numerickom vrednoscu (ukoliko se radi o kvantitativnim ispitivanjima ili ti merenjima) ili opisnom-tekstualnom vrednoscu (kvalitativna ispitivanja). Da bi dosli do konacnog rezultata ispitivanja, koristimo vrednosti dobijene eksperimentalnim putem (numericke vrednosti), koje, preko tacno definisanih izraza za izracunavanje, prevodimo u konacni rezultat ispitivanja.
Znaci, da bi sve bilo "crno na belo", lab. prikuplja, belezi i arhivira sve eksperimentalne podatke vezane za odredjeni parametar. To znaci da bi dosli do konacne vrednosti rezultata ispitivanja za neki parametar, nama je potrebno da eksperim. odredimo ili izmerimo 2,3,4 pa i vise promenljivih. Ono sto je ovde sigurno, to je da se za svaki parametar unapred zna koje se promenljive odredjuju (mere) i koji se mat. izraz koristi za izracun. konacnog rezultata.


 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Racunanje u access-u14.10.2008. u 14:30 - pre 188 meseci
Izgleda da ti nedostaje jos jedna tabela - gde cuvas vrednosti a,b,c itd. koje ce formule da koriste. Ti si napravio tabelu gde cuvas formule - tekst formule za svaki "Tip". primeru koji si dao, imas nesto sto se zove 'Tip1' i to nesto ima tri parametra. Svaki parametar ima svoju formulu koaj ima u sebi neke varijable. Recimo da ona prica sa EVAL i proradi, ostaje pitanje odakle dolaze varijable za formule?

Nisam nogo koristio EVAL, isuvise je otvoreno i tesko se pronalaze greske. Ali, mozes da probas ovo: koristis svoju formulu kao sablon, pa kad dobijes zive brojeve za parameter odnekud, onda ih sa REPLACE zamenis u formule. Na primer, dao si formulu a1=(b1-c1)/b2. "a1" je ocigledno rezultat, on sa desne strane je formula. (Gde ces da ga cuvas rezultat, u kojoj tabeli, u kojoj koloni?). Varijable su b1, c1, b2. AKo si dobio b1 = 5.7 , c1 = 3.2, b2 = 0.6 onda nekako u formuli zamenis slova brojevima i dobiejs string recimo ovako:

a1 = (5.7 - 3.2) / 0.6 Onda to posaljes u Eval, ovako Eval ("(5.7 - 3.2) / 0.6 ") Oops, ispade da ti a1 samo smeta :-)

Usput, ovo sam dobio u immediate prozoru:

? Eval ("(5.7 - 3.2) / 0.6 ")
4.1666666666666666666666666667

Evo kako REPLACE moze da pomogne u gradjenu eval stringa:

? replace("a1 / b2","a1","7.5")
7.5 / b2

? replace("7.5 / b2","b2","-0.23")
7.5 / -0.23

Sada, kako znas z svaku formulu koliko puta treba da radis REPLACE. Ima smisla sve staviti u nekakvu genericku funkciju, kojoj posaljes oblik formule, recimo "(a1+b2-c3) / (d+f)" i naravno saljes niz varijabli (1.2,1.5,7.12,-3.4) Naravno, redosled varijabli u nizu je bitan, nekako treba da ih mapiramo na formulu. Po pozicijama? Kao matricu? Kao SQL tabelu?

Suvise je pitanja na kja se tesko moze dati odgovor. ja bih rezultate merenja trpau bazu, a onda iz Excela pozivao podatke koji sede u bazi i vrsio kompleksna izracunavanja. Ovo nije za sam Access.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Racunanje u access-u14.10.2008. u 14:35 - pre 188 meseci
Nesto mi je bila poznata tema, kad ono bilo je nesto slicno na SQL forumu. Evo pa vidi:

http://www.elitesecurity.org/t...rmula-za-izracun-iznosa-tabeli
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Re: Racunanje u access-u14.10.2008. u 22:01 - pre 188 meseci
Sjajno, hvala na odgovorima. Ovo sa upotreboma replace funkcije mi je danas palo na pamet. Probao sam to da razradim malo. Evo poslacu primer uz ovu poruku. Al pre toga da pojasnim malo ideju. Znaci, kreirao sam novu tabelu tblObracun, koja sadrzi polje FORMULA (u koje se upisuje kakva god se zeli formula), 10 polja sa nazivom O, 10 polja sa nazivom t i 10 polja sa nazivom X. U polja sa nazivom "O" upisujem oznake promenljivih iz formule, u polja sa oznakom "t" upisujem tekstualno objasnjenje oznaka i u polja sa oznakom "X", eksper. vrednosti promenljivih.
Napomena: Polja sa oznakom "X" imaju kod za after update event, kde se koristi funkc. REPLACE.
Kada se unesu potrebne promenljive (njihove vrednosti) pritiskom na cmd. dugme dobija se zeljeni rezultat u polju REZULTAT.

PROBLEM: Kada za vrednosti promenljivih upisujem decimalne brojeve (sto je cest slucaj u praksi) program prijavljuje gresku. Ocigledno je negde greska u tipu podataka. To nisam jos uspeo da sredim, pa vas molim da neko ovo malo doradi.

Znaci, ova tabela bi bila (u prvobitnoj verziji baze, Primer1) vezana za tabelu tblParametar u relaciji 1 prema 1 (mada kad malko bolje promslim, moze da bude i u relaciji jeda prema vise posto se pojedini parametar moze odrediti preko vise razlicitih metoda odredjivanja).

Toliko, hvala vam na odgovorima. Jos ednom vas molim da neko doradi ovaj primer koga cu sada da zakacim.

Pozdrav

Prikačeni fajlovi
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Re: Racunanje u access-u14.10.2008. u 22:04 - pre 188 meseci
A evo ga i u ne zipovanom obliku
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Racunanje u access-u15.10.2008. u 15:46 - pre 188 meseci
lepo ti radi i sa decimalama. problem koji imas nisu decimale nego redosled izvrsavanja programskih koraka.

Imas 10 polja u koje se unose vrednosti. stavio si na After Update za svako polje da se radi REPLACE. To znaci samo tada. Ako odes pa promenis jednu vrednost samo, ne diras ostale, dobijes gresku jer se izraz za EVAL ne izracunava dobro. Ovo znaci da bi svih 10 Aftre_Update eventa morali da se izvrse svaki put kad kliknes dugme za obracun. I moras da se pobrines o praznim celijama - ako nemas O9 i X9 program ce da pukne.

Kod na dugmetu treba da izgleda ovako:
Code:

Private Sub Command62_Click()
'Ovo mora da stoji ovde:
On Error Resume Next 'ovo ignorise one koji su NULL
'Treba proveriti za NULL i obrisati ovaj ON Error Resume Next
'ovo je quick and dirty metod
Call X1_AfterUpdate
Call X2_AfterUpdate
Call X3_AfterUpdate
Call X4_AfterUpdate
Call X5_AfterUpdate
Call X6_AfterUpdate
Call X7_AfterUpdate
Call X8_AfterUpdate
Call X9_AfterUpdate
Call X10_AfterUpdate

'sad moze da se radi EVAL
'Pretvoris u Decimal i pokazes do 6 cifara rezultat
'Ako treba vise decimala, promeni "#.######"
Me.Rezultat.Value = Format(CDec(Eval([Izraz])), "#.######")

End Sub

Procitaj komentar i resi se OnError Resume Next linije.

Da se pobrines o NULL vrednostima (prazne celije) tvoje UPADTE procedure treba da izgledaju ovako:
Code:

Private Sub X10_AfterUpdate()
If IsNull([010]) Then Exit Sub 'ako je neki od ulaznih podataka NULL ignorisi ceo red
If IsNull([X10]) Then Exit Sub
Me.Izraz.Value = Replace([Izraz], [O10], [X10])
End Sub


Ja sam ti popravio kod malo, tek da proradi. Ti se pobrini za ostalo.

Medjutim, ima jedan problem. Sta ces kad bude vise od 10 parametara? Ovo bi moglo lepo da se normalizuje, pa da na formi imas subformu umesto 50 text boxova. I ceo proracun bi bio na jednom mestu, a ne na 10 mesta.


Prikačeni fajlovi
 
Odgovor na temu

zliki
Vanja Virijevic
Krusevac

Član broj: 101462
Poruke: 155
*.vdial.verat.net.



Profil

icon Re: Racunanje u access-u15.10.2008. u 21:32 - pre 188 meseci
Hvala na ispravkama i objasnjenjima.
Ideja sa podformom mi se svidja, mada moram priznati to isprva nisam probao da izvedem. Ova varijanta mi se cinila laganijom i brzom cisto da ustanovim da li mi je kompletna ideja bila dobra. Cini se da jeste, sto je bitno, radi.
Sad cu probati sa podformom da odradim, pa cu prikaciti rezultat.
Mada, nije kraj problema. Naime namece se jos jedan problem. Sustina je u tome sto mi su pojedini parametri ispitivanja zavisni jedni od drugih (kod vecine slucajeva to nije tako, ali ima i izuzetaka koji komplikuju stvar). Na primer ovako:
imam npr. "Tip1" za koje radim parametre

Parametar1
Parametar2
Parametar3
Problem je sto je Parametar3=[Parametar1]+[Parametar2]

Nadam se da si shvatio problem.

Hvala jos jednom na odgovorima, ovo mi puno znaci.

Pozdrav
 
Odgovor na temu

[es] :: Access :: Racunanje u access-u

Strane: 1 2 3 4 5

[ Pregleda: 21705 | Odgovora: 94 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.