Just nu i M3-nätverket
Gå till innehåll

ERROR


Morpheus

Rekommendera Poster

Använder SQL-satsen WHERE. Alltså:

Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("users.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM Test WHERE Faltet=4"

om det inte faltet är 4 någongång, så blir det ERROR. Vad gör jag?

[inlägget ändrat 2002-10-01 19:38:02 av Morpheus]

Länk till kommentar
Dela på andra webbplatser

Kör du en do until rs.eof?

 

Isåfall om ditt rs är tomt så får du ett felmeddelande. Testa isåfall följande:

 

if not rs.eof then

do until rs.eof

...

rs.movenext

loop

else

response.write "RS är tomt"

end if

 

Om det är något annat problem så skriv gärna ut felmeddelandet du får så är det lättare att hjälpa.

 

/Niklas

 

Länk till kommentar
Dela på andra webbplatser

Jag ändrade lite och gjorde följande sats:

Visa = "SELECT TOP 5 * FROM Test WHERE Medlem='arne' ORDER BY DATUM DESC"

 

Då blev felet:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.

 

Jag har en databas med:

| arne | 2002-02-03 21:35:25 |

| arne | 2002-08-06 15:10:19 |

| lisa | 2001-04-09 12:00:05 |

 

Jag vill lista de 5 senaste Arne. Om det bara är 4 skall de 4 senaste Arne visas. Är det ingen Arne skall inget hända.

 

Länk till kommentar
Dela på andra webbplatser

Ser ju rätt ut, det enda jag kommer på är att du kanske skrivit fel, att fältet Medlem inte är det fältet som innehåller namnen utan ett räknarfält eller nåt? För felmeddelandet tyder på att du exempelvis försöker jämföra ett numeriskt fält med en sträng. Vad är det för typ på fältet Medlem?

 

/Niklas

 

 

Länk till kommentar
Dela på andra webbplatser

Du har rätt - Medlem är ett numeriskt värde det glömde jag säga. Det är ingen räknare - använder datatypen Long.

 

Länk till kommentar
Dela på andra webbplatser

Okej, då är det något annat fält som innehåller "arne" och "lisa". Ändra till det fältet i WHERE-delen.

 

/Niklas

 

 

Länk till kommentar
Dela på andra webbplatser

Ursäkta; jag har varit lite otydlig. Jag använde Arne och Lisa för att ni skulle förstå vad jag menade lättare - men det är egentligen siffror. Så här ser HELA koden ut, som inte funkar:

 

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("users.mdb")&";"
Visa = "SELECT TOP 5 * FROM Test WHERE Medlem='58' ORDER BY Datum DESC"
Set RecSet = Connect.Execute(Visa)
Do Until RecSet.EOF
%><%=RecSet("Namn")%>: <%=RecSet("Datum")%><%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing

Felmeddelandet blir på raden med Set RecSet = Connect.Execute(Visa)

 

 

Medlem - nummer, man kan kalla det ID, men det är ingen räknare

 

Datum - datum

 

Namn - ett namn

 

Alla databaser där Medlem är 58 skall räknas med.

Det 5 senaste skall sorteras efter datum.

 

Tack för all hjälp!!!

 

[inlägget ändrat 2002-10-01 21:31:45 av Morpheus]

Länk till kommentar
Dela på andra webbplatser

Men dåså. Då är det bara att plocka bort fnuttarna:

 

SELECT TOP 5 * FROM Test WHERE Medlem=58 ORDER BY Datum DESC

 

/Niklas

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...