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

Petlja for ili while problem

[es] :: Access :: Petlja for ili while problem

[ Pregleda: 2145 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pocev-od-mene
Armin Ahmetovic
Administrator, VGT Osiguranje.
zenica

Član broj: 98314
Poruke: 62
*.dynamic.telemach.ba.

Sajt: www.nimra.pro


+1 Profil

icon Petlja for ili while problem11.04.2013. u 00:36 - pre 134 meseci
Pozdrav ljudi,

Imam problem što nemogu shvatiti na koji način da kreiram ovu petlju. Naime uradio sam sve sa if ali da nebi pisao još 100 ifova moram riješiti na drugi način i to izgleda ovako:
nosivost predstavlja tonu znači 16000 je 16 tona, a PUTATINA1 predstavlja novac to govorim radi lakšeg razumjevanja problema.


If nosivost > 14999 And nosivost < 16000 Then
PUTARINA1 = 480
End If
If nosivost > 15999 And nosivost < 17000 Then
PUTARINA1 = 520
End If


Sad slijedi problem kaže " za svaku tonu iznad 17 dodaj na PUTARINA1 40 maraka"

Što znači kad bi ja sad unio u formi u polje nosivost broj 20332, u PUTARINA1 bi mi trebala iznositi 680 jer je to 4 tone preko 17, a 4*40= 160 i plus ovih zadnjih 520 dobijemo taj broj.

Pokušao sam na razne načine for i while ali nisam uspio jer nemogu zamisliti kako definisati problem.
 
Odgovor na temu

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Re: Petlja for ili while problem11.04.2013. u 05:50 - pre 134 meseci
Ne razumem zasto bi koristio petlju, mislim da bi to mogao ovako da odradis:

Code:
If nosivost > 14999 And nosivost < 16000 Then
    PUTARINA1 = 480
ElseIf nosivost > 15999 And nosivost < 17000 Then
    PUTARINA1 = 520
ElseIf nosivost > 16999 Then
    PUTARINA1 = 520 + (Int((nosivost - 17000) / 1000) + 1) * 40
End If

 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Petlja for ili while problem11.04.2013. u 05:55 - pre 134 meseci
Pokušaj sa strukturom Select Case......End Select. Pregeldnija je i što je još važnije brža je.
 
Odgovor na temu

Pocev-od-mene
Armin Ahmetovic
Administrator, VGT Osiguranje.
zenica

Član broj: 98314
Poruke: 62
*.dynamic.telemach.ba.

Sajt: www.nimra.pro


+1 Profil

icon Re: Petlja for ili while problem11.04.2013. u 11:20 - pre 134 meseci
FOX028 Hvala sve radi ispravno, a za select case bi mi isto trebao primjer da bi skontao kako ide ;)
 
Odgovor na temu

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Re: Petlja for ili while problem11.04.2013. u 11:56 - pre 134 meseci
Evo primer za Select Case

Code:
Select Case nosivost
    Case 14999 To 15999
        PUTARINA1 = 480
    Case 16000 To 16999
        PUTARINA1 = 520
    Case Is > 16999
        PUTARINA1 = 520 + (Int((nosivost - 17000) / 1000) + 1) * 40
End Select




 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Petlja for ili while problem11.04.2013. u 14:43 - pre 134 meseci
Umesto da kodirate potencijalno promenljive vrednosti, zasto ne napravite lookup tabelu. Ovako nekako:
Tablea: tblPutarina_LKP
Code:

NosivostOd, NosivostDo, Putarina
14999         15999           480
16000        16999            520
16999        999999             -1



Pseudo code:
Code:

dim PutarinaIzTabele deciml
DIM Putarina1 decimal

PutarinaIzTabele  = dlookup("Putarina","tblPutarina_LKP", cstr(me!Nosivost) & " BETWEEN [NosivosOd] AND [NosivostDo]")

If PutarinaIzTabele  = -1 THEN
        PUTARINA1 = 520 + (Int((me!nosivost - 17000) / 1000) + 1) * 40
ELSE 
        Putarina1 = PutarinaIzTabele  
ENDIF


Na ovaj nacin sebi omogucujete da se putarina menja kroz vreme, pa i granice nosivosti, a da ne morate da prepravljate kod kad se to desi. Putarina se ne manja bas svaki dan, ali se menja. Granice se menjaju jos redje, ali je moguce. Problem je sto kad se to desi, ko zna ko ce odrzavati program i program moze da se zaglavi i stane samo zato sto u tom momentu niko vise ne zna kakao da promeni kod.

 
Odgovor na temu

Pocev-od-mene
Armin Ahmetovic
Administrator, VGT Osiguranje.
zenica

Član broj: 98314
Poruke: 62
*.dynamic.telemach.ba.

Sajt: www.nimra.pro


+1 Profil

icon Re: Petlja for ili while problem11.04.2013. u 22:21 - pre 134 meseci
Svaka čast i hvala momci,

ovdje se stvarno za jedan dan može mnogo novoga naučiti, svaka od vaših metoda radi perfektno i poslužit će mi u mnogim budućim situacijama, sad je samo ostalo kao i svaki put da vam se još jednom zahvalim, hvala na primjerima i dijelenju znanja!
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Petlja for ili while problem15.04.2013. u 10:20 - pre 134 meseci
Idem malo cjepidlačiti :)

Kada već parametriziramo, bilo bi zgodno uvaliti i onaj *40 u tablicu, npr. dodati jednu kolonu "Mnozitelj", pa bi tabela izgledala ovako:

Citat:
Zidar: Umesto da kodirate potencijalno promenljive vrednosti, zasto ne napravite lookup tabelu. Ovako nekako:
Tablea: tblPutarina_LKP
Code:

NosivostOd, NosivostDo, Putarina, Mnozitelj
14999         15999           480   ,  1
16000        16999            520   ,  1
16999        999999             -1  ,  40


F
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Petlja for ili while problem15.04.2013. u 18:02 - pre 134 meseci
Captai is right

U stvari, celu formulu bi trebalo preradiati:

PUTARINA1 = 520 + (Int((me!nosivost - 17000) / 1000) + 1) * 40


520: A = MAX ("Putarina","tblPutarina_LKP","Putarina <> -1" )

17000: B = 1 + MAX("NosivostOd","tblPutarina_LKP")

Mnozitelj: M = MAX("Mnozitelj", "tblPutarina_LKP", "Putarina = -1" )


Ono 1000 je verovatno konstanta sa opravdanim razlogom, a ostalo mzoe da se izracuna, koristeci tabelu sa prosirenom strukturemo, onako kako je Captain uradio.

Formula bi onda bila:

PUTARINA1 = A+ (Int((me!nosivost - B) / 1000) + 1) * M


Ako neko ume da skine i ono 1000, bilo bi dobro, ali izgleda da ne mora jer to verovatno pretvara kilograme u tone?

 
Odgovor na temu

[es] :: Access :: Petlja for ili while problem

[ Pregleda: 2145 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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