Anzahl von Elementen mit Bedinung anzeigen

Ok, neues Problem ;)

Folgende Situation: Ich habe eine Seite, auf der ich aktuelle Events ausgeben will und gleichzeitig eine Suchfunktion habe.
Die Ausgabe der aktuellen Events funktioniert einwandfrei, mit dem Script von ASPFAQ.de sogar auf mehrere Seiten.

Jetzt habe ich da drübre eine Form mit 2 Dropdownlists, eine mit den Daten (also 'Datum'-Daten ;) ) der nächsten 13 Tage, die andere mit allen in der Datenbank registrierten Orte, an denen Events stattfinden.

Wenn ich die Seite einfach so aufrufe, um alle Events anzeigen zu lassen, klappt alles einwandfrei. Sobald ich jedoch nach einem Event suche, bekomme ich folgende Fehlermeldung:

Code:
ADODB.Recordset error '800a0bcd' 
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 

/projekt/events.asp, line 84


Hier ist die entsprechende SQL Abfrage:
Code:
if Request.QueryString("mode") = "" then
    	SQL = "select ID, Headline, datume, Uhrzeit, Eintritt, location, stadt, Typ, Teaser, Top from News where datume >= date() order by datume, Uhrzeit "
	elseif Request.QueryString("mode") = "search" then
		SQL = "select ID, Headline, datume, Uhrzeit, Eintritt, location, stadt, Typ, Teaser, Top from News where datume = " & Request.Form("suchdatum")
	end if
(ich hab erstmal nur nach dem Datum suchen lassen, da das mit dem Ort ja dann nur das gleiche nochmal ist...)

und das hier ein Ausschnitt des darauf folgenden Codes:
Code:
' --- Definieren der Seitengröße (Anzahl Datensätze pro Seite)
Dim PageSize
    PageSize = 10

' --- Initialisieren des Counters
Dim intCounter
    intCounter = 1
    
' --- Einstellen der aktuellen Seite, weitere Prüfung
' --- erfolgt nach Öffnen des Recordsets
Dim AbsolutePage
    AbsolutePage = Request.QueryString("PN")

' --- Erstellen des Recordsets
Set objRS = Server.CreateObject("ADODB.Recordset")

    ' --- Zuweisen der Seitengröße (Anzahl Datensätze pro Seite)
    ' --- Diese Zuweisung muss vor dem Öffnen des Recordsets erfolgen.
    objRS.PageSize = PageSize
    objRS.CacheSize = PageSize

    ' --- Öffnen des Recordsets
    objRS.Open SQL, objConn, 3, 3

    ' --- Prüfen, ob die angegebene Seitennummer verwendet werden kann
    If AbsolutePage = "" Or Not IsNumeric(AbsolutePage) Or CInt(AbsolutePage) > CInt(objRS.PageCount) Then
        AbsolutePage = 1
    End if

    ' --- Zuweisen der aktuellen Seite. Diese Zuweisung
    ' --- muss nach dem Öffnen des Recordsets erfolgen
    objRS.AbsolutePage = AbsolutePage ==> DIES HIER WÄRE ZEILE 84

Für den Fehler Live und in Farbe:
http://www.webskop.de/projekt/events.asp
(Der Fehler wird dann, nach dem Suchen, in weiß schlecht leserlich unter dem Suchfeld angezeigt).


Hat jemand ne Idee?
 
Schau mal hier, Du übergibst ja gar keinen Wert an die SQL.

<select name="suchdatum" size="1">
<option>-----------------------</option>
<option>05.02.04</option>
<option>06.02.04</option>
<option>07.02.04</option>
<option>08.02.04</option>
<option>09.02.04</option>
<option>10.02.04</option>
</select>

So wäre es korrekt
<option value="05.02.04">05.02.04</option>

Kann aber sein, dass Du trotzdallem Probleme bekommst. Access will z.B. immer das Datum im Format #mm/dd/yyyy# haben. Ansonsten das Datum als String einlesen.

where datume =' " & Request.Form("suchdatum") & '" "
 
Zurück