Notifications
Clear all

Listview - Realizar SELEC Where

6 Posts
2 Usuários
0 Reactions
1,612 Visualizações
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

Gostaria de agradecer o apoio de todo mundo nessa caminhada de aprendizado.

Acredito que evoluí bastante neste meio tempo. Consegui finalizar o formulário da cadastro (inserir nova demanda). Obviamente eu sei que ele tem melhorias a serem feitas, mas já executa o que eu gostaria.

Agora estou trabalhando com o formulário de pesquisa para editar as demandas, e estou com um problema na hora de realizar um select.

Dentro do forme EditarDemanda, tem a seguinte condição

ind = CInt(DemandaEscolhida)

sql = "SELECT * FROM ProjetosAutomacao"
sql = sql & " WHERE ID_PROJETO = '" & ind & "'"

O resultado deste sql parece estar retornando vazio! Se coloco sql = sql & " WHERE ID_PROJETO = 57'" ele me retorna dados, porém, mesmo que ind seja 57, ele não está me retornando nenhuma informação.

Alguém sabe o que pode estar acontecendo?

 
Postado : 26/05/2013 3:14 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei ainda o poruqe, coisa de Excel e VBA e MS, mas oao abrir o arquivo da mensagem "que não foi possivel carregar alguns objetos porque não estão disponiveis nesta máquina".

Mas olhando a rotina, eu acredito que o problema esteja no uso dos apostolos :
sql = sql & " WHERE ID_PROJETO = '" & ind & "'"

Experimente remove-los :
sql = sql & " WHERE ID_PROJETO = " & ind & ""

Outro ponto, é que na linha :
Numero0800.Text = banco.Fields(0)

Você está se referindo a primeira coluna, então se colocar para pesquisar 57 o retorno será o num 57.

EM tempo, como não consegui executar o arquivo, verifique tambem que tipo de dado está carregando na Variável :
ind = CInt(DemandaEscolhida), pois não encontrei este campo no formulário "EditarDemanda"

No teste que fiz, recriei um exemplo com o form acima, já que o mesmo tem somente um Controle Textbox com o nome "Numero0800".

Declarei a Variável DemandaEscolhida

Defini a mesma com o numero = 57
DemandaEscolhida = 57

mantive a linha :
ind = CInt(DemandaEscolhida)

e o retorno no controle "Numero0800" foi o numero 57, que é o que está pedindo na linha :
Numero0800.Text = banco.Fields(0)

Veja se é isto qq coisa retorne.

[]s

 
Postado : 26/05/2013 5:48 pm
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

Na verdade existe um módulo onde declarei

Public DemandaEscolhida As Long

Dentro do formulário PesquisaDemanda eu declarei

indiceRegistro = ListaPesquisa.ListItems.Item(ListaPesquisa.SelectedItem.Index)
DemandaEscolhida = indiceRegistro

Quando realizo o debug ind = CInt(DemandaEscolhida), o ind assume o valor correto.

Vou tentar sem as apostofres.

Sobre o campo Numero0800.Text = banco.Fields(0), realmente tenho que associar ao (1), porém, não está nem chegando nesta parte da rotina

 
Postado : 26/05/2013 7:06 pm
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

Tirei o apostofre e resolveu...

Bizarro! hauahuauhauha

Dá até vergonha kkkkkkkkkkkkkkkk

valeu parceiro

 
Postado : 26/05/2013 7:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tirei o apostofre e resolveu...
Bizarro! hauahuauhauha
Dá até vergonha kkkkkkkkkkkkkkkk
valeu parceiro

Sem esta de vergonha, eu já apanhei e ainda apanho muito com Strings em SQL, um site que costumo tirar duvidas é o abaixo, vale a pena dar uma olhada :

w3schools
http://www.w3schools.com/sql/sql_where.asp

Veja no Item :
Text Fields vs. Numeric Fields - Que diz :
SQL requires single quotes around text values (most database systems will also allow double quotes).
However, numeric fields should not be enclosed in quotes.

"SQL requer aspas simples em torno de valores de texto (a maioria dos sistemas de banco de dados também permitirá aspas).
No entanto, os campos numéricos não deve ser colocada entre aspas."

Depois clique na opção : Try it yourself >> e poderá gerar e entender as opções.

[]s

 
Postado : 27/05/2013 5:26 am
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

SHOOOOOOOOOOOOOW DE BOLA!! AGRADEÇO PRA CARAMBA!

 
Postado : 27/05/2013 9:52 am