CODIGO DE BARRA
Estou fazendo uma tela [Ô]frente de caixa[Ô]
Aonde... Após digitar os 13 numeros do codigo ele busuqe na base o produto...
Mas qual o comando que SÃ’ apos digitar os 13 numeros ele busque no banco...
O que eu tenho aqui... todos os numeros digitados ele vai a base.... Mas apenas quando digita os 13 numeros ele busca o código do produto!!!
tem como fazer issu???
uma função para que busque no banco somente apos digitar os 13 digitos do código?
Aonde... Após digitar os 13 numeros do codigo ele busuqe na base o produto...
Mas qual o comando que SÃ’ apos digitar os 13 numeros ele busque no banco...
O que eu tenho aqui... todos os numeros digitados ele vai a base.... Mas apenas quando digita os 13 numeros ele busca o código do produto!!!
tem como fazer issu???
uma função para que busque no banco somente apos digitar os 13 digitos do código?
no evento lost focus coloque
Private Sub TxtCod_Prod_LostFocus()
On Error GoTo Trataerro
Dim Sql As String
If TxtCod_Prod.Text <> [Ô][Ô] Then
CmdAdd.Enabled = True
End If
If TxtCod_Prod.Text = [Ô][Ô] Then Exit Sub
Set Rst = New ADODB.Recordset
Sql = [Ô]Select * From Tbl_Produto Where Cod_Prod=[ô][Ô] & TxtCod_Prod.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao, 3
If Not Rst.EOF Then
LblDescricao.Caption = Rst!Descricao
TxtVlr_Unit.Text = Format(CDbl(Rst!Vlr_Venda), [Ô]###,##0.00[Ô])
LblTamanho.Caption = Rst!Tamanho
Else
MsgBox ([Ô]Código não Encontrado ou não Cadastrado[Ô]), vbExclamation, [Ô]A T E N Ç Ã 0[Ô]
TxtCod_Prod.Text = [Ô][Ô]
LblDescricao.Caption = [Ô][Ô]
LblTamanho.Caption = [Ô][Ô]
TxtCod_Prod.SetFocus
End If
Rst.Close
Set Rst = Nothing
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema[Ô]
End Sub
Private Sub TxtCod_Prod_LostFocus()
On Error GoTo Trataerro
Dim Sql As String
If TxtCod_Prod.Text <> [Ô][Ô] Then
CmdAdd.Enabled = True
End If
If TxtCod_Prod.Text = [Ô][Ô] Then Exit Sub
Set Rst = New ADODB.Recordset
Sql = [Ô]Select * From Tbl_Produto Where Cod_Prod=[ô][Ô] & TxtCod_Prod.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao, 3
If Not Rst.EOF Then
LblDescricao.Caption = Rst!Descricao
TxtVlr_Unit.Text = Format(CDbl(Rst!Vlr_Venda), [Ô]###,##0.00[Ô])
LblTamanho.Caption = Rst!Tamanho
Else
MsgBox ([Ô]Código não Encontrado ou não Cadastrado[Ô]), vbExclamation, [Ô]A T E N Ç Ã 0[Ô]
TxtCod_Prod.Text = [Ô][Ô]
LblDescricao.Caption = [Ô][Ô]
LblTamanho.Caption = [Ô][Ô]
TxtCod_Prod.SetFocus
End If
Rst.Close
Set Rst = Nothing
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema[Ô]
End Sub
[Ô]Mas apenas quando digita os 13 numeros ele busca o código do produto!!![Ô]
Cuidado....
Existem produtos que tem MENOS que 13 dÃgitos, como por exmplo [ô]Des Rexona rollon[ô] cod barra: 78923423.
Cuidado....
Existem produtos que tem MENOS que 13 dÃgitos, como por exmplo [ô]Des Rexona rollon[ô] cod barra: 78923423.
Faz uma logica no evento KeyPress do TextBox ou outro evento que relaciona-se com o teclado.
Mais ou menos assim, voce cria uma variavel, ela vai receber a soma dos digitos do teclado
ou seja.
A cada letra ou numero digitado a variavel soma +1
Entao voce verifica se a variavel conter o valor = 13 voce faz a busca se nao acusa de erro.
Variavel = variavel +1
Se variavel = 13 entao
busca produto
senão
acusa erro.
Acredito que da certo
Mais ou menos assim, voce cria uma variavel, ela vai receber a soma dos digitos do teclado
ou seja.
A cada letra ou numero digitado a variavel soma +1
Entao voce verifica se a variavel conter o valor = 13 voce faz a busca se nao acusa de erro.
Variavel = variavel +1
Se variavel = 13 entao
busca produto
senão
acusa erro.
Acredito que da certo
Olha aqui deu certo mas voce tem que adptar de acordo com o codigo que vc vai usar
Dim Valor As Byte
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Valor = Valor + 1
If Valor = 13 Then
MsgBox [Ô]Faz a Busca[Ô]
End If
End Sub
Dim Valor As Byte
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Valor = Valor + 1
If Valor = 13 Then
MsgBox [Ô]Faz a Busca[Ô]
End If
End Sub
Porque não apenas:
If Len(Me.CodigoDoProduto.Text) = 13 Then
[ô]BuscaNaBase
End If
If Len(Me.CodigoDoProduto.Text) = 13 Then
[ô]BuscaNaBase
End If
Tudo resolvido aqui galera valeu ^^
Tópico encerrado , respostas não são mais permitidas