COMBOBOX COM FILTRO NOME E CIDADE CELECIONADA

SOUZA 14/02/2014 14:21:05
#434784
Ola pessoal to de novo aqui hehehe.

Bom eu estou precisando carregar em uma combox os nomes dos meus clientes para que a pessoa possa selecionar quem ele quer consultar. O problema e que minha base de cadastro de clientes tem clientes de varias cidades e quando eu clico no combox ele traz todos os clientes da base. Eu tenho 2 combox uma com a cidade que ele quer procurar e outra com o nome dele então quando o cliente selecionasse a cidade o combox teria que filtrar os clientes na base pela cidade que ele escolheu.

codigo que uso no form para trazer os nomes dos clientes para o combox.

[ô]BUSCA CLIENTES CADASTRADOS
Dim db As Database
Dim query As String
Dim dyn As Recordset


Set db = OpenDatabase([Ô]c:\sistema\Cadastro.Mdb[Ô], False, False, [Ô];PWD=senha[Ô])
query = [Ô]Select * From Cliente order by NOME[Ô]
Set dyn = db.OpenRecordset(query, dbOpenDynaset)
While Not dyn.EOF
Combox.AddItem dyn([Ô]nome[Ô]) & [Ô][Ô]
dyn.MoveNext
Wend
db.Close
FILMAN 14/02/2014 15:03:08
#434791
Resposta escolhida
Tente assim

Private sub ComboCidade_Click()
Dim db As Database
Dim query As String
Dim dyn As Recordset


Set db = OpenDatabase([Ô]c:\sistema\Cadastro.Mdb[Ô], False, False, [Ô];PWD=senha[Ô])

query = [Ô]Select CodCliente, NOME From Cliente Where Cidade = [ô][Ô] & ComboCidade.Text & [Ô][ô] order by NOME[Ô]

Set dyn = db.OpenRecordset(query, dbOpenDynaset)

ComboCliente.Clear

if dyn.RecordCount > 0 then

dyn.MoveFirst

While Not dyn.EOF
ComboCliente.AddItem dyn([Ô]NOME[Ô])
dyn.MoveNext
Wend

End if

dyn.Close: set dyn = Nothing
db.Close
End Sub

Private Sub CarregaCidade()
Dim db As Database
Dim query As String
Dim dyn As Recordset


Set db = OpenDatabase([Ô]c:\sistema\Cadastro.Mdb[Ô], False, False, [Ô];PWD=senha[Ô])

query = [Ô]Select CodCidade, CIDADE From Cidade order by CIDADE[Ô]

Set dyn = db.OpenRecordset(query, dbOpenDynaset)

ComboCidade.Clear

if dyn.RecordCount > 0 then

dyn.MoveFirst

While Not dyn.EOF
ComboCidade.AddItem dyn([Ô]CIDADE[Ô])
dyn.MoveNext
Wend

End if

dyn.Close: set dyn = Nothing
db.Close
End Sub

Private Sub Form_Load()
Call CarregaCidade
End Sub
SOUZA 14/02/2014 15:21:04
#434794
Opa 100% valeu FILMAN!
Tópico encerrado , respostas não são mais permitidas