SQL COM COMBO E DBLIST

CLLEVER10 08/07/2012 11:25:06
#405703
Olá pessoal
Preciso saber se tem como usar dentro de uma consulta SQL os combos e os dblist.
EX.
[Ô]select * from cadastro where codigo= [ô][Ô] & txtcodigo & [Ô][ô][Ô]
No exemplo acima estou usando o txtcodigo para pegar o nome e fazer a comparação.
Eu preciso da mesma coisa ,só que com cboselecao e dblist1,mas não dá certo de jeito nenhum.
Ex.
[Ô]select * from cadastro where codigo= [ô][Ô] & cboselecao.text & [Ô][ô][Ô]
agradeço pela ajuda.
DANLEONHART 08/07/2012 15:08:45
#405705
Olá...
Você está falando do DataCombo e DataList ?
bem, eu não uso eles, mas faço com os componentes normais da IDE: o ComboBox e o ListBox.

Com o ComboBox é da maneira que você colocou:
 
[Ô]SELECT * FROM cadastro WHERE codigo=[ô][Ô] & cboselecao.Text & [Ô][ô][Ô]


Só um detalhe, dessa maneira o conteúdo do ComboBox deve ser do tipo String, e a coluna no Banco de Dados também.
Se for numérico (Byte, Integer, Single, Long) aconselho a retirar o apóstrofo ( [ô] ) e usar somente as aspas ( [Ô] ):
 
[Ô]SELECT * FROM cadastro WHERE codigo=[Ô] & cboselecao.Text


Quanto ao ListBox é só mais um pouquinho complicado pois deve-se pecorrer todo o ListBox para saber qual linha está selecionada, e só assim capturar seu conteúdo para fazer a busca:

Private Sub Lst1_DblClick()
[ô] Variáveis
Dim n As Integer
Dim vItem As String

[ô] Inicio a contagem das linhas do ListBox:
For n = O To Lst1.ListCount - 1

[ô] Detecto a linha selecionada:
If Lst1.Selected(n) = True Then

[ô] Aloco o resultado em uma variável:
vItem = Lst1.List(n)

[ô] Fechando o bloco da condição If:
End If
[ô] Fechando o bloco do contador For:
Next n

[ô] Apresento o resultado:
MsgBox [Ô]O Nome selecionado é : [Ô] & vItem

End Sub


No exemplo acima coloquei o código no evento Clique Duplo do ListBox.
No seu caso a variável [Ô]vItem[Ô] conterá o valor a buscar no BD.

Espero que te ajude.

Valeu !
CLLEVER10 09/07/2012 19:34:14
#405743
no caso estou usando combobox e dblist.
Vou testar o seu codigo para o dblist.
To preenchendo o DBLIST com uma filtro para cada nome que tenho no combobox1,no total são 10 nomes.Não sei se é o mais correto,mas esta funcionando.
Agora preciso imprimir o que esta sendo mostrado no DBLIST, e tb não estou conseguindo.Estou o crystal reports 8.5
DANLEONHART 16/07/2012 06:02:56
#406156
Use a mesma consulta que preenche o List para chamar o Crystal Report...como não uso o Crystal não tenho como te passar uma informação concreta, mas no ActiveReports eu gero um RecordSet e configuro no DataSource do ActiveReports o RecordSet que gerei com a consulta.
Tópico encerrado , respostas não são mais permitidas