o mica problema cu functia IF

Informatii despre cum se utilizeaza Microsoft Access 2007. Baze de date, Interogari, Formulare, Rapoarte, etc
Închis
malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

o mica problema cu functia IF

Mesaj de malasorte » Mar Apr 15, 2014 7:39 pm

incerc sa fac o conditie sa=mi dea mai multe rezultate bineinteles conditionat de anumite criterii. Incerc sa fac asta de vreo 3 ore si am decis sa va cer sprijinul.IN baza am un camp fel_IUP si unul solutia de care am spus sa leg conditiile astfel.
1.Daca [fel_IUP] este in personam,suspect sau pus im miscare act suspect sa-mi dea rezultatul "Cauza penala in lucru",
2.daca Daca [fel_IUP] este in personam,suspect sau pus in miscare actiunea penala fata de suspect si [solutia]>0 sa-mi dea rezultatul "dosar solutionat"
3.daca nu sa-mi dea rezultatul "sesizare in lucru"


Am facut pana acum cam astea:=IIf(nz([solutia])=0;"Sesizare in lucru ";"dosar solutionat")
=IIf([fel_IUP]="in personam" Or "suspect" Or "pus in miscare actiunea penala fata de suspect";"cauza penala";IIf(nz([solutia])=0;"Sesizare in lucru ";"dosar solutionat"))

=IIf([fel_IUP]="in personam";"cauza";IIf([fel_IUP]="Suspect";"cauza
Suspect";IIf([fel_IUP]="pus in miscare actiunea penala fata de suspect";"cauza
Inculpat";IIf(nz([solutia])=0;"Sesizare in lucru ";"dosar solutionat"))))

dar nu reusesc sa ajung la rezultatul dorit.La prima imi da seizare in lucru daca nu este solutionat si solutionat daca solutionez, iar la urmatoarele doua imi da cauza penala sau cauza suspect/inculpat dupa caz

Tzica
Mesaje: 639
Membru din: Sâm Aug 11, 2012 10:52 pm

Re: o mica problema cu functia IF

Mesaj de Tzica » Mie Apr 16, 2014 9:51 am

1. Nu e corect folosita functia Nz;
Nz Function
2. Functia Iif
Functia IIF

Fireste ca putem imbrica, mai multe functii Iif intr-una singura,
Nested IIF Function

3.Strict la cerinta din topic, as sugera folosirea functiei Choose sau Switch... in functie de datele stocate.
Poate chiar si un SelectCase.

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Mie Apr 16, 2014 7:35 pm

m-am uitat un poic si inainte pe cateva exemple cu functia IIf dar cam asta am gasit ce am facut si de multe ori imi da ca nu am operator sau nu am inchise parantezele, sau operatorul are nevoie de paranteza s.a . Am reusit sa fac varianta 2 din primul post sa mearga, numai na nu-mi da si cand lucrarea e solutionata,daca e inmdeplinita aceasta conditie. Undeva in sir m-am pierdut.Am un dosar care are mai multe faze, in personam, suspect, puus in miscare fata de suspect, in aceste cazuri daca controlul fel_IUP este unul dintre acestea sa arate Cauza penala, daca nu lucrare penala, iar in situatia in care este solutionat sa arate cauza solutionata daca are una din cele 3 faze sau lucrare solutionata.

Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

Re: o mica problema cu functia IF

Mesaj de mesersmith » Mie Apr 16, 2014 9:06 pm

Avand in vedere ca ai conditionari multiple si ca in prima conditionare mai exista inca una, cred ca s-ar potrivi ceva variante cu vba.
Daca pui exemplul aici, incerc eu sa fac ceva.

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Vin Apr 18, 2014 3:50 pm

Ca de obicei am scris ceva la repezeala din lipsa timpului disponibil ,dar sper sa se inteleaga ce am vrut.
1.Daca dosarul este completat la campul fel_IUP cu textul : In personam sau suspect sau extindere suspect sau pus in miscare suspect , iar campul solutie este gol sa-mi dea rezultatul = cauza , daca nu rezultatul = lucrare (nu stiu daca mai trebuie mentionate si cazurile care mai pot aparea respectiv campul “fel_IUP”, sa fie gol ,sau sa fie completat cu fapta)in acest caz daca si campul solutie este gol, rezultatul ar trebui tot = lucrare,
2. Daca dosarul este completat la campul fel_IUP cu textul : In personam sau suspect sau extindere suspect sau pus in miscare suspect si la campul solutie una din clasare ori sup rezultatul sa fie = dosar solutionat
3.Daca dosarul are completat la campul fel_IUP una din : fapta sau este gol si are campul Solutia completat cu nup sau clasare rezultatul sa fie = dosar solutionat
Sper sa se inteleaga ce vreau, daca nu va rog sa solicitati mai multe detalii.
Incerc mai joss a maid au cateva lamuriri :
La campul fel_IUP ar putea fi : “in personam” sau “ suspect” sau ”extindere suspect” sau “pus in miscare suspect” in acest caz se numeste cauza
La campul fel_IUP ar putea fi: “fapta” sau sa fie gol (necompletat) in acest caz se numeste lucrare
Daca la campul fel_IUP are completat una din “in personam” sau “ suspect” sau ”extindere suspect” sau “pus in miscare suspect”, iar campul solutie este completat se va numi cauza solutionata
Daca la campul fel_IUP are completat una din “fapta” sau este gol (necompletat), iar campul solutie este completat se va numi lucrare solutionata.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Mar Apr 22, 2014 7:52 pm

aici mai gasim vreo sugestie?

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Vin Apr 25, 2014 5:42 pm

Am sa incerc sa revin cu explicatii si poate am sa fiu mai concret cat am sa pot am incercat sa scriu conditia dar ma tauie ori ca nu am aoperator ori operand ori nu sunt incadrati in paranteze etc asa e cand faci ceva ce nu stiii si nu intelegi. Am sa incerc sa scriu pe limba mea astfel
Daca [fel_IUP]="in personam","suspect","extindere suspect","pus in miscare suspect", atunici "cauza penala" daca nu "lucrare penala" , iar daca [fel_IUP]="in personam","suspect","extindere suspect","pus in miscare suspect" si [solutia]= "clasare","reunire","renuntare", atunci "cauza solutionata", daca nu "lucrare solutionata"
Asta nu pot sa o traduc in limbaj acces sa o incadrez in paranteze, virgule,ghilimele etc.


Totusi la [fel IUP] ar mai putea fi "fapta", sau necompletat iar la [solutie] "NUP", "Conexare" este de ajuns ceea ce am scris mai sus?

cam asa am tradus eu =IIf([fel_IUP]="in personam";"cauza";IIf([fel_IUP]="suspect";"cauza";IIf([fel_IUP]="extindere suspect";"cauza";IIf([fel_IUP]="pus in miscare suspect";"cauza" And IIf([solutia]="clasare";"cauza solutionata";"Lucrare penala")))))
dar da doar cauza penala si nu si cauza solutionata sau altele

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Mie Apr 30, 2014 3:44 pm

Intrucat nu am gasit alt raspuns pamna acum am abordat altfel problema. Am facut doau controale de tip text in care am pus conditii pariale adica o conditie pentru ami afisa daca este cauza sau lucrare penala si o conditie pentru solutie. La textul pentru solutie am setat culoarea fontului pe alb sa nu se vada in formular si am conditionat controlul in sine sa schimbe culoarea daca are textul "solutionat". Sugestiile si comentariile sunt binevenite.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: o mica problema cu functia IF

Mesaj de cvmircea » Sâm Mai 17, 2014 10:38 pm

Malasorte , ai putea sa folosesti doua tabele : tabelul evenimente si tabelul tipuri IUP . Tabelul cu tipurile IUP va avea cimpurile: id, fel_IUP si inca un cimp cu textul pe care vrei sa il afiseze pentru fiecare fel de iup(lucrare penala, cauza etc). Faci legatura intre acestea si dupa aceea este simplu sa afisezi stadiu dosar, iar pentru stadiu solutie poti sa faci cu if-uri cum ai facut sau poti pune un text pe care il faci vizibil sau invizibil in functie de criteriile pe care le vrei tu.

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: o mica problema cu functia IF

Mesaj de malasorte » Mar Mai 20, 2014 5:58 am

in baza am 2 tabele,dar nu m-am gandit la varianta ta
oricum am facut cu if si functipneaza.as fi vrut sa am doar un comtol,dar merge si asa

Închis

Înapoi la “Intrebari despre Access 2007”