|
| Hjælp til random funktion... Fra : Svetlana Kinapusher |
Dato : 07-06-02 21:46 |
|
Hej,
Jeg har programmeret et site, som desværre volder mig lidt problemer. Nogle
gange får jeg følgende fejl:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den
anmodede handling kræver en aktuel post.
Jeg har en random funktion der ser således ud:
<%
SQL2 = "Select COUNT(ID) As Antal From Virksomheder WHERE Aktiv = True"
Set rs2 = Conn.Execute(SQL2)
Randomize
Tal = CInt((rs2("Antal") * Rnd) + 1)
SQL3 = "Select * From Virksomheder WHERE Aktiv = True AND ID=" & Tal
%>
Men problemet er at rs2("Antal") blot indeholder et tal der fortæller hvor
mange poster der er i tabellen, det kunne f.eks. være rs2("Antal") = 20.
Derefter laver jeg så en random på de 20, det kunne så f.eks. returnere
tallet 11. Men hvis så jeg har slettet posten med ID = 13 så vil det jo give
fejl når jeg arbejder videre med min rs3...
Hvordan kan jeg løse det problem.
På forhånd tak,
Med venlig hilsen
Peter F. Poulsen
| |
Jørn Andersen (08-06-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 08-06-02 00:25 |
|
On Fri, 7 Jun 2002 22:46:10 +0200, "Svetlana Kinapusher"
<flemming@henx.com> wrote:
>Men problemet er at rs2("Antal") blot indeholder et tal der fortæller hvor
>mange poster der er i tabellen, det kunne f.eks. være rs2("Antal") = 20.
>Derefter laver jeg så en random på de 20, det kunne så f.eks. returnere
>tallet 11. Men hvis så jeg har slettet posten med ID = 13 så vil det jo give
>fejl når jeg arbejder videre med min rs3...
>
>Hvordan kan jeg løse det problem.
Du kunne hente dine id'er med
Select ID From Virksomheder WHERE Aktiv = True
putte dem i et array og så køre random på UBound(array)
(evt. med GetRows)
resultatet af random bruger du så til at hente resultatet med
Tal = array(intResultatAfRandom)
og så:
Select * From Virksomheder WHERE Aktiv = True AND ID=" & Tal
Håber det gav en idé?
Good luck
--
Jørn Andersen,
Brønshøj
| |
|
|