VB6 - PESQUISA BD CONFORME INFORMAO NOS FILTROS

 Tópico anterior Próximo tópico Novo tópico

VB6 - PESQUISA BD CONFORME INFORMAO NOS FILTROS

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#491988 - 25/12/2019 20:05:04

CASTROGYN
GOIANIA
Cadast. em:Novembro/2018


Manda o nome dos campos no formulario, o nome da tabela e os campos da tabela que voc quer fazer a consulta que eu mando o comando SQL para vc. Esse banco Acess? Se for, a conexo est em DAO ou ADO?



#491989 - 25/12/2019 22:28:53

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


Última edição em 25/12/2019 22:53:53 por OMAR2011

DAMASCENO.CESAR, no bem assim.
str= []SELECT Campo1, Campo2, Campo3 FROM Tabela where Campo1 LIKE[]*[] & txtcampo1.text & [][] AND Campo2 LIKE []*[] & ComboCampo2.text & [][] AND Campo3 LIKE []*[] & ComboCampo3.text & [][];[]
Isto funciona no prprio Access.
Ele est usando VB6 com Access. Vb6 no aceita * na consulta Sql.
Detalhe: o like s funciona com campos texto
J testou usando nmeros?
Este cdigo foi postado pelo Famigerado.
Dim SQL As String
SQL = []select * from ceps[]
If txtcep.Text <> [][] Or txtcidade.Text <> [][] Then []adicionar aqui todos os campos que quiser verificar se tem algo e incluir na query
  
   []Tem algum campo preenchido, adicionar where
     SQL = SQL & [] WHERE []

End If

If txtcep.Text <> [][] Then
    SQL = SQL + [] Cep like []%[] & txtcep.Text & []%[] AND []  []Este campo nmero,numa Tabela ceps.
  [] SQL = SQL + [] Cep like []%[] & txtcep.Text & [][][]  []Basta usar isto para nmeros.Retire parte do cdigo e use somente campo Cep.
End If

If txtcidade.Text <> [][] Then
    SQL = SQL + [] Cidade like []%[] & txtcidade.Text & []%[] AND []
End If

[]tirar o ltimo []AND[]
If txtcep.Text = [][] And txtcidade.Text = [][] Then
Else
SQL = Left(SQL, Len(SQL) - 4)
End If

Este foi adicionado por mim.
rs.Open SQL, cnn, adOpenStatic, adLockReadOnly, adCmdText
  For campo = 0 To rs.Fields.Count - 1
        lstMostra.ColumnHeaders.Add , , rs.Fields(campo).Name
    Next
   While Not rs.EOF
      
      Set lst = lstMostra.ListItems.Add(, , rs(0))
      
      For I = 1 To campo - 1
        lst.SubItems(I) = [][] & rs(I)
      Next I
     rs.MoveNext
   Wend
   rs.Close
   Set rs = Nothing
    Label1.Caption = lstMostra.ListItems.Count




#493711 - 02/05/2020 14:05:08

ROBLEDO
LAJEADO
Cadast. em:Janeiro/2019


Amigos, ainda estou com um problema na funo abaixo.
Estou com problema na linha em NEGRITO que destaquei no cdigo.
Consigo montar o comando com as where conforme preenchimento, mas parece que essa linha tem problema. Algum poderia me auxiliar??

Dim list As ListItem
Dim x As Integer []

Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.Open []Provider=Microsoft.Jet.OLEDB.4.0;[] & _
         []Data Source = [] & App.Path & []\BD\BancoDados.mdb;[] & _
         []Jet OLEDB:Database Password=senhaBD[]

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

Dim sql As String
[]rs.Open sql, Conn, adOpenStatic, adLockReadOnly, adCmdTex
sql = []select * from BD_Usurios[]
rs.Open sql, Conn, 3, 1

If CbTpAtendimento.Text <> [][] Or CbSegmento.Text <> [][] Or CbCategoria.Text <> [][] Or CbStatus.Text <> [][] Or txt_HostName <> [][] Then

[]TENDO ALGUM CAMPO, ADICIONA WHERE
    sql = sql & [] WHERE []
End If

If CbTpAtendimento.Text <> [][] Then
    sql = sql + [] TIPO = [][] & CbTpAtendimento.Text & [][] AND []
End If

If CbSegmento.Text <> [][] Then
    sql = sql + [] SEGMENTO = [][] & CbSegmento.Text & [][] AND []
End If

If CbCategoria.Text <> [][] Then
    sql = sql + [] CATEGORIA = [][] & CbCategoria.Text & [][] AND []
End If

If CbStatus.Text <> [][] Then
    sql = sql + [] STATUS = [][] & CbStatus.Text & [][] AND []
End If

If txt_HostName.Text <> [][] Then
    sql = sql + [] HOST = [][] & txt_HostName.Text
End If

[]Nesta linha abaixo que estou com problema.
sql = Left(sql, Len(sql) - 5)

[]------------------------------------------------------------------
[]Lista dados encontrados no LISTVIEW

Do Until rs.EOF
  Set list = ListView.ListItems.Add(, , rs(0))
        For x = 1 To 10
            list.SubItems(x) = rs(x)
           Next x
        rs.MoveNext
      Loop
   Set rs = Nothing
   con.Close: Set con = Nothing




 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário