Avatar billede kovalt Nybegynder
05. august 2002 - 18:38 Der er 4 kommentarer og
1 løsning

While Not rs.EOF

Hej alle sammen

Jeg har pba. et SQL udtræk  et rs som jeg skal have testet. Der er kun et felt i rs nemlig status. Dette felt kan antage 2 værdier nemlig "rigtig" og "forkert". Hvis alle er rigtige skal variablen gevinst sættes til 100 hvis blot én er forkert skal variablen gevinst sættes til 0. Hvorledes går jeg bedst dette.
Avatar billede eagleeye Praktikant
05. august 2002 - 18:42 #1
Måske noget i stil med:

gevinst = 100
While Not rs.EOF
  if LCase(rs("status")) = "forkert" then
    gevinst  0
  end if
Wend
Avatar billede eagleeye Praktikant
05. august 2002 - 18:44 #2
der amgner lige rs.movenext  før Wend
Avatar billede eagleeye Praktikant
05. august 2002 - 18:45 #3
du kan også lave det sådan her

do while not rs.EOF
  if LCase(rs("status")) = "forkert" then
    gevinst = 0
    exit do
  else
    gevinst = 100
  end if
  rs.Movenext
loop
Avatar billede kovalt Nybegynder
05. august 2002 - 18:54 #4
Du får lige en mere hvis det er ok.....

Det hele kommer jeg af at jeg har en DB hvor der i de enkelte uger er lageret forskellige spil (oddset, bookmaking). Det forholder sig jo som bekendt sådan at alle kampe på sådan en kupon skal være rigtige såfremt der skal udbetales en gevinst. Jeg sidder så med det problem at jeg skal have testet om alle kampe er rigtige på disse kuponner. Til dette formål har jeg oprette den føromtalte status variabel er angiver om der er sammenfald mellem det spillede og det faktiske resultat. Hvis status er rigtig er den enkelte kamp rigtig og ved forkert selvfølgelig det modsatte.

Problemet er nu at jeg skal ha computeren til at teste om alle kampe på den givne kupon har status "rigtig". Er dette tilfældes er gevinsten ikke 100 som eksemplet ovenfor men derimod alle oddsene ganget sammen, hvilket igen skal ganges med indsatsen.

Eks.

kamp  Odds
1      2
2      3
3      5

Det samlede odds på denne kupon er 30 hvilken således giver en gevinst på 300 ved en indsats på 10 kr.

Kan du hjælpe mig med at ordne dette.

Du spørger bare hvis der er noget du ikke er helt med på
Avatar billede eagleeye Praktikant
05. august 2002 - 23:44 #5
så i stil med:

totalOdds = 1
do while not rs.EOF
  if LCase(rs("status")) = "forkert" then
    totalOdds = 0
    exit do
  else
    totalOdds = totalOdds * rs("Odds")
  end if
  rs.Movenext
loop


Gevinst = totalOdds * Indsats
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
Kurser inden for grundlæggende programmering

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