Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe_Moraes

[Resolvido] Select case de forma dinâmica

Recommended Posts

Olá pessoal, estou com um pequeno problema, tenho vários registros na base de dados, mas cada dia que passa ha mais registros, fiz um "menu/list" e com o "While" inserir todos os registro da bd automaticamente na lista, veja o código:

 

ASP
Set rsTarefas = Server.CreateObject("adodb.recordset")

sqlTarefas = "select * from tarefas_projectos"

rsTarefas.Open sqlTarefas,Conn,3,3

response.write("<select name='tarefa' id='tarefa'>")

While

 response.write("<option value="&  rsTarefas("id") &">"&  rsTarefas("nome") &"</option>")

rsTarefas.MoveNext

Wend

response.write("</select>")

 

Agora queria fazer um "Select", tipo, como não sei quantos registros tenho nesta lista como posso fazer o selec?

tipo:

ASP
tarefa = request.form("tarefa")

select tarefa

     case "1":VarTarefa = 1

     case "2":VarTarefa = 2

     ....

end select

 

Aqui é que esta o problema, como não sei qts registros tenho e nem sei se o primeiro value é 1, não consigo fazer o select de forma dinâmica.

Agradecia a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum... nao entendi ... Me diga... onde você usa essa variável VarTarefa ? Pelo que vi no seu SELECT CASE, essa variavel vai ser o valor do request("tarefa").

 

CASE 1: VarTarefa = 1

CASE 2: VarTarefa = 2

CASE 3: VarTarefa = 3 ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, é o seguinte, se fosse um select normal, seria feito assim:

ASP
tarefa = request.form("tarefa")

select tarefa

     case "1":VarTarefa = 1

     case "2":VarTarefa = 2

     ....

end select

 

Mas acontece que não é, é dinâmico, não sei qts registros ha na lista e nem sei o value de cada um, então tentei assim:

ASP
'pegar o ID do último registro:

Set rsTarefas = Server.CreateObject("adodb.recordset")

sqlTarefas = "select * from tarefas_projectos"

rsTarefas.Open sqlTarefas,Conn,3,3

ultimoID = rsTarefas("id")

 

tarefa = request.form("tarefa")

select tarefa

     for i = 1 to ultimoID

          case i:VarTarefa = i

     next

end select

Set rsTarefas = nothing

 

Assim vou ver qual o ID que ele selecionou na lista atraves do value.

Mas assim não deu certo. Agradecia a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bha... mano ... quem sabe poderia ajudar... mas nao compreendi... nao leva a mal.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao seria +/- dessa maneira?

 

ASP
tarefa = request.form("tarefa")

select tarefa

     for i = 1 to NOT seusql.EOF

          case i:VarTarefa = i

     next

end select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deste modo como o zeke_ postou vai gerar um storo de erro na linha 4.

 

Microsoft VBScript compilation (0x800A0400)
Expected statement

Pois não é possível ter instruções diretamente após o início do SELECT CASE se não estiver incorporado dentro do CASE.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ainda não entendi o proposito...se puder explicar e exemplificar posso me arriscar a dar um palpite

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok pessoal, obrigado pelo vosso esforço, mas ja consegui... Desculpa, não consegui explicar melhor, mas o que eu queria era pegar o "value" do nome selecionado na lista, tipo, tenho um select:

ASP
<select name="testeLista">

<option value="1">Teste1</option>

<option value="20">Teste2</option>

<option value="41">Teste3</option>

...

</select>

 

Como o value depende do ID que é retornado da BD, então eu não poderia fazer o select case, mas o que eu queria era capturar o value do nome selecionado na lista, então fiz request.form("testeLista") e ai ele me retornava o value do nome que o utilizador selecionou na lista.

Não sei explicar melhor, mas ta resolvido, muito simples.

 

Obrigado pelo vosso tempo. Valeuu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.