Stefan Falz: (SQL) Gegestückt zu record.MoveNext ...

Beitrag lesen

SQL="SELECT MAX(Datum) AS lDatum FROM Tabelle"
db.OPEN SQL,con
   db.Move_einen_Vorher
   lDatum = db("ldatum")
db.CLOSE

Also ich brauch nicht das maximale Datum sondern das preMaximale Datum aus der Tabelle,
dazu würde ich gern den Zeiger halt eben wieder einen Datensatz zurücksetzen.

Hallo,

mit deinem SQLString liest Du nur einen einzigen Satz aus,
daher kannst Du auch nicht zum vorherigen springen.

<%
SQL="SELECT TOP 2 Datum FROM Tabelle ORDER BY Datum DESC"
rs.OPEN SQL,conn
   If Not rs.EOF Then
      rs.MoveNext
      lDatum = rs.Fields("Datum")
   End if
rs.CLOSE
%>

TOP n geht allerdings nicht mit Access (nur SQL Server)
Daher sieht bei Access der SQL-String so aus:

<%
SQL="SELECT Datum FROM Tabelle ORDER BY Datum DESC"
rs.OPEN SQL,conn
   If Not rs.EOF Then
      rs.MoveNext
      lDatum = rs.Fields("Datum")
   End if
rs.CLOSE
%>

Alternativ kannst Du auch folgenden SQL-String basteln
<%
SQL = "SELECT max(Datum) as lDatum FROM Tabelle1 First WHERE First.Datum < (Select max(Datum) as l2Datum FROM Tabelle1 Second)DESC"
rs.OPEN SQL,conn
   If Not rs.EOF Then
      lDatum = rs.Fields("lDatum")
   End if
rs.CLOSE
%>

Tschau, Stefan