Olá galera!
preciso saber o que acontece com o meu codigo vba ou se tem aver o leitor de codigo de barra que estou usando.
no formulario simples em uma caixa de texto estou inserindo o numero do codigo de barra via leitor de codigo de barra ai beleza ele pega o produto inclui o produto no subformulario mais quando logo em seguida quando ele ler o mesmo codigo ou outro em um tempo de + ou -5 segundo ele nao consegue ler o codigo e o caodigo mostra a mensagem de produto nao cadastrado, mas ao aguardar por mais tempo tipo 8 a 10 segundos funciona perfeitamente.
alguem pode me ajudar, algum voluntario alguem que ja passou por isso?
no aguardo um grande abraço a todos
o leitor é o bematch 310 usb,
meu codigo é este:
em todas as funções de pega produto a opção "ltxProdutos" estou me referindo a uma caixa de listagem.
esta demora so ocorre quando uso codigo de barra e codigo de barra da balanca.
se vc tiver outra forma rapida e sem conflito estou na espera e desde ja lhe agradeço pela sua atenção e tempo para este meu problema.
uma abraço.
Dim mFrase As String, strfiltro As String, GRUPOS As String, PRECO As Currency, strFiltro1 As String, TXTPRODUTO As String, X As Integer, I As Integer, qtd As Integer
Dim saldos As Currency, db As Database, rs As Recordset, cupoms As String, dataagora
Dim Incluir As Boolean
Dim QuantidadeS As String
Dim guardaast As String, TextoPesquisa As String, txtName1 As String, InStrvalor As String
Dim Custo As Currency, qtdeprod As String
Dim A As String, MinhaSeq As String, MinhaSeq1 As String, MinhaSeq2 As String, QualquerSeqüência As String
Private Sub txtCodigoBarras_Enter()
Me.NOMEDOPRODUTO.Visible = False
Me.Texto151.Visible = False
Incluir = False
End Sub
Public Sub PegaProdutobalanca()
Dim QtdeProdutos As Integer
Dim Linha
QtdeProdutos = Me.ltxProdutos.ListCount - 1
Incluir = True
MinhaSeq2 = MinhaSeq2 / 10000
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(0, Linha) = MinhaSeq1 Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
Me.txtQtde.Value = MinhaSeq2
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
Next Linha
MsgBox "Produto não cadastrado.", vbInformation, "Aplicativos AMC´2010"
Incluir = False
Me.LimpaProduto
End Sub
Public Sub PegaProdutocodbarra()
Dim QtdeProdutos As Integer
Dim Linha
If guardaast = "*" Then
GetValores (txtName1)
End If
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Incluir = True
QtdeProdutos = Me.ltxProdutos.ListCount - 1
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(0, Linha) = Me.txtCodigoBarras.Value Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
Else
If Me.ltxProdutos.Column(1, Linha) = Me.txtCodigoBarras.Value Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
End If
Next Linha
MsgBox "Produto não cadastrado.", vbCritical, "Aplicativos AMC´2010"
Incluir = False
'Me.LimpaProduto
End Sub
Public Sub PegaProdutocodbarra1()
Dim QtdeProdutos As Integer
Dim Linha
Incluir = True
GetValores (QualquerSeqüência)
GetValores2 (QualquerSeqüência)
QtdeProdutos = Me.ltxProdutos.ListCount - 1
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(1, Linha) = NOMEDOPRODUTO Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
ElseIf Me.ltxProdutos.Column(0, Linha) = TextoPesquisa Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
If Me.ltxProdutos.Column(0, Linha) = txtCodigoBarras Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
Next Linha
MsgBox "Produto não cadastrado.", "Aplicativos AMC´2010"
Incluir = False
Me.LimpaProduto
End Sub
Public Sub LimpaProduto()
SendKeys "{esc}"
Me.txtCodigoBarras.Value = Null
SendKeys "{esc}"
Me.txtCodigoBarras.SetFocus
SendKeys "{esc}"
End Sub
Public Sub IncluirProduto()
Incluir = True
'If (Me.txtQtde > Estoque) Then
'MsgBox "Estoque atual menor que a quantidade solicitada." & Chr(10) & Chr(10) & "Estoque atual = " & Estoque, vbInformation, "Aplicativos AMC´2010"
'DoCmd.CancelEvent
'Me.txtCodigoBarras.SetFocus
'Else
Dim db As Database, rs As Recordset
'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Set db = CurrentDb()
Set rs = db.OpenRecordset("DETALHESDAVENDA") 'Abre tbl_Parcelas
rs.AddNew
rs![NÚMERO DA VENDA] = Me.Número_da_Venda
rs!NOMEDOPRODUTO = Me!txtCodigoBarras
rs!Quantidade = Me!txtQtde
rs!PreçoUnitario = Me!txtPrecoUnitario
rs!Estoque = Estoque
rs!Custo = CUSTOCOMPRA
rs.Update
rs.Close
db.Close
Me.PRODUTO2.Value = Me!txtCodigoBarras
Me.SUBVENDAS_NO_BALCAO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Requery
' Me.SUBVENDAS_NO_BALCAO.SetFocus
DoCmd.GoToRecord , , acLast
Me.txtCodigoBarras.SetFocus
Me.txtCodigoBarras.Value = Me.PRODUTO2
Incluir = False
' Me.LimpaProduto
QuantidadeS = 0
guardaast = ""
Exit Sub
'End If
End Sub
Public Sub executarenter()
If (txtCodigoBarras.Value <> "") Then
QualquerSeqüência = Me.txtCodigoBarras ' Define a seqüência de caracteres.
MinhaSeq = Left(QualquerSeqüência, 1) ' Retorna "A".
MinhaSeq1 = Left(QualquerSeqüência, 7) ' Retorna "Alô M".
MinhaSeq2 = Right(QualquerSeqüência, 6) ' Retorna "Alô M".
GetInStr (txtCodigoBarras)
If guardaast = "*" Then
PegaProdutocodbarra1
ElseIf MinhaSeq = "2" Then
PegaProdutobalanca
Else
PegaProdutocodbarra
End If
Else
txtCodigoBarras.SetFocus
End If
End Sub
Private Sub txtCodigoBarras_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then
Me.Texto151.Visible = True
Me.NOMEDOPRODUTO.SetFocus
Me.txtCodigoBarras.Visible = False
End If
'F3 - Finalizar Venda
If KeyCode = 114 Then
If MsgBox("Deseja finalizar esta Venda?", vbYesNo, "Aplicativos AMC´2010") = vbYes Then
If (VENDATOTAL = 0) Then
SALDODESPONIVEL.Visible = False
Forms!CAIXALIVRE!Cliente.SetFocus
Forms!CAIXALIVRE!FORMADEPAGAMENTO = Null
Forms!CAIXALIVRE!Cliente = Null
Forms!CAIXALIVRE.[NÚMERO DA VENDA] = Null
Forms!CAIXALIVRE.Requery
Forms!CAIXALIVRE![SUBVENDAS NO BALCAO].Visible = False
Else
NUMORCAMENTO = Null
NUMORCAMENTO.Visible = False
DoCmd.OpenForm "AVISTA", acNormal
End If
End If
End If
'F4 - Finalizar Venda
If KeyCode = 115 Then
If MsgBox("Deseja finalizar esta Venda?", vbYesNo, "Aplicativos AMC´2010") = vbYes Then
If (VENDATOTAL = 0) Then
SALDODESPONIVEL.Visible = False
Forms!CAIXALIVRE!Cliente.SetFocus
Forms!CAIXALIVRE!FORMADEPAGAMENTO = Null
Forms!CAIXALIVRE!Cliente = Null
Forms!CAIXALIVRE.[NÚMERO DA VENDA] = Null
Forms!CAIXALIVRE.Requery
Forms!CAIXALIVRE![SUBVENDAS NO BALCAO].Visible = False
Else
NUMORCAMENTO = Null
NUMORCAMENTO.Visible = False
DoCmd.OpenForm "CREDIARIO2", acNormal
End If
End If
End If
End Sub
Private Sub txtCodigoBarras_KeyPress(KeyAscii As Integer)
Dim txtName As String, I As Integer, intPos As Integer, strList As String, strProcura As String, Linha As Integer
txtName = Me.txtCodigoBarras.Text
If KeyAscii = 42 Then
guardaast = "*"
End If
If KeyAscii > 57 Then
If txtCodigoBarras.SelStart > 3 Then
If guardaast = "*" Then
txtName1 = txtCodigoBarras.Text
GetValores (txtName1)
GetInStr (txtName1)
Me.NOMEDOPRODUTO.RowSource = "SELECT DISTINCTROW LISTAGEMFILTROPRODUTOS.CODIGO,DESCRICAO,PRECO FROM LISTAGEMFILTROPRODUTOS WHERE (((LISTAGEMFILTROPRODUTOS.DESCRICAO) Like '" & TextoPesquisa & "*')) ORDER BY LISTAGEMFILTROPRODUTOS.DESCRICAO"
Me.NOMEDOPRODUTO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Visible = False
Else
GetInStr (Me.txtCodigoBarras.Text)
Me.NOMEDOPRODUTO.RowSource = "SELECT DISTINCTROW LISTAGEMFILTROPRODUTOS.CODIGO,DESCRICAO,PRECO FROM LISTAGEMFILTROPRODUTOS WHERE (((LISTAGEMFILTROPRODUTOS.DESCRICAO) Like '" & txtName & "*')) ORDER BY LISTAGEMFILTROPRODUTOS.DESCRICAO"
Me.NOMEDOPRODUTO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Visible = False
End If
End If
End If
If KeyAscii = 8 And txtCodigoBarras.SelStart = 0 Then
Me.NOMEDOPRODUTO.Visible = False
End If
If KeyAscii = 13 Then
executarenter
SendKeys "{esc}"
End If
End Sub
Function GetValores(sequencia1 As String)
'Pega os valores depois do asterisco
GetValores = Right$(sequencia1, InStr(1, StrReverse(sequencia1), "*") - 1) ' aqui pegamos um pedaco a direita da sequencia (Right$)
TextoPesquisa = GetValores
' a funçao InStr, retorna a posição do *, observce que invertemos a
' sequencia de pesquisa (strReverse) para buscarmos a posição do
' asterisoc a partir do fim da sequencia.
' supondo que a sequencia seja "200*produto 1" ela retorna 10
' como não queremos oo asterisco, tiramos um da posição (-1)
' resultado strRetorno = "Produto 1"
End Function
Function GetValores2(sequencia As String)
GetValores2 = Left$(sequencia, InStr(1, sequencia, "*") - 1)
QuantidadeS = GetValores2
End Function
Function GetInStr(sequencia As String)
GetInStr = InStr(1, sequencia, "*")
InStrvalor = GetInStr
End Function
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'F6 - Orçamento
If KeyCode = 117 Then
ORCAMENTO_Click
KeyCode = 0
End If
'F7 - VERVENDAS
If KeyCode = 118 Then
VERVENDAS_Click
KeyCode = 0
End If
'F8 - O's
If KeyCode = 119 Then
ABANDONARVENDA_Click
KeyCode = 0
End If
'F9 - Preço
If KeyCode = 120 Then
PrecoProduto_Click
KeyCode = 0
End If
'F10 - LIVROCAIXA
If KeyCode = 121 Then
livrocaixa_Click
KeyCode = 0
End If
'F12 - OUTROS
If KeyCode = 123 Then
MENU_Click
KeyCode = 0
End If
End Sub
preciso saber o que acontece com o meu codigo vba ou se tem aver o leitor de codigo de barra que estou usando.
no formulario simples em uma caixa de texto estou inserindo o numero do codigo de barra via leitor de codigo de barra ai beleza ele pega o produto inclui o produto no subformulario mais quando logo em seguida quando ele ler o mesmo codigo ou outro em um tempo de + ou -5 segundo ele nao consegue ler o codigo e o caodigo mostra a mensagem de produto nao cadastrado, mas ao aguardar por mais tempo tipo 8 a 10 segundos funciona perfeitamente.
alguem pode me ajudar, algum voluntario alguem que ja passou por isso?
no aguardo um grande abraço a todos
o leitor é o bematch 310 usb,
meu codigo é este:
em todas as funções de pega produto a opção "ltxProdutos" estou me referindo a uma caixa de listagem.
esta demora so ocorre quando uso codigo de barra e codigo de barra da balanca.
se vc tiver outra forma rapida e sem conflito estou na espera e desde ja lhe agradeço pela sua atenção e tempo para este meu problema.
uma abraço.
Dim mFrase As String, strfiltro As String, GRUPOS As String, PRECO As Currency, strFiltro1 As String, TXTPRODUTO As String, X As Integer, I As Integer, qtd As Integer
Dim saldos As Currency, db As Database, rs As Recordset, cupoms As String, dataagora
Dim Incluir As Boolean
Dim QuantidadeS As String
Dim guardaast As String, TextoPesquisa As String, txtName1 As String, InStrvalor As String
Dim Custo As Currency, qtdeprod As String
Dim A As String, MinhaSeq As String, MinhaSeq1 As String, MinhaSeq2 As String, QualquerSeqüência As String
Private Sub txtCodigoBarras_Enter()
Me.NOMEDOPRODUTO.Visible = False
Me.Texto151.Visible = False
Incluir = False
End Sub
Public Sub PegaProdutobalanca()
Dim QtdeProdutos As Integer
Dim Linha
QtdeProdutos = Me.ltxProdutos.ListCount - 1
Incluir = True
MinhaSeq2 = MinhaSeq2 / 10000
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(0, Linha) = MinhaSeq1 Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
Me.txtQtde.Value = MinhaSeq2
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
Next Linha
MsgBox "Produto não cadastrado.", vbInformation, "Aplicativos AMC´2010"
Incluir = False
Me.LimpaProduto
End Sub
Public Sub PegaProdutocodbarra()
Dim QtdeProdutos As Integer
Dim Linha
If guardaast = "*" Then
GetValores (txtName1)
End If
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Incluir = True
QtdeProdutos = Me.ltxProdutos.ListCount - 1
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(0, Linha) = Me.txtCodigoBarras.Value Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
Else
If Me.ltxProdutos.Column(1, Linha) = Me.txtCodigoBarras.Value Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
End If
Next Linha
MsgBox "Produto não cadastrado.", vbCritical, "Aplicativos AMC´2010"
Incluir = False
'Me.LimpaProduto
End Sub
Public Sub PegaProdutocodbarra1()
Dim QtdeProdutos As Integer
Dim Linha
Incluir = True
GetValores (QualquerSeqüência)
GetValores2 (QualquerSeqüência)
QtdeProdutos = Me.ltxProdutos.ListCount - 1
For Linha = 0 To QtdeProdutos
If Me.ltxProdutos.Column(1, Linha) = NOMEDOPRODUTO Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
ElseIf Me.ltxProdutos.Column(0, Linha) = TextoPesquisa Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
If Me.ltxProdutos.Column(0, Linha) = txtCodigoBarras Then
Estoque = Me.ltxProdutos.Column(3, Linha)
Me.txtCodigoBarras.Value = Me.ltxProdutos.Column(1, Linha)
If QuantidadeS = "" Then
QuantidadeS = 1
End If
If QuantidadeS = 0 Then
QuantidadeS = 1
End If
Me.txtQtde.Value = QuantidadeS
Me.txtPrecoUnitario.Value = Me.ltxProdutos.Column(2, Linha)
CUSTOCOMPRA = Me.ltxProdutos.Column(4, Linha)
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
End If
Next Linha
MsgBox "Produto não cadastrado.", "Aplicativos AMC´2010"
Incluir = False
Me.LimpaProduto
End Sub
Public Sub LimpaProduto()
SendKeys "{esc}"
Me.txtCodigoBarras.Value = Null
SendKeys "{esc}"
Me.txtCodigoBarras.SetFocus
SendKeys "{esc}"
End Sub
Public Sub IncluirProduto()
Incluir = True
'If (Me.txtQtde > Estoque) Then
'MsgBox "Estoque atual menor que a quantidade solicitada." & Chr(10) & Chr(10) & "Estoque atual = " & Estoque, vbInformation, "Aplicativos AMC´2010"
'DoCmd.CancelEvent
'Me.txtCodigoBarras.SetFocus
'Else
Dim db As Database, rs As Recordset
'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Set db = CurrentDb()
Set rs = db.OpenRecordset("DETALHESDAVENDA") 'Abre tbl_Parcelas
rs.AddNew
rs![NÚMERO DA VENDA] = Me.Número_da_Venda
rs!NOMEDOPRODUTO = Me!txtCodigoBarras
rs!Quantidade = Me!txtQtde
rs!PreçoUnitario = Me!txtPrecoUnitario
rs!Estoque = Estoque
rs!Custo = CUSTOCOMPRA
rs.Update
rs.Close
db.Close
Me.PRODUTO2.Value = Me!txtCodigoBarras
Me.SUBVENDAS_NO_BALCAO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Requery
' Me.SUBVENDAS_NO_BALCAO.SetFocus
DoCmd.GoToRecord , , acLast
Me.txtCodigoBarras.SetFocus
Me.txtCodigoBarras.Value = Me.PRODUTO2
Incluir = False
' Me.LimpaProduto
QuantidadeS = 0
guardaast = ""
Exit Sub
'End If
End Sub
Public Sub executarenter()
If (txtCodigoBarras.Value <> "") Then
QualquerSeqüência = Me.txtCodigoBarras ' Define a seqüência de caracteres.
MinhaSeq = Left(QualquerSeqüência, 1) ' Retorna "A".
MinhaSeq1 = Left(QualquerSeqüência, 7) ' Retorna "Alô M".
MinhaSeq2 = Right(QualquerSeqüência, 6) ' Retorna "Alô M".
GetInStr (txtCodigoBarras)
If guardaast = "*" Then
PegaProdutocodbarra1
ElseIf MinhaSeq = "2" Then
PegaProdutobalanca
Else
PegaProdutocodbarra
End If
Else
txtCodigoBarras.SetFocus
End If
End Sub
Private Sub txtCodigoBarras_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then
Me.Texto151.Visible = True
Me.NOMEDOPRODUTO.SetFocus
Me.txtCodigoBarras.Visible = False
End If
'F3 - Finalizar Venda
If KeyCode = 114 Then
If MsgBox("Deseja finalizar esta Venda?", vbYesNo, "Aplicativos AMC´2010") = vbYes Then
If (VENDATOTAL = 0) Then
SALDODESPONIVEL.Visible = False
Forms!CAIXALIVRE!Cliente.SetFocus
Forms!CAIXALIVRE!FORMADEPAGAMENTO = Null
Forms!CAIXALIVRE!Cliente = Null
Forms!CAIXALIVRE.[NÚMERO DA VENDA] = Null
Forms!CAIXALIVRE.Requery
Forms!CAIXALIVRE![SUBVENDAS NO BALCAO].Visible = False
Else
NUMORCAMENTO = Null
NUMORCAMENTO.Visible = False
DoCmd.OpenForm "AVISTA", acNormal
End If
End If
End If
'F4 - Finalizar Venda
If KeyCode = 115 Then
If MsgBox("Deseja finalizar esta Venda?", vbYesNo, "Aplicativos AMC´2010") = vbYes Then
If (VENDATOTAL = 0) Then
SALDODESPONIVEL.Visible = False
Forms!CAIXALIVRE!Cliente.SetFocus
Forms!CAIXALIVRE!FORMADEPAGAMENTO = Null
Forms!CAIXALIVRE!Cliente = Null
Forms!CAIXALIVRE.[NÚMERO DA VENDA] = Null
Forms!CAIXALIVRE.Requery
Forms!CAIXALIVRE![SUBVENDAS NO BALCAO].Visible = False
Else
NUMORCAMENTO = Null
NUMORCAMENTO.Visible = False
DoCmd.OpenForm "CREDIARIO2", acNormal
End If
End If
End If
End Sub
Private Sub txtCodigoBarras_KeyPress(KeyAscii As Integer)
Dim txtName As String, I As Integer, intPos As Integer, strList As String, strProcura As String, Linha As Integer
txtName = Me.txtCodigoBarras.Text
If KeyAscii = 42 Then
guardaast = "*"
End If
If KeyAscii > 57 Then
If txtCodigoBarras.SelStart > 3 Then
If guardaast = "*" Then
txtName1 = txtCodigoBarras.Text
GetValores (txtName1)
GetInStr (txtName1)
Me.NOMEDOPRODUTO.RowSource = "SELECT DISTINCTROW LISTAGEMFILTROPRODUTOS.CODIGO,DESCRICAO,PRECO FROM LISTAGEMFILTROPRODUTOS WHERE (((LISTAGEMFILTROPRODUTOS.DESCRICAO) Like '" & TextoPesquisa & "*')) ORDER BY LISTAGEMFILTROPRODUTOS.DESCRICAO"
Me.NOMEDOPRODUTO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Visible = False
Else
GetInStr (Me.txtCodigoBarras.Text)
Me.NOMEDOPRODUTO.RowSource = "SELECT DISTINCTROW LISTAGEMFILTROPRODUTOS.CODIGO,DESCRICAO,PRECO FROM LISTAGEMFILTROPRODUTOS WHERE (((LISTAGEMFILTROPRODUTOS.DESCRICAO) Like '" & txtName & "*')) ORDER BY LISTAGEMFILTROPRODUTOS.DESCRICAO"
Me.NOMEDOPRODUTO.Visible = True
Me.SUBVENDAS_NO_BALCAO.Visible = False
End If
End If
End If
If KeyAscii = 8 And txtCodigoBarras.SelStart = 0 Then
Me.NOMEDOPRODUTO.Visible = False
End If
If KeyAscii = 13 Then
executarenter
SendKeys "{esc}"
End If
End Sub
Function GetValores(sequencia1 As String)
'Pega os valores depois do asterisco
GetValores = Right$(sequencia1, InStr(1, StrReverse(sequencia1), "*") - 1) ' aqui pegamos um pedaco a direita da sequencia (Right$)
TextoPesquisa = GetValores
' a funçao InStr, retorna a posição do *, observce que invertemos a
' sequencia de pesquisa (strReverse) para buscarmos a posição do
' asterisoc a partir do fim da sequencia.
' supondo que a sequencia seja "200*produto 1" ela retorna 10
' como não queremos oo asterisco, tiramos um da posição (-1)
' resultado strRetorno = "Produto 1"
End Function
Function GetValores2(sequencia As String)
GetValores2 = Left$(sequencia, InStr(1, sequencia, "*") - 1)
QuantidadeS = GetValores2
End Function
Function GetInStr(sequencia As String)
GetInStr = InStr(1, sequencia, "*")
InStrvalor = GetInStr
End Function
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'F6 - Orçamento
If KeyCode = 117 Then
ORCAMENTO_Click
KeyCode = 0
End If
'F7 - VERVENDAS
If KeyCode = 118 Then
VERVENDAS_Click
KeyCode = 0
End If
'F8 - O's
If KeyCode = 119 Then
ABANDONARVENDA_Click
KeyCode = 0
End If
'F9 - Preço
If KeyCode = 120 Then
PrecoProduto_Click
KeyCode = 0
End If
'F10 - LIVROCAIXA
If KeyCode = 121 Then
livrocaixa_Click
KeyCode = 0
End If
'F12 - OUTROS
If KeyCode = 123 Then
MENU_Click
KeyCode = 0
End If
End Sub