Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:09 Der er 15 kommentarer og
1 løsning

Hente data

Jeg forsøger at få dato'en på hver enkle sygedomstype
og et antal på hver type i bunden

håber der er nogen der kan hjælpe:

her er min kode:


strSQL = "SELECT Medarbejdernummer, Dato, Sygdomstype FROM Fraværstatistik2 WHERE"
strSQL = strSQL & " ((medarbejdernummer LIKE '%" & sMedarbejdernummer & "%') AND (dato >= #" & dDatoFra & "#) AND (dato <= #" & dDatoTil & "#) And ((sygdomstype = '" & sAfspadsering & "') Or (sygdomstype = '" & sBarnSyg & "') Or (sygdomstype = '" & sDisp & "') Or (sygdomstype = '" & sFerieUL & "') Or (sygdomstype = '" & sFerieML & "') Or (sygdomstype = '" & sSyg & "') Or (sygdomstype = '" & sSygUL & "') Or (sygdomstype = '" & sSygDP & "') Or (sygdomstype = '" & sBarsel & "') Or (sygdomstype = '" & sTjenFriML & "') Or (sygdomstype = '" & sTjenFriUL & "') Or (sygdomstype = '" & sSH & "') Or (sygdomstype = '" & sKursUL & "') Or (sygdomstype = '" & sKursML & "')));"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db1.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then


Response.Write "<b>Skadedato: </b> <br> "

Do Until rs.EOF
    Select Case rs("sygdomsstype")
      Case "afspadsering": iAfspadsering = iAfspadsering + 1
      Case "sygul": iSygUL = iSygUL + 1
      Case "sygml": iSygML = iSygML + 1
      Case "ferieul": iFerieUL = iFerieUL + 1
    End Select
    Response.Write "Dato: " & rs("dato") & "<br>"
    rs.MoveNext
  Loop

end if


RS.Close
myconn.Close
Set conn = nothing
Set SQLstmt = nothing
%>


Her er fejlen:

ADODB.Recordset (0x800A0CC1)
Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
Avatar billede medions Nybegynder
23. maj 2003 - 00:11 #1
Recorden du efterspørgere er der ikke!

//>Rune
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:11 #2
Jeg kan sagtens få alle dato'erne samlet.. Og os antalet.. Men kan ikke finde ud af at få dem til at stå f.eks

Afspadsering:
01-02-2003
02-02-2003
Antal 2

Sygdom:
01-03-2003
02-03-2003
03-03-2003
antal: 3

osv..
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:12 #3
medion>> Jeg er rimelig ny.. har siddet med det 1 md.. Så du må hjælpe mig lidt mere :-s
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:15 #4
Det betyder du forsøger at udskrive fra en kolonne du ikke har hendter ud via din SQL.,

Eks:
SQL = "SELECT ID FROM tabel"
Set rs = Conn.Execute(SQL)

Hvis man så skriver denne linje:
Response.wrtie rs("navn")
Så kommer fejlen.
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:16 #5
I denne linje har du 2 s'er i sygdomsstype men i SQL er der kun et s sygdomstype

Select Case rs("sygdomsstype")


Så prøv at fjerne det ene s fra linjen så det bliver:

Select Case rs("sygdomstype")
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:22 #6
Uanset hvad jeg gør så virker det ikk

http://hehe.ravie.dk/Ny/test.asp

prøv f.eks 9210
01-01-2002 til 03-03-2003
marker Afspadsering

Så ved jeg der er mindst 1 men den vises jo ik
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:24 #7
prøv f.eks 9060
01-01-2002 til 03-03-2003
marker Afspadsering

Så går den i kage og klager.. Hvad kan jeg gøre for at få dem vist og den ikke går i kage.. Det var jeg prøvede at spørge om...
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:26 #8
Afspadsering:
01-02-2003
02-02-2003
Antal 2

Sygdom:
01-03-2003
02-03-2003
03-03-2003
antal: 3

sådan vil jeg gerne have det bliver vist efter man har søgt.. :-s
Det var det der var meningen med det hele
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:33 #9
Det kode du har udkriver kun datoen, og den kan ikke kende forskelt på om det er den ene eller anden type så datorerne bliver blandet..


  Select Case rs("sygdomsstype")
      Case "afspadsering"
        iAfspadsering = iAfspadsering + 1
        AfspadseringDato = AfspadseringDato & rs("dato") & "<br>"
      Case "sygul"
        iSygUL = iSygUL + 1
        sygULDato = sygULDato & rs("dato") & "<br>"
      Case "sygml"
        iSygML = iSygML + 1
        sygML = sygML & rs("dato") & "<br>"
      Case "ferieul"
        iFerieUL = iFerieUL + 1
        ferieUL = ferieUL & rs("dato") & "<br>"
    End Select
    rs.MoveNext
  Loop

if AfspadseringDato <> "" then
  Response.write "Afspadsering<br>"
  Response.write Afspadsering
  Response.write iAfspadsering & "<br><br>"
end if
if sygULDato <> "" then
  Response.write "Sygdom UL<br>"
  Response.write sygULDato
  Response.write iSygUL & "<br><br>"
end if
if sygMLDato <> "" then
  Response.write "Sygdom ML<br>"
  Response.write sygMLDato
  Response.write iSygML & "<br><br>"
end if
if ferieUL <> "" then
  Response.write "Ferie<br>"
  Response.write ferieUL
  Response.write iFerieUL & "<br><br>"
end if
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:35 #10
Der mangler så teksten antal, sådan her:

  Response.write "antal: " & iAfspadsering & "<br><br>"
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:38 #11
Prøver lige
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:43 #12
Virker altså ik.. Kommer ingen ting.. men heller ingen fejl


If Not (rs.BOF Or rs.EOF) Then


Response.Write "<b>Fravær: </b> <br> "

Do Until rs.EOF
    Select Case rs("sygdomstype")
      Case "afspadsering"
        iAfspadsering = iAfspadsering + 1
        AfspadseringDato = AfspadseringDato & rs("dato") & "<br>"
      Case "sygul"
        iSygUL = iSygUL + 1
        sygULDato = sygULDato & rs("dato") & "<br>"
      Case "sygml"
        iSygML = iSygML + 1
        sygML = sygML & rs("dato") & "<br>"
      Case "ferieul"
        iFerieUL = iFerieUL + 1
        ferieUL = ferieUL & rs("dato") & "<br>"
    End Select
    rs.MoveNext
  Loop

if AfspadseringDato <> "" then
  Response.write "Afspadsering<br>"
  Response.write Afspadsering
  Response.write iAfspadsering & "<br><br>"
end if
if sygULDato <> "" then
  Response.write "Sygdom UL<br>"
  Response.write sygULDato
  Response.write iSygUL & "<br><br>"
end if
if sygMLDato <> "" then
  Response.write "Sygdom ML<br>"
  Response.write sygMLDato
  Response.write iSygML & "<br><br>"
end if
if ferieUL <> "" then
  Response.write "Ferie<br>"
  Response.write ferieUL
  Response.write iFerieUL & "<br><br>"
end if

end if


RS.Close
myconn.Close
Set conn = nothing
Set SQLstmt = nothing
%>
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:48 #13
Den teskt der i kolonne er afspadsering og ikke Afspadsering ?
Avatar billede eagleeye Praktikant
23. maj 2003 - 00:51 #14
Prøv at sætte LCase omkring denne

    Select Case rs("sygdomstype")


Så hvis der er er stort bogstav i teksten i kolonnen så kommer det rigtigt med:

  Select Case LCase(rs("sygdomstype"))
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:52 #15
sAfspadsering = Request.Form("afspadsering")
Avatar billede michaelgm Nybegynder
23. maj 2003 - 00:54 #16
Det virker 1000 tak du for dine points.. Hehe .oO(Han har fået 90 fra mig idag)... Du er god.. :D
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