Streng = "" While not rsNumbersUsed.EOF Streng = Streng & "," & rsNumbersUsed("cd_id") rsNumbersUsed.MoveNext Wend arr_Streng = Split(Streng, ",")
For i = 1 To rsTopNumber("top_number") match = "false" For j = 0 To UBound(arr_Streng) If i = arr_Streng(j) Then match = "true" End If Next If match = "false" Then response.write i & "<br>" End If match = "false" Next
Men det medfører, at jeg får udskrevet alle tal i (altså 0 til top_number)
Giv et eksempel på indholdet af rsTopNumber("top_number")..
Hvis jeg har forstået det her rigtigt.. - du henter nogle tal fra rsNumbersUsed("cd_id") og smider det i "streng" - derefter looper du, og udskriver tallet fra streng, hvis det er lig "i"..
eller hvad..?
Jeg tror at jeg har misforstået et eller andet, så kan du ikke lige forklare det, med dine egne ord (hele sætninge. :-D)..?
rsTopNumber indeholder "SELECT MAX(cd_id) FROM programmer" altsådet højeste tal, i dette tilfælde 107. Jeg henter derefter alle tal ind i arr_Streng, hvilket konkret er alle tal fra 1 til 107 med undtagelse af 12 og 103.
Jeg vil så gerne have listet de tal der (op til 107), der ikke er indeholdt i arr_Streng, altså ikke er brugt.
strSQLTopNumber = "SELECT MAX(cd_id) AS top_number FROM programmer" set rsTopNumber = conn.execute(strSQLTopNumber)
strSQLNumbersUsed = "SELECT DISTINCT cd_id FROM programmer ORDER BY cd_id" set rsNumbersUsed = conn.execute(strSQLNumbersUsed)
Streng = "" While not rsNumbersUsed.EOF Streng = Streng & "," & rsNumbersUsed("cd_id") rsNumbersUsed.MoveNext Wend arr_Streng = Split(Streng, ",")
For i = 1 To rsTopNumber("top_number") match = "" For j = 0 To UBound(arr_Streng) If CInt(i) = CInt(arr_Streng(j)) Then match = "ja" End If Next If match = "" Then response.write i & "<br>" End If match = "" Next
Når du bruger database, skal du altid først checke om der er nogle records.. Da både "rsTopNumber" og "rsNumbersUsed" skal indeholde noget, ser det nogenlunde sådan ud:
strSQLTopNumber = "SELECT MAX(cd_id) AS top_number FROM programmer" set rsTopNumber = conn.execute(strSQLTopNumber)
if not (rsTopNumber.bof or rsTopNumber.eof) then
strSQLNumbersUsed = "SELECT DISTINCT cd_id FROM programmer ORDER BY cd_id" set rsNumbersUsed = conn.execute(strSQLNumbersUsed)
if not (rsNumbersUsed.bof or rsNumbersUsed.eof) then
Streng = "" While not rsNumbersUsed.EOF Streng = Streng & "," & rsNumbersUsed("cd_id") rsNumbersUsed.MoveNext Wend arr_Streng = Split(Streng, ",")
For i = 1 To rsTopNumber("top_number") match = "" For j = 0 To UBound(arr_Streng) If CInt(i) = CInt(arr_Streng(j)) Then match = "ja" End If Next If match = "" Then response.write i & "<br>" End If match = "" Next else response.write "rsNumbersUsed er tom!" end if else response.write "rsTopNumber er tom!" end if
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.