23. januar 2001 - 15:14Der er
26 kommentarer og 1 løsning
Minimumsværdi af flere felter
Hej! Hvordan beregnes minimumsværdien af flere felter? Eksempel: Jeg har et varenummer, hvor der er givet tilbud fra flere leverandører, og vil gerne have minimumsværdien beregnet i et nyt felt. Leverandørerne er oprettet i hver sin kolonne.
Du skal ind i et modul i en formular du har dine data i en lave en funktion der kan find laveste pris. Det kan du gøre med en if then sætning. Først undersøger du de første 2 priser og sætter en variabel til den lave pris. Så undersøger du den næste pris. Hvis den lavere end variablen sætter du variblen til denne pris. Dette forsætter du med indtil du har været alle priser igennem. Herefter er variablen lig med den laveste pris. Du kan så sætte feltet laveste pris lig med variablen
Referencen i VBA-Access er: Forms![Formularnavn]![Feltnavn]
,de kantede parenteser skal bruges ved \"ugyldige\" navne, feks. [Alle salg de sidste 56 år] men AlleSalgDeSidste56År er ok.
Hvis koden programmeres i klassemodulet (=modulet bag selve formularen) er Feltnavn alene nok: MinPris = Feltnavn
Jan din hustler - variabeltypen hedder \"Currency\" og hvis der er tale om forskellige felttyper kan der med fordel anvendes en Variant. Ellers kan man for datasikkerhedens skyld anvende C(Typecast) funktionerne:
Dim MinPris as Currency
MinPris = CCur(Nz(Prisfelt1, 0)) if MinPris > CCur(Nz(Prisfelt2, 0)) then MinPris = CCur(Nz(Prisfelt2, 0)) ...etc
Hvis du gerne vil undgå at 0 bliver mindsteprisen hver gang du har et tomt felt, kan du erstatte 0 i Nz-funktionen med et højt tal: CCur(Nz(Prisfelt2, 99999999))
, Nz forhindrer at du får fejl hvis feltet er i NULL-tilstand (=Ikke indeholder noget)
Okay... jeg er spændt på om det virker. Lige nu kan jeg bare ikke finde ud af at kalde/starte programmet fra forespørgselen/rapporten. Kan i hjælpe med det?
Undskyld, at jeg ikke har svaret før. Mailadressens mand har været på ferie med sin bærbare PC, og jeg har forgæves forsøgt at ændre min mailadresse til den, jeg nu har fået oprettet til mig selv, men jeg har åbenbart et problem med at modtage mails udefra (det fungerer ellers fint internt), og kan derfor ikke klikke på linket for godkendelse af min nye adresse... og jeg ville jo vente med at stille flere spørgsmål til adressen var rettet.
Bortset fra det: Ja, det var sk...godt! Og jeg fik det også til at virke for Null-værdierne med Nz-funktionen. Imidlertid rendte jeg ind i et andet problem: Jeg skulle i en rapport beregne summer på i forvejen summerede felter, og uanset hvordan jeg gjorde, protesterede Access over at skulle udføre beregningen! Så af tidsmæssige årsager måtte jeg hive rådataene over i Excel, og programmere mig ud af beregningerne i Visual Basic. Dobbeltarbejde!!!
Men dit svar er bare OK! Mange tak, og ha\' det godt til næste gang. Fed side!
Med venlig hilsen Henriette
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.