Avatar billede karitolsen Nybegynder
17. juli 2001 - 21:21 Der er 15 kommentarer og
1 løsning

Boolske værdier og kolonner med tal-navn

Hej i derude

Jeg bøvler lidt med et bookingsystem. Jeg arbejder med en Access-DB, hvor en kolonne indeholder dato og de resterende er så defineret som ja/nej-felt og hedder

\"8\", \"8,5\", \"9\", \"9,5\" osv. til \"22\".

Det gør jeg så jeg iterativ kan gennemgå alle kolonner og checke, om de er ja eller nej (optaget eller ledige). Hvis ja, så skal baggrundsfarven i cellen blive rød, ellers skal den være grøn. Du får nu den stump kode som jeg prøver at checke indholdet i DB\'en med:

   
For intHour = 8 to 21
  if not objRec.EOF then
  if objRec(intHour) then
    sBGColor = \"red\"
  else
    sBGColor = \"green\"
  end if
  else
    BGColor = \"green\"
  end if
%>
<td valign=\"bottom\" BGCOLOR=sBGColor><%=intHour%>.00</td>

<%
if not objRec.EOF then
  if objRec(intHour & \",5\") then
    sBGColor = \"red\"
  else
    sBGColor = \"green\"
  end if
else   
  sBGColor = \"green\"
end if
%>
<td valign=\"bottom\" bgcolor=sBGColor><%=intHour%>.30</td>
<% Next %>

Det er nok et eller andet med, at man ikke kan bruge tal til at sammenligne et navn af en kolonne i DB\'en ??????

/Karit    
Avatar billede jacobve Nybegynder
17. juli 2001 - 21:25 #1
hvad sker der ved eksekveringen af det stykke kode? hvilken fejl får du?
Avatar billede avlund Nybegynder
17. juli 2001 - 21:25 #2
Jeg er ikke helt sikker på, at jeg er klar over hvori problemet ligger.
Avatar billede karitolsen Nybegynder
17. juli 2001 - 21:30 #3
Det der sker er, at alle felter i tabellen bliver grøn, selvom jeg har sat checktegn hos nogle i DB\'en og disse så skulle blive røde.
Avatar billede jacobve Nybegynder
17. juli 2001 - 21:38 #4
du er sikker på at der bliver valgt en række ud fra tabellen ik?

prøv evt (under udviklingen) at skrive

...
if not objRec.EOF then
  if objRec(intHour) then
    sBGColor = \"red\"
  else
    sBGColor = \"green\"
  end if
  else
    BGColor = \"blue\"
  end if
...


for at se om de alle bliver blå...
Avatar billede jacobve Nybegynder
17. juli 2001 - 21:39 #5
og her...

if not objRec.EOF then
  if objRec(intHour & \",5\") then
    sBGColor = \"red\"
  else
    sBGColor = \"green\"
  end if
else   
  sBGColor = \"blue\"        \'ændret
end if
Avatar billede jacobve Nybegynder
17. juli 2001 - 21:41 #6
jeg har forstået det som at der står \'true\' ud for de der er markeret og false ellers er det korrekt?
Avatar billede karitolsen Nybegynder
17. juli 2001 - 21:41 #7
Nope, de er stadigvæk grønne.
Avatar billede karitolsen Nybegynder
17. juli 2001 - 21:42 #8
og ja, du har forstået det rigtigt.
Avatar billede jacobve Nybegynder
17. juli 2001 - 21:49 #9
så begynder jeg at nære en lille frygt for at tabellerne i en database ikke har det godt med at starte med en talværdi, men at der skal stå noget foran. (samme princip som ved brug af variable)

du kunne evt omdøbe dine tabeller til at hedde:

\"x8\"  \"x8,5\"  \"x9\"  \"x9,5\"..

og se om det ville hjælpe...

inden da kan du prøve med dette:

if not objRec.EOF then
  if not objRec(intHour & \",5\") then
    sBGColor = \"green\"
  else
    sBGColor = \"red\"
  end if
else   
  sBGColor = \"blue\"        \'ændret
end if


bliver de røde, så er jeg sikker på det noget med navngivningen af tabellerne
Avatar billede karitolsen Nybegynder
17. juli 2001 - 22:02 #10
Jeg er lidt målløs. De er stadigvæk frygtelig grønne, MEN hvis jeg indsætter

response.write objRec(intHour)
mellem

For intHour = 8 to 21
og
  if not objRec.EOF then

så true og false\'er den derudaf, men ikke som jeg har afkrydset dem i DB\'en. ?????????
Den overførte Dato i Querystringen er 16-7-2001 og datoen i dato-feltet i DB\'en har samme \"værdi\". Men true og false\'rne stemmer slet ikke.
Det sjove er, at der både kommer true\'er og false\'r. Men hvorfor bliver felterne så ved med at være grønne??????

/Karit :-)
 
Avatar billede jacobve Nybegynder
17. juli 2001 - 22:09 #11
hov, kom lige til at tænke på en ting.

i linien her:

<td valign=\"bottom\" BGCOLOR=sBGColor><%=intHour%>.00</td>

se ændringen neden for.


<td valign=\"bottom\" BGCOLOR= <%=sBGColor%> ><%=intHour%>.00</td>

så skriver den baggrundsfarven til at være grøn, det gjorde den ikke før.

prøv det.
Avatar billede jacobve Nybegynder
17. juli 2001 - 22:11 #12
ang. din true og false forvirring, så se lige om den ikke gør præsist det modsatte af hvad du har sat den til... (pga den \'not\' der står foran objRec)

men prøv det ovenstående med det script du havde i starten.
Avatar billede jacobve Nybegynder
17. juli 2001 - 22:15 #13
du skulle nok skrive

<td valign=\"bottom\" BGCOLOR=\" <%=sBGColor%> \"><%=intHour%>.00</td>

for at få \"´erne med.
Avatar billede karitolsen Nybegynder
17. juli 2001 - 22:16 #14
Yeeeessss, det var det der skulle til. Jeg vidste det kun var en lille ting man stirrer sig blind på...

Tusind tak

Knus, Karit :-)
Avatar billede jacobve Nybegynder
17. juli 2001 - 22:18 #15
takker...

og så tror jeg lige jeg vil trække mine ord tilbage ang. det med at du skulle ændre dine variable navne :-) det var lidt for radikale ændringer måske :-)
Avatar billede karitolsen Nybegynder
18. juli 2001 - 10:28 #16
For en ordens skyld vil jeg lige nævne, at jeg faktisk blev nødt til at ændre navnene på mine kolonner i DB\'en til

\"h8\", \"h8,5\" osv.

for at den viste true og false rigtig.
Spørg mig ikke hvorfor...

/Karit =:)
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