Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Usei o código abaixo para mostrar na tela dados aleatoriamente da minha tabela só que mostra de forma aleatoria somente uma vez eu queria que fosse uma quantidade pré definida como dez dados da minha base de dados.<%Set db = Server.CreateObject("ADODB.Connection")db.Open "DRIVER={Microsoft Access Driver (.mdb)}; DBQ="& Server.MapPath("frase.mdb") & ";"%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><%set tabela = server.CreateObject ("ADODB.Recordset")Randomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value Rnd) + 1)set tabela = db.Execute("select from frases where Código="&id_tabela)do while tabela.EOFRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if not tabela.EOF then exit doloop%><%Do while not tabela.eof%> <table width="100" border="0"> <tr> <td><%response.write tabela("frase")%></td> </tr></table> <%tabela.movenext loop%></body></html>
Tirei e continuou dando o mesmo erro!!!
Acontece a mesma coisa. Mostra somente um dado da minha tabela eu queria que mostrasse 10 dados ao mesmo tempo de forma aleatoria!!!
<body><%set tabela = db.Execute("select from frases where Código="&id_tabela)do while tabela.EOFRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if tabela.EOF then exit doloop%><%Do while not tabela.eof%> <table width="100" border="0"><tr><td><%response.write tabela("frase")%></td></tr></table> <%tabela.movenextloop
copia o quote e diz o que deu...
Só mostra um dado da minha tabela!!!
do while tabela.EOF <<<substitua o código do quote que postei nessa linha:DO WHILE NOT TABELA.EOFo que acontece: faça enquanto tiver registros...
Tente isso<table width="100" border="0"><tr><%Do while not tabela.eofRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value Rnd) + 1)set tabela = db.Execute("select from frases where Código="&id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"loop%></tr></table> Valeu?
Deu certo. Só que este randomize está repetindo os dados da minha tabela e eles teriam que ser diferente.
Tente isso<table width="100" border="0"><tr><%x=1Do while not tabela.eofif x= 10 then exit do end ifRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)tabela.moveabsolut(id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"x=x+1loop%></tr></table> Valeu?
Eae gente boa .. beleza Vendo este codigo do Johnny ... vi q preciso de algo parecido então gostaria de saber para que serve o commando "Randomize" sozinho logo abaixo do RecordSet e o command "rnd" o q faz ?Obrigado pelas dicas
Eae gente boa .. beleza Vendo este codigo do Johnny ... vi q preciso de algo parecido então gostaria de saber para que serve o commando "Randomize" sozinho logo abaixo do RecordSet e o command "rnd" o q faz ?Obrigado pelas dicas
O "RANDOMIZE" inicia o gerador de num aleatórios, e o rnd é sua chamada, a sintaxe é a sequinte:(numrnd)+1 onde "num" é o valor máximo gerado pelo random.Espero ter ajudado a esclarecer sua duvida..Valeu? :blink:
Olha ainda não deu certo!!!!
Olha ainda não deu certo!!!!
O que houve agora? :P
Acho que não colei na parte do meu codigo certo, ande devo colar isto que você me informou?
Valeu Engespro ... exclareceu minha duvido com certeza ... !!!Ae Johnny ... eu fiz uns teste com este comando para ver como funcione ... e não repetiu não quer dizer ... as vezes ele repete um numero o ou outro mas de 100 somente 1 vez repetiu um numero...você já tentou fazer isso<table width="100" border="0"><tr><%x=1Do while not tabela.eof or x <= 10 Randomize nTotal_Reg = (db.Execute("select count() from frases").fields(0).value id_tabela = Int( nTotal_Reg Rnd) + 1) if id_tabela > nTotal_Reg Then exit do End if tabela.moveabsolut(id_tabela) Response.write"<td>"& tabela("frase") &"</td>"loop%></tr></table> Pronto ... espero ter ajudado tambem ..... hehehehe
<%Set db = Server.CreateObject("ADODB.Connection")db.Open "DRIVER={Microsoft Access Driver (.mdb)}; DBQ="& Server.MapPath("frase.mdb") & ";"set tabela = server.CreateObject ("ADODB.Recordset")tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimistic%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><table width="100" border="0"><tr><%x=1Do while not tabela.eofif x= 10 then exit do end ifRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value Rnd) + 1)tabela.moveabsolut(id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"x=x+1loop%></tr></table> </html>Acho que é esse o código :P
ADODB.Recordset error '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /internacional/coord/tempjohnny/teste2.asp, line 7 rodei e deu esse erro!!!
tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimisticErrinho bobo essa linha é assim:tabela.Open "frases",db,adOpenDynamic,adLockOptimistic
set tabela = server.CreateObject ("ADODB.Recordset")tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimistic%>
Não é por nada mas acho q o erro esta neste "bd_db" ... coloque somente db !!! T+
ADODB.Recordset error '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /internacional/coord/tempjohnny/teste2.asp, line 7 deu esse erro agora!!!!
Ae Johnny abrir o arquivo com RecorSet é mais usado para manutenção do bando de dados .... ------------------------------------------------<%Set db = Server.CreateObject("ADODB.Connection")db.Open "DRIVER={Microsoft Access Driver (.mdb)}; DBQ="& Server.MapPath("frase.mdb") & ";"Set tabela = db.execute( "Select from frases")%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><table width="100" border="0"><tr><%x=1Do while not tabela.eof and x <= 10Randomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)tabela.moveabsolut(id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"x=x+1loop%></tr></table> </html>tenta ai mano e fala se deu certo ou deu pau !!!!!!
Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'moveabsolut' /internacional/coord/tempjohnny/teste2.asp, line 22 deu esse erro!!!
Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'moveabsolut' /internacional/coord/tempjohnny/teste2.asp, line 22 deu esse erro!!!
Eu não manjo muito e não conheço este comando então usa assim:tabela.move id_tabelaT+
esse IF NOT TABELA.EOF está fazendo você sair do loop. Tanta somenteIF TABELA.EOF e vê se resolve o seu problema...