CODIGO DE BARRA

SOBERASSL 07/11/2010 18:18:13
#356853
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?
MOREIRA 07/11/2010 19:12:17
#356855
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
EDUFS 08/11/2010 10:48:48
#356873
[Ô]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.
CHARLESTON10 08/11/2010 12:48:22
#356886
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
CHARLESTON10 08/11/2010 12:51:52
#356888
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
EVSAR3 08/11/2010 13:02:45
#356890
Porque não apenas:
If Len(Me.CodigoDoProduto.Text) = 13 Then
[ô]BuscaNaBase
End If

SOBERASSL 08/11/2010 20:02:11
#356918
Tudo resolvido aqui galera valeu ^^
Tópico encerrado , respostas não são mais permitidas