Avatar billede region Nybegynder
01. august 2001 - 14:49 Der er 20 kommentarer og
3 løsninger

minimum værdi HASTER...

i en query ønsker jeg i et felt at angive det mindste beløb af felt 1 , 2, eller 3.

Funktionen skal fungere som man laver dte i excel eks.:
=MIN(A1;B1;C1)
Avatar billede terry Ekspert
01. august 2001 - 15:09 #1
SELECT tbl1Numbers.int1, tbl1Numbers.int2, tbl1Numbers.int3, MyMin([tbl1Numbers]![int1],[tbl1Numbers]![int2],[tbl1Numbers]![int3]) AS minimum
FROM tbl1Numbers;



Public Function MyMin(num1 As Variant, num2 As Variant, num3 As Variant) As Variant

Dim temp As Variant

    If num1 <= num2 Then
        temp = num1
    Else
        temp = num2
    End If
   
    If num3 < temp Then
        temp = num3
    End If
   
    MyMin = temp
   
End Function
Avatar billede region Nybegynder
01. august 2001 - 15:17 #2
Terry :

JEg kan jo hverken bruge VBA eller SQL i en udtryksgenerator.!! eller hvad???


eks.;

jeg har en qyery 1 der har 3 felter ( 1,2 og 3 )
i et 4.de felt i denne query 1 vil jeg så have vist minimummet af de 3 første felter.

Avatar billede region Nybegynder
01. august 2001 - 15:17 #3
Felterne 1,2,3 er beregnede felter ud fra 3 forskellige tabeller...
Avatar billede terry Ekspert
01. august 2001 - 15:22 #4
I can read what you want region, and it does just that. You have to do seomthingyourself for 15 points man!

MyMin([tbl1Numbers]![int1],[tbl1Numbers]![int2],[tbl1Numbers]![int3]) AS minimum

makes a call to the function MyMin() whcih you should place in a module.

You need to alter the three fields in the Mymin inthe query to the names of the three fields in your query.
Avatar billede region Nybegynder
01. august 2001 - 15:37 #5
Hvor søren blev min kommentar til pointforøgelsen af...?????  nå den kommer her...

kan jeg få den til at skrive det feltnavn der har den laveste min. istedet for den aktuelle værdi...

skal lige teste det med dit modul...
Avatar billede terry Ekspert
01. august 2001 - 15:43 #6
I would think it is possible, but the field names are in the fields collection (further down in Access) so it isnt that easy. I can return the field number for example \"fld1 was the smallest\" or \"field two was the smallest\"!
Avatar billede fdata Forsker
01. august 2001 - 15:52 #7
Wouldn\'t this work:
1. Detect that fldN was the smallest
2. Return tbl1.Fields(N).Name (or possibly N-1)
Just an idea.

Avatar billede terry Ekspert
01. august 2001 - 15:56 #8
something like that would work, but modifications to the table (extra fields) would cause a problem, IE it isnt idiot proof....

But if region wanted that then no problem?
Avatar billede region Nybegynder
01. august 2001 - 16:27 #9
jeg har gemt flg. i et modul som er navngivet module1:

Public Function MyMin(num1 As Variant, num2 As Variant, num3 As Variant) As Variant

Dim temp As Variant

    If num1 <= num2 Then
        temp = num1
    Else
        temp = num2
    End If
   
    If num3 < temp Then
        temp = num3
    End If
   
    MyMin = temp
   
End Function

hvad er det så helt konkret jeg skal gøre i min qyery i design i et nyt felt...???
Avatar billede region Nybegynder
01. august 2001 - 16:31 #10
felt 1 = [DK FK-pris]
felt 2 = [AB FK-pris i DKK]
felt 3 = [DE FK-pris i DKK]

felt 4 = [bedste pris] = dn laveste af de 3 foregående felter...


Avatar billede terry Ekspert
01. august 2001 - 19:57 #11
in an empty column copy this text

bedste pris: MyMin([DK FK-pris];[AB FK-pris i DKK];[DE FK-pris i DKK])

which will give you a SELECT something like this (my table name isnt the same as yours!)

SELECT tbl1Numbers.[DK FK-pris], tbl1Numbers.[AB FK-pris i DKK], tbl1Numbers.[DE FK-pris i DKK], MyMin([DK FK-pris],[AB FK-pris i DKK],[DE FK-pris i DKK]) AS [bedste pris]
FROM tbl1Numbers;
Avatar billede proaccess Nybegynder
02. august 2001 - 07:42 #12
Så længe at du \"kun\" har med 3 mulige felter at gøre kan du også vælge at bruge IIf:

SELECT [DK FK-pris], [AB FK-pris i DKK], [DE FK-pris i DKK], IIf([DK FK-pris]<[AB FK-pris i DKK],IIf([DK FK-pris]<[DE FK-pris i DKK],\'[DK FK-pris]\',\'[DE FK-pris i DKK]\'),IIf([AB FK-pris i DKK]<[DE FK-pris i DKK],\'[AB FK-pris i DKK]\',\'[DE FK-pris i DKK]\')) AS [bedste pris] FROM tabel;

Da du samtidig allerede kender navnene på dine felter, har jeg \"bare\" sat IIf\'erne til at returnere disse som tekst...
Avatar billede proaccess Nybegynder
02. august 2001 - 07:43 #13
Du behøver således IKKE at bruge nogen funktioner (andet end dem, som allerede er indbygget i Access)
Avatar billede region Nybegynder
02. august 2001 - 09:07 #14
Terry >

hvis jeg skriver :

bedste pris: MyMin([DK FK-pris];[AB FK-pris i DKK];[DE FK-pris i DKK])

skal jeg indtaste parameter value for de 3 felter, hvilket jo resulterer i et Null resultat.

som sagt så er disse 3 også beregnede felter..


proaccess >

eftersom dit eksempel skal skrives  et feltnavn også har jeg rettet det til :

Bedste pris: IIf([DK FK-pris]<[AB FK-pris i DKK];IIf([DK FK-pris]<[DE FK-pris i DKK];[DK FK-pris];[DE FK-pris i DKK]);IIf([AB FK-pris i DKK]<[DE FK-pris i DKK];[AB FK-pris i DKK];[DE FK-pris i DKK]))

den spørger dog igen om parameter value når queryen forsøges kørt...


Avatar billede proaccess Nybegynder
02. august 2001 - 09:14 #15
Kan du ikke lige skrive din fulde SQL til denne query...  Hvis du har noget a\'la SELECT fldBeløb*fldKurs/100 AS [AB FK-pris i DKK]... så skal du også angive formlerne i din Iff (eller i Terry\'s bruger-funktion)
Avatar billede region Nybegynder
02. august 2001 - 09:32 #16
har løst det på flg måde :

lavet et nyt felt der har flg formel :
lav DK-SE: IIf([DK FK-pris]<[AB FK pris i DKK];[DK FK-pris];[AB FK pris i DKK])

lavet endnu et felt :
laveste: IIf([lav DK-SE]<[DE FK pris i DKK] Or [DE FK pris i DKK] Is Null;[lav DK-SE];[DE FK pris i DKK])

og et sidste felt :
laveste pris: IIf([laveste]=[DK FK-pris];\"DANMARK\";IIf([laveste]=[AB FK pris i DKK];\"SVERIGE\";IIf([laveste]=[DE FK pris i DKK];\"TYSKLAND\")))
Avatar billede region Nybegynder
02. august 2001 - 09:36 #17
hvis der bliver \"ramaskrig\" over denne fordeling / størrelse af point må vi tage dette nu
Avatar billede terry Ekspert
02. august 2001 - 10:00 #18
region> \"ramaskrig\" You obviosusly were expecting it...

Dont get me wrong, points isnt everything, but using other peoples answers and ideas in your own answer just isnt on, and I think you know that!

You have to be VERY carefull else you amy not get assistance in futere, after all you can find your own answer....
Avatar billede region Nybegynder
02. august 2001 - 13:03 #19
Terry:

Nu er jeg IKKE kendt for at være en der på eksperten er fedtet med point selvom jeg ikke altid kan bruge svarene til noget.

Ramaskrig var egentlig ment som en venlig opfordring fordi jeg ikke vil have at folk synes jeg er et røvhul...!!!!!

Istedet for at true mig med at jeg skal passe på dit og dat og blabla kunne du jo pænt og ordenligt sige at du gerne så x-antal point mere til dig selv for din indsats.

giv mig venligst et svar på hvad du mere ønsker...så opretter jeg et spørgsmål til dig!!!!!!!

Til sidst har jeg kun at sige at den løsning jeg selv kom med måske lidt ligner proaccess forslag, men gør en generel iif sætning ikke altid dette. Jeres løsning virker ikke, det gør den jeg selv har lavet hvorfor jeg ser det naturligt at give mig selv pointene igen. ( jeg er ret sikker på at andre brugere på eksperten ville have beholdt alle 60 point til dem selv. )


Nu er det du skal spørge dig selv om du synes jeg er uretfærdig og en dårlig ekspert-kollega...????
Avatar billede terry Ekspert
02. august 2001 - 13:43 #20
region> Why would people think you were a \"røvhull\"? If you thought that the given points was fair, then you would have no reason to think that others thought that of you, but you did!

Just to re-cap. You asked one question, then changed it to something else. People have used time on giving you an answer to the first question, but in the meantime you get other ideas and change your question, and this ISNT the first time its happened is it?

Yes an IIF you use is the same as the one anyone else uses, but its where and how its used that makes the difference!













Avatar billede region Nybegynder
02. august 2001 - 13:51 #21
hvis du er irreteret over min måde at spørge på og at jeg nogle gange ændrer spørgsmålet lidt ( mod flere point..) så lad være med at deltage i disse...

:-)
Avatar billede terry Ekspert
02. august 2001 - 13:53 #22
good idea!
Avatar billede proaccess Nybegynder
02. august 2001 - 13:58 #23
Hvis ikke lige det var for de sorte skyer udenfor mit vindue, ville jeg spørge om ikke I 2 er gået amok i sommervarmen...?
Sådan plejer I da ikke at snakke sammen...

Jo, Region har tidligere (og igen denne gang) ændret spørgsmålet en smule, og Jo det er som regel fulgt op af en forhøjelse af pts...

Jo, IIf er almindeligt brugt og Jo der kan være forskel på hvordan man bruger den...

Jo, Terry fik kun 10 pts. denne gang, MEN du har da for pokker fået mange fra Region tidligere...

Lighten up, it\'s soon weekend and maybe we might even see the sun...  ;-)

Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester