COMBOBOX X TEXTBOX
Pessoal tenho uma combobox que pega os nomes dos fornecedores.
Gostaria que ao selecionar determinado fornecedor um textbox apareça o numero do seu contrato.
Sendo que o nome do fornecedor esta na coluna B e o contrato na coluna C
Estou abastecendo a combobox com o seguinte codigo:
Agora como ao selecionar o fornecedor ele possa preencher a textbox com o numero do contrato.....
Desde ja agradeço a atenção
Gostaria que ao selecionar determinado fornecedor um textbox apareça o numero do seu contrato.
Sendo que o nome do fornecedor esta na coluna B e o contrato na coluna C
Estou abastecendo a combobox com o seguinte codigo:
Private Sub PopulaFornecedor()
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sql As String
Set conn = New ADODB.Connection
With conn
[ô].Provider = [Ô]Microsoft.JET.OLEDB.4.0[Ô] [ô] versão excel 2003
.Provider = [Ô]Microsoft.ACE.OLEDB.12.0[Ô] [ô] versão excel 2007
.ConnectionString = [Ô]Data Source=[Ô] & ThisWorkbook.FullName & [Ô];Extended Properties=Excel 8.0;[Ô]
.Open
End With
sql = [Ô]SELECT DISTINCT Fornecedor FROM [Servico$][Ô]
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = conn
.Open sql, conn, adOpenDynamic, _
adLockBatchOptimistic
End With
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
Fornecedor.AddItem rst(0).Value
End If
rst.MoveNext
Loop
[ô] Fecha o conjunto de registros.
Set rst = Nothing
[ô] Fecha a conexão.
conn.Close
End Sub
Agora como ao selecionar o fornecedor ele possa preencher a textbox com o numero do contrato.....
Desde ja agradeço a atenção
Amigo, a hora que ele adicionar o fornecedor, na linha de baixo adicione o numero do contrato, pois o registro atual será o mesmo que vc precisa
Se foi isso que eu entendi é isso.
Combo.additem rs!fornecedor
textbox.text = rs!contrato
Se foi isso que eu entendi é isso.
Ou no clike do combobox coloque
seria a segunda opção.
Do while not rs.eof = true
if combobox.text = rs!fornecedor then
textbox.text = rs!contrato
end if
exit do
rs.movenext
loop
seria a segunda opção.
Na hora de popular a combo coloque o número do contrato no ID co Item
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
Fornecedor.AddItem rst(0).Value
Fornecedor.itemdata(Fornecedor.newindex) = rst(x).value [ô]x = o id do campo
End If
rst.MoveNext
Loop
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
Fornecedor.AddItem rst(0).Value
Fornecedor.itemdata(Fornecedor.newindex) = rst(x).value [ô]x = o id do campo
End If
rst.MoveNext
Loop
Pessoal, obrigado codigo ficou assim :
Private Sub Fornecedor_Click()
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sql As String
Set conn = New ADODB.Connection
With conn
[ô].Provider = [Ô]Microsoft.JET.OLEDB.4.0[Ô] [ô] versão excel 2003
.Provider = [Ô]Microsoft.ACE.OLEDB.12.0[Ô] [ô] versão excel 2007
.ConnectionString = [Ô]Data Source=[Ô] & ThisWorkbook.FullName & [Ô];Extended Properties=Excel 8.0;[Ô]
.Open
End With
sql = [Ô]SELECT DISTINCT Fornecedor,Contrato FROM [Servico$][Ô]
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = conn
.Open sql, conn, adOpenDynamic, _
adLockBatchOptimistic
End With
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
If Fornecedor.Text = rst!Fornecedor Then
Contrato.Text = rst!Contrato
End If
End If
rst.MoveNext
Loop
[ô] Fecha o conjunto de registros.
Set rst = Nothing
[ô] Fecha a conexão.
conn.Close
End Sub
Tópico encerrado , respostas não são mais permitidas