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)


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