LISTA PARA INCLUSAO DE ITENS ATRAVEZ DO CODIGO
Tenho uma duvida no VB e estou precisando de ajuda por isso escrevi.
tem uma lista que quero fazer mas nao consigo.
Essa lista funciona assim : quando digito o primeiro numero ele baixa um combo com todos os codigos e auto completa (filtra os registros onde codigo >= ao "numero digitado") ou no campo descriçao, quando pressionado enter entao aceita o registro e completa o preço unit, e no final calcula quantidade x preço unit e coloca no campo total.
Se alguem puder me ajudar fico muito grato.
tenho uma imagem modelo!
meu email 100limits@bol.com.br
tem uma lista que quero fazer mas nao consigo.
Essa lista funciona assim : quando digito o primeiro numero ele baixa um combo com todos os codigos e auto completa (filtra os registros onde codigo >= ao "numero digitado") ou no campo descriçao, quando pressionado enter entao aceita o registro e completa o preço unit, e no final calcula quantidade x preço unit e coloca no campo total.
Se alguem puder me ajudar fico muito grato.
tenho uma imagem modelo!
meu email 100limits@bol.com.br
Olha, este código já é antigo mas funciona (ele tava bem na minha cara quando li seu post), ele faz exatamente isso, abre um combo já no valor digitado... Confere aà e vê se é isso mesmo...
Private Sub oCombo_GotFocus()
If oCombo.Text = "" Then
txtQtde.Enabled = True
Else
txtQtde.Enabled = False
End If
If oCombo <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\Banco.Mdb", False, False)
query = "Select * From Tabela where oCombo = '" & oCombo & "'"
Set DYN = xxbco.OpenRecordset(query) ' ISTO CARREGARÃ Â SEU COMBO JÃ Â NO VALOR DIGITADO
-------- INSTRUÇÕES AQUI......------------
xxbco.Close '----FECHA O BANCO
End If
End Sub
__________________________________________________________
Private Sub oCombo_LostFocus()
'----------AO TECLAR ENTER (IF KEYASCII = 13 THEN SENDKEYS "{TAB}" NO EVENTO KEYPRESS DE SEU COMBO)
If oCombo <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\Banco.Mdb", False, False)
query = "Select * From Tabela where oCombo = '" & oCombo & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
Nome_campo1 = DYN("Nome_Campo1") & ""
Nome_Campo2 = DYN("Nome_Campo2") & ""
----------Siga com a gravação de todos os campos da tabela--------
xxbco.Close
End If
End If
End Sub
Espero que isto te ajude, senão, é só avisar... te mando um exemplo completo para essa operação, vlw ???
Abraço e T+
Private Sub oCombo_GotFocus()
If oCombo.Text = "" Then
txtQtde.Enabled = True
Else
txtQtde.Enabled = False
End If
If oCombo <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\Banco.Mdb", False, False)
query = "Select * From Tabela where oCombo = '" & oCombo & "'"
Set DYN = xxbco.OpenRecordset(query) ' ISTO CARREGARÃ Â SEU COMBO JÃ Â NO VALOR DIGITADO
-------- INSTRUÇÕES AQUI......------------
xxbco.Close '----FECHA O BANCO
End If
End Sub
__________________________________________________________
Private Sub oCombo_LostFocus()
'----------AO TECLAR ENTER (IF KEYASCII = 13 THEN SENDKEYS "{TAB}" NO EVENTO KEYPRESS DE SEU COMBO)
If oCombo <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\Banco.Mdb", False, False)
query = "Select * From Tabela where oCombo = '" & oCombo & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
Nome_campo1 = DYN("Nome_Campo1") & ""
Nome_Campo2 = DYN("Nome_Campo2") & ""
----------Siga com a gravação de todos os campos da tabela--------
xxbco.Close
End If
End If
End Sub
Espero que isto te ajude, senão, é só avisar... te mando um exemplo completo para essa operação, vlw ???
Abraço e T+
Marcos agradeço a dica mais ainda não é bem isso.
Com esse codigo eu consigo carregar um combo (o q pode ser útil nesse exemplo), e o q eu estou tentando montar é uma lista com combo, onde:
CODIGO | DESCRIÇÃO | QTDE | VL UNIT | VL TOT|
o campo codigo quando receve o focus abre um combo, idem o descriçao.
Desde já Muito obrigado
Com esse codigo eu consigo carregar um combo (o q pode ser útil nesse exemplo), e o q eu estou tentando montar é uma lista com combo, onde:
CODIGO | DESCRIÇÃO | QTDE | VL UNIT | VL TOT|
o campo codigo quando receve o focus abre um combo, idem o descriçao.
Desde já Muito obrigado
ALONSO, tente substituir o código anterior por este, ele também vai carregar seu combo (vc precisa disso para indexar os outros campos, certo ?) mas tbm coloca os valores de COMPRA, QTDE, LUCRO E VENDA, nos seus devidos lugares... Caso seja um produto novo, por exemplo, o cálculo do VALOR DE VENDA será feito automaticamente, OK???
Só tà ' em dúvida com uma coisa: vc disse MONTAR UMA LISTA COM COMBO com todos esse campos... Faz o seguinte teste o código abaixo (trata-se de um form com vários controles que são atualizados e / ou carregados conforme vc os altera), se isso resolver, então blz... senão explica melhor esse MONTAR UMA LISTA COM COMBO, prá eu poder te ajudar, vlw ???
Abraço.
Private Sub Combo_Descri_GotFocus()
If ComboDescri <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\BANCO.Mdb", False, False)
query = "Select * From Cadastro where Combo_Descri = '" & Combo_Descri & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
txtVrCompra = DYN("txtVrCompra") & ""
xxbco.Close
End If
End If
End Sub
________________________________________________________________
Private Sub ComboDescri_LostFocus()
If ComboDescri <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\BANCO.Mdb", False, False)
query = "Select * From Cadastro where ComboDescri = '" & ComboDescri & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
ComboDescri = DYN("ComboDescri") & ""
txtVrCompra = DYN("txtVrCompra") & ""
txtQtde = DYN("txtQtde") & ""
txtLucro = DYN("txtLucro") & ""
txtVrVenda = DYN("txtVrVenda") & ""
xxbco.Close
End If
End If
End Sub
_________________________________________________________________
Private Sub txtVrCompra_LostFocus()
txtVrCompra = Format(txtVrCompra, "#,##.00")
End Sub
________________________________________________________________
Private Sub txtLucro_LostFocus()
If txtLucro.Text = "" Then txtLucro.Text = 0
txtVrCompra = Format(txtVrCompra, "#,##.00")
If Not IsNull(txtLucro.Text) Then
txtVrVenda = Format(txtVrCompra + (txtVrCompra * txtLucro) / 100, "#,##.00")
Else
txtVrVenda = txtVrCompra
End If
End Sub
Caso isto não resolva, deixa eu dar uma olhada na IMAGEM MODELO (do seu primeiro post)
Só tà ' em dúvida com uma coisa: vc disse MONTAR UMA LISTA COM COMBO com todos esse campos... Faz o seguinte teste o código abaixo (trata-se de um form com vários controles que são atualizados e / ou carregados conforme vc os altera), se isso resolver, então blz... senão explica melhor esse MONTAR UMA LISTA COM COMBO, prá eu poder te ajudar, vlw ???
Abraço.
Private Sub Combo_Descri_GotFocus()
If ComboDescri <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\BANCO.Mdb", False, False)
query = "Select * From Cadastro where Combo_Descri = '" & Combo_Descri & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
txtVrCompra = DYN("txtVrCompra") & ""
xxbco.Close
End If
End If
End Sub
________________________________________________________________
Private Sub ComboDescri_LostFocus()
If ComboDescri <> "" Then
Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "\BANCO.Mdb", False, False)
query = "Select * From Cadastro where ComboDescri = '" & ComboDescri & "'"
Set DYN = xxbco.OpenRecordset(query)
If Not DYN.EOF Then
ComboDescri = DYN("ComboDescri") & ""
txtVrCompra = DYN("txtVrCompra") & ""
txtQtde = DYN("txtQtde") & ""
txtLucro = DYN("txtLucro") & ""
txtVrVenda = DYN("txtVrVenda") & ""
xxbco.Close
End If
End If
End Sub
_________________________________________________________________
Private Sub txtVrCompra_LostFocus()
txtVrCompra = Format(txtVrCompra, "#,##.00")
End Sub
________________________________________________________________
Private Sub txtLucro_LostFocus()
If txtLucro.Text = "" Then txtLucro.Text = 0
txtVrCompra = Format(txtVrCompra, "#,##.00")
If Not IsNull(txtLucro.Text) Then
txtVrVenda = Format(txtVrCompra + (txtVrCompra * txtLucro) / 100, "#,##.00")
Else
txtVrVenda = txtVrCompra
End If
End Sub
Caso isto não resolva, deixa eu dar uma olhada na IMAGEM MODELO (do seu primeiro post)
segue a imagem amostra, vc tem email para eu enviar no email? nao sei colocar imagem aqui !
segue a imagem amostra, vc tem email para eu enviar no email? nao sei colocar imagem aqui !
acho que consegui, disponibilizei em um site de um amigo...
http://reidasmaquinasltda.vila.bol.com.br/mostra.JPG
ALONSO, PODE MANDAR PARA
marcos.visentin@gmail.com
ASSIM QUE EU RECEBER, FICA MAIS FÃ ÂCIL PRÃ Â TE AJUDAR, VLW ???
DE QQUER MODO, VOU DAR UMA OLHADA NO SITE QUE VC CITOU, OK ???
ABRAÇO
marcos.visentin@gmail.com
ASSIM QUE EU RECEBER, FICA MAIS FÃ ÂCIL PRÃ Â TE AJUDAR, VLW ???
DE QQUER MODO, VOU DAR UMA OLHADA NO SITE QUE VC CITOU, OK ???
ABRAÇO
Marcos enviei a msg no email ! Se puder me ajudar fico muito grato. Obrigado
ALONSO, Já recebi seu e-mail e agora vou começar a trabalhar nele, ok???
Agora entendi o que vc tava querendo, e espero logo logo estar dando uma resposta definitiva prá isso, vlw ??
Abraço.
Agora entendi o que vc tava querendo, e espero logo logo estar dando uma resposta definitiva prá isso, vlw ??
Abraço.
Tópico encerrado , respostas não são mais permitidas