Ir para conteúdo

POWERED BY:

Arquivado

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

mkboy

Select Case Dinâmico

Recommended Posts

Tenho um select case com umas 300 linhas, quero faze-lo dinâmico, vou como é ele atual, qual a idéia e como to tentando fazer e o erro que me parou.

 

Meu Case é assim: Me mostra os digitos iniciais do Cep para minha busca

 

  varEstado = "AC"

  session("varFrete") = "22,00"

  case "57"

  varEstado = "AL"

  session("varFrete") = "12,00"

  case "69"

  varEstado = "AM"

  session("varFrete") = "13,00"

No caso acima, alguns estados tem varios prefixos, entao criei no banco um campo cep que aceita a faixa de CEP assim: 64,65,66

 

Então a idéia é listar todos registros da tabela e dentro criar os cases individuais, pois dividi os valores em um array e listei cases individuais para cada registro, como no exemplo abaixo, fiz um for de um registro especifico.

 

ASP

[*]SQL_01 "SELECT * FROM tb_localidades"' where b_id "& 65 &""

 

[*]Set RS_01 = conexao.execute(SQL_01)

 

[*]

 

[*] 

 

[*]

 

[*] varCep = rs_01("b_cep")

 

[*] arrayCep = Split(varCep,",")

 

[*] primeiro = Lbound(arrayCep)

 

[*] ultimo = Ubound(arrayCep)

 

[*]

 

[*] for i = primeiro to ultimo

 

[*]

 

[*] response.write ("case "&arrayCep(i)&"<br>")

 

[*] varEstado = ""&rs_01("b_uf")&""

 

[*] response.write ("varEstado "&varEstado&"<br>")

 

[*] Session("varFreteCapital") = rs_01("b_preco_capital")

 

[*] response.write ("Frete "&rs_01("b_preco_capital")&"<br>")

 

[*] Session("varFreteinterior") = rs_01("b_preco_interior")

 

[*] response.write ("Frete "&rs_01("b_preco_interior")&"<br>")

 

[*]

 

[*] next

 

[*]

 

[*] 

 

O resultado na tela foi!

 

case 66varEstado = APFrete = 6,00Frete = 16,50case 67varEstado = APFrete = 6,00Frete = 16,50case 68varEstado = APFrete = 6,00Frete = 16,50
Entao agora eu tentei fazer isso com todos os registros!

 

ASP

[*]SQL_01 "SELECT * FROM tb_localidades"

 

[*]Set RS_01 conexao.execute(SQL_01)

 

[*]

 

[*]while not rs_01.eof

 

[*]

 

[*] varCep rs_01("b_cep")

 

[*] arrayCep Split(varCep,",")

 

[*] primeiro Lbound(arrayCep)

 

[*] ultimo Ubound(arrayCep)

 

[*]

 

[*] for i = primeiro to ultimo

 

[*]

 

[*] response.write ("case "&arrayCep(i)&"<br>")

 

[*] varEstado = ""&rs_01("b_uf")&""

 

[*] response.write ("varEstado = "&varEstado&"<br>")

 

[*] Session("varFreteCapital"rs_01("b_preco_capital")

 

[*] response.write ("Frete = "&rs_01("b_preco_capital")&"<br>")

 

[*] Session("varFreteinterior"rs_01("b_preco_interior")

 

[*] response.write ("Frete = "&rs_01("b_preco_interior")&"<br>")

 

[*]

 

[*] next

 

[*]

 

[*]rs_01.movenext : wend

 

E o erro foi esse:

 

Erro de tempo de execução do Microsoft VBScript (0x800A005E)
Uso inválido de Null: 'Split'

 

Para fazer o que quero, o caminho é esse?

Como prosseguir!?

:mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, aparentemente é possível, mas seu erro ocorreu pois em algum registro o campo veio vazio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza TIO, é isso mesmo! coloquei 1,2,3 em todos pra funcioanar, o resultado que tenho na tela é assim:

case 1varEstado = AMFrete = 5,00Frete = 15,50case 2varEstado = AMFrete = 5,00Frete = 15,50case 3varEstado = AMFrete = 5,00Frete = 15,50case 66varEstado = APFrete = 6,00Frete = 16,50case 67varEstado = APFrete = 6,00Frete = 16,50case 68varEstado = APFrete = 6,00Frete = 16,50case 63varEstado = PAFrete = 7,00Frete = 17,50case 64varEstado = PAFrete = 7,00Frete = 17,50case 65varEstado = PAFrete = 7,00Frete = 17,50

Agora preciso fazer isso virar um select case!case "65"varEstado = "PA"Frete = "7,00"para que quando vier um valor via query eu consiga entrar no case e pegar o valor do frete e estado que me interessa!Tenho sugestões? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

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.