SETAR VARIAVEL NO VB6

ROGERCSANTOS 20/12/2013 14:22:08
#432374
Filman,

Eu tentei utilizar este tipo de select que você me enviou, porém, eu preciso mostrar mais de uma coluna na tabela, sendo elas: CODIGO,CODIGOFEBRABAN,ABREVIATURA,NOME.
Neste caso ai só retorna o código e por isso da pau na hora de mostrar os dados.

txtcodigo.Text = rsSelecaoBancoPri!CODIGO
txtcodbanco.Text = rsSelecaoBancoPri!CODIGOFEBRABAN
txtabrbanco.Text = rsSelecaoBancoPri!ABREVIATURA
txtnomebanco.Text = rsSelecaoBancoPri!Nome

Se eu usar o select deste modo apresenta o seguinte erro nos campos CODIGOFEBRABAN,ABREVIATURA,NOME:

Run-Time error [ô]3265[ô]

O item não pode ser encontrado na seleção correspondente ao nome ou ordinal solicitado.

Usei os selects que os amigos MARCELO-TREZE e KERPLUNK enviaram e os dois deram o mesmo erro, sendo:

Run-time erro [ô]-2147217900 (80040e14)[ô]:

Uma expressão de tipo não booleano especificada em um contexto no qual se espera uma condição, próxima a [ô])[ô]:

Estranho que se eu jogar o seguinte select no SQL Server ele retorna exatamente o que eu preciso:

SELECT CODIGO,CODIGOFEBRABAN ,ABREVIATURA,NOME FROM BANCO Where CODIGO < 184 and CODIGO = (SELECT MAX(CODIGO) FROM BANCO Where CODIGO < 184)

Observação: o valor 184 é referente a um código cadastrado no BD, no sistema preciso colocar o valor que estiver no txtcodigo.text.

Creio que possa ser tipo de dados ou simplesmente concatenação, mais não consegui ver qual o erro.

Abraço
ROGERCSANTOS 23/12/2013 10:14:31
#432410
Alguém tem alguma idéia?
KERPLUNK 23/12/2013 10:40:27
#432411
Ok, vamos solucionar isso.

Qual a estrutura da sua tabela?
O que você quer fazer?
ROGERCSANTOS 23/12/2013 10:55:12
#432412
A estrutura da Tabela é a seguinte:

Nome da Tabela: BANCO

CODIGO - INT - Não Permite Valor Nulo
CODIGOFEBRABAN - INT - Não Permite Valor Nulov - Primary key
ABREVIATURA - nvarchar(50) - Não Permite Valor Nulo
NOME - nvarchar(50) - Não Permite Valor Nulo
LOGO - IMAGE - Permite Valor Nulo

Eu preciso que quando clicar no botão anterior o sistema mostre os dados do código anterior. E para isso levo em consideração o campo CODIGO para comparar.

Só que já tentei várias coisas, de acordo com os posts anteriores e nada do botão funcionar.


KERPLUNK 23/12/2013 11:05:17
#432413
Com [Ô]dados do código anterior[Ô], você quer dizer o que?
ROGERCSANTOS 23/12/2013 11:14:14
#432414
Exemplo:

Vamos supor que tenho na minha tabela os seguintes dados:

=============================================================================
CODIGO = CODIGOFEBRABAN= ABREVIATURA = NOME = LOGO =
=============================================================================
183 = 2050 = BB = BANCO DO BRASIL = NULL
184 = 2410 = CEF = CAIXA ECONOMICA FEDERAL = NULL
185 = 1901 = ITAU = ITAÚ = NULL
=============================================================================

Supomos que o código que está sendo apresentado na tela no momento é o 185. O que eu preciso é que quando eu clicar no botão anterior o sistema mostre os dados do código 184.

No prompt do SLQ SERVER eu jogo o seguinte SQL e traz o código anterior normalmente como eu preciso, sendo:

SELECT CODIGO,CODIGOFEBRABAN ,ABREVIATURA,NOME FROM BANCO Where CODIGO < 185
and CODIGO = (SELECT MAX(CODIGO) FROM BANCO Where CODIGO < 185)

Porém quando eu substituo os valores 185 do select e coloco os txts correspondentes da erro.

FILMAN 23/12/2013 19:25:31
#432421
Faça assim então

Dim sSQL As String

sSQL = [Ô][Ô]

sSQL = sSQL & [Ô]SELECT [Ô]
sSQL = sSQL & [Ô] CODIGO,CODIGOFEBRABAN,ABREVIATURA,NOME [Ô]
sSQL = sSQL & [Ô] FROM BANCO [Ô]
sSQL = sSQL & [Ô] WHERE CODIGO < [Ô] & SeuTextBox.Text
sSQL = sSQL & [Ô] AND CODIGO = (SELECT MAX(CODIGO) FROM BANCO WHERE CODIGO < [Ô] & SeuTextBox.Text & [Ô])[Ô]

rsSelecaoBancoAnt.Open sSQL, CN_Ant, adOpenStatic


Realizei os testes aqui e deu certo
ROGERCSANTOS 24/12/2013 08:14:12
#432426
Bom dia Filman,

Perfeito.
Sua solução funcionou perfeitamente. Muito obrigado pela ajuda e pela paciência que teve.
Aproveitando, gostei dessas suas frases:

Deus não escolhe os capacitado, capacita os escolhidos!!!
é mais fácil ensinar do que educar, pois para ensinar você precisa somente saber, mas para educar você precisa ser!

Isso demonstrar que vc é sábio e humilde.

KERPLUNK, também preciso te agradecer, você assim com o Filman é um excelente profissional. Precisa ter o dom para ensinar as pessoas sem ganhar nada por isso.

Eu, assim como muitos programadores inexperientes agradecemos o profissionalismo e a boa vontade de vocês.

Grande Abraço

FILMAN 26/12/2013 21:23:24
#432477
Resposta escolhida
Obrigado, disponha!


Mas agora para não poluir o fórum caso sua duvida foi resolvida encerre o tópico e caso necessite abra um outro tópico!


Ate a próxima
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas