Boa tarde Krauss!!!
use esse codigo e adapte a sua realidade
Private Sub txtCodigoBarras_KeyPress(KeyAscii As Integer)
txtName = Me.txtCodigoBarras.Text
If KeyAscii = 42 Then
guardaast = "*"
End If
If KeyAscii = 13 Then
executarenter
End If
End Sub
Public Sub IncluirProduto()
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.Requery
DoCmd.GoToRecord , , acLast
Me.txtCodigoBarras.SetFocus
Me.txtCodigoBarras.Value = Me.PRODUTO2
Me.EXIBIRNOMEPRODUTO.Visible = True
Incluir = False
QuantidadeS = 1
Me!txtQtde = 1
guardaast = ""
Me.PEGACODIGODESCRICAO = Null
Me.txtCodigoBarras.Value = Null
PRECO = 0
qtd = 0
' SendKeys "+{esc}"
' Call fncAtivarDesativarTecla(144, True)
' If ([vbKeyNumlock] = False) Then
' SendKeys "+{NUMLOCK}"
' End If
End Sub
Public Sub executarenter()
If (txtCodigoBarras.Text <> "") Then
QualquerSeqüência = Me.txtCodigoBarras ' Define a seqüência de caracteres.
MinhaSeq = Left(QualquerSeqüência, 1) ' Retorna "A".
MinhaSeq0 = Left(QualquerSeqüência, 3) ' Retorna "Alo".
MinhaSeq1 = Left(QualquerSeqüência, 7) ' Retorna "Alô M".
MinhaSeq2 = Right(QualquerSeqüência, 7) ' Retorna "Alô Ma".
'GetInStr (txtCodigoBarras)
Incluir = True
'If (Me.txtCodigoBarras = "99") Then
' PrecoProduto
' Else
If MinhaSeq = "2" Then
PegaProdutobalanca
Else
If guardaast = "*" Then
PegaProdutocodbarra
End If
End If
Else
txtCodigoBarras.SetFocus
End If
End Sub
Public Sub PegaProdutobalanca() 'ok
'2588800006111
Incluir = True
PEGACODIGODESCRICAO = MinhaSeq1
MinhaSeq2 = MinhaSeq2 / 1000
'PRECO = MinhaSeq2
If (Eval("DLookUp(""[CODIGODEBARRA]"",""[PRODUTO]"",""[CODIGODEBARRA] = FORM.[PEGACODIGODESCRICAO] "") Is Not Null")) Then
strfiltro = "[CODIGODEBARRA] ='" & Me!PEGACODIGODESCRICAO & "'"
CUSTOCOMPRA = (DLookup("CUSTOCOMPRA", "Produto", strfiltro))
Me.txtPrecoUnitario.Value = (DLookup("PRECO", "Produto", strfiltro))
If (MinhaSeq2 > "0,0099") Then
Me.txtValor = Format(Mid(Me.txtCodigoBarras.Value, 8, 3) & "," & Right(Me.txtCodigoBarras.Value, 3), "#,##0.00")
Quant = txtValor / Me.txtPrecoUnitario
Me.txtCodigoBarras.Value = (DLookup("DESCRICAO", "Produto", strfiltro))
Me.Refresh
Me.txtQtde.Value = Quant
'Me.codProd = Left(Me.txtCodBarras.Value, 7)
'Me.txtDescricao = DLookup("Descricao", "tblProdutos", "CodBarras ='" & Me.codProd & "'")
'Me.txt = Format(DLookup("valor", "tblProdutos", "CodBarras ='" & Me.codProd & "'"), "#,##0.000")
'Me.txtValor = Format(Mid(Me.txtCodBarras.Value, 8, 3) & "," & Right(Me.txtCodBarras.Value, 3), "#,##0.00")
'Me.Refresh
'Me.Texto11 = Me.txtValor / Me.txt
'tira do estoque quando for balança
'DoCmd.RunSQL "update tblProdutos set QTDE = QTDE - Forms![frmVendas]![Texto11]" _
'& " where tblProdutos.Descricao=Forms![frmVendas]![txtDescricao]"
End If
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
Else
Me.txtCodigoBarras = "Produto não cadastrado balança"
QuantidadeS = 1
Me!txtQtde = 1
guardaast = ""
Incluir = False
End If
End Sub
Public Sub PegaProdutocodbarra() 'OK
'Pega os valores depois do asterisco
Depois = Right$(txtCodigoBarras, InStr(1, StrReverse(txtCodigoBarras), "*") - 1) ' aqui pegamos um pedaco a direita da sequencia (Right$)
Me.PEGACODIGODESCRICAO = Depois
Antes = Left$(txtCodigoBarras, InStr(1, txtCodigoBarras, "*") - 1) ' aqui pegamos um pedaco a esquerda da sequencia (Left$)
' a funçao InStr, retorna a posição do *,
Me.txtQtde.Value = Antes
' supondo que a sequencia seja "200*produto 1" ela retorna 4
' como não queremos oo asterisco, tiramos um da posição (-1)
' resultado strRetorno = "200"
If (Eval("DLookUp(""[CODIGODEBARRA]"",""[PRODUTO]"",""[CODIGODEBARRA] = FORM.[PEGACODIGODESCRICAO] "") Is Not Null")) Then
strfiltro = "[CODIGODEBARRA] ='" & Me!PEGACODIGODESCRICAO & "'"
Me.txtCodigoBarras.Value = (DLookup("DESCRICAO", "Produto", strfiltro))
CUSTOCOMPRA = (DLookup("CUSTOCOMPRA", "Produto", strfiltro))
Me.txtPrecoUnitario.Value = (DLookup("PRECO", "Produto", strfiltro))
If Incluir = True Then
Me.IncluirProduto
End If
Exit Sub
Else
Me.txtCodigoBarras = "Produto não cadastrado codbarra " * ""
QuantidadeS = 1
Me!txtQtde = 1
guardaast = ""
Incluir = False
End If
End Sub
agora no seu sub formulario detalhesdospedidos
vc deve criar uma consulta para somar o campo quantidade usando a opcao totais que tem esse simbolo ∑
e deve estar acoplado essa consulta nesse subformulario e as chaves de numerodopedido deve ser colocado
para exibir informacoes desse pedido