Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mauricio2304

Click da Combo para a Text Box

Recommended Posts

Estou com um probleminha amigos, tenho que fazer o seguinte, tenho uma tabela de produtos e esse dados dessa tabela eu carrego em uma combo, até ai td bem. Nessa tabela de produtos eu tenho o valor do produto. Minha pergunta é a seguinte, como eu faço para que quando eu selecionar um produto ele pegue seu valor do banco e jogue automaticamente na textbox, vou mostrar na figura abaixo:

 

Imagem Postada

 

Ta aqui meu codigo:

 

Private Sub cboPedProduto_Click()

Dim rstconsulta As New ADODB.Recordset

Dim strsql As String

Dim strValor As String

 

If cboPedProduto.ListIndex <> -1 Then

strValor = fConvValorSQL(cboPedProduto.ItemData(cboPedProduto.ListIndex), E_valorinteiro)

End If

strsql = "select proValorVenda from Produto where proCod = " & fConvValorSQL(cboPedProduto.ItemData(cboPedProduto.ListIndex), E_valorinteiro)

rstconsulta.Open strsql, cnnBanco, adOpenForwardOnly

If Not rstconsulta.EOF Then

txtValor.Text = rstconsulta.Fields(0)

Else

txtValor.Text = "0"

End If

rstconsulta.Close

Set rstconsulta = Nothing

End Sub

 

Ali no codigo onde eu faço o teste ele sempre acusa 0, no caso foi eu que coloquei se desse errado!

 

Valeu galera, qualque duvida é so perguntar!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas mauricio2304,

 

Vosse fazer o seguinte:

 

 

Private Sub Combo1

 

Dim Registos As ADODB.Recordset

Set Registos = New ADODB.Recordset

Dim consulta As String

 

consulta = "SELECT * from Tabela "

consulta = "select * from Tabela where (Nome = '" & Combo1 & "')"

 

 

Registos.Open consulta, g_str_ConnectionString, adOpenForwardOnly, adLockReadOnly

 

 

If Registos.EOF Then

 

MsgBox "Sem registos", vbCritical

 

Else

 

Text1.Text = CStr(Registos.Fields.Item("text1").Value)

 

 

End If

 

Registos.Close

 

Set Registos = Nothing

 

End Sub

 

 

Vosse tem k fazer esse codigo, ou seja, quando der um click na combo1 o programa vai a base de dados procurar o preço correspondente ao produto que esta na combo1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz desse jeito mas também naum rolou galera, ta dificil essa, muita dor de cabeça!!!

 

 

Dim rstconsulta As New ADODB.Recordset

Dim strsql As String

Dim strValor As String

 

If cboPedProduto.ListIndex <> -1 Then

strValor = fConvValorSQL(cboPedProduto.ItemData(cboPedProduto.ListIndex), E_valorinteiro)

End If

 

strsql = "select proValorVenda from produto where procod = " & fConvValorSQL(cboPedProduto.ItemData(cboPedProduto.ListIndex), E_valorinteiro) & " "

rstconsulta.Open strsql, cnnBanco, adOpenForwardOnly

 

If Not rstconsulta.EOF Then

txtValorProduto.Text = rstconsulta.Fields(0)

Else

MsgBox "Sem Registro!!!", vbCritical, "ERRO!"

End If

 

rstconsulta.Close

Set rstconsulta = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código parece estar correto, mas como não está aparecendo o valor correto deve haver algum problema ou no preenchimento da combo ou no BD.

Faça assim para verificar se a combo está correta: antes executar o código SQL utilize uma msgbox para ver como está a instrução:

strsql = "select proValorVenda from produto where procod = " & fConvValorSQL(cboPedProduto.ItemData(cboPedProduto.ListIndex), E_valorinteiro) 'aquele último espaço no final é desnecessáriomsgbox strsql
Veja se está montando corretamente a SQL e se o código realmente é do produto selecionado. Caso não seja verifique a hora que você carrega essa combo e o itemdata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.