boa tarde meu queridos !!!
Me tirem um duvida...
Peguei BD aqui do fórum aos créditos de Criquio Calavera
Seria um sistema de vendas, estou adaptando ao meu BD.
Eu precisaria que na hora de finalizar, inserisse pelo txt (codigo do cliente) o numero.
se alguem poderia me explicar sobre Column(0, NLinha) didaticamente seria um prazer.
BASICAMENTE, tudo que queria esta na tblVendasDetalhes
codigo abaixo:
Private Sub btnFinaliza_Click()
If Me.btnObs.Caption = "Confirmar" Then
MsgBox "O campo Observações está em modo de edição. Clique no botão ""Confirmar"" antes de realizar essa operação.", vbOKOnly + vbCritical, "ATENÇÃO"
Else
Me.txtCalcula.SetFocus
If Me.lstCompras.RowSource = "" Then
MsgBox "Lista de compras vazia.", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtCalcula.SetFocus
Me.txtDinheiro.Enabled = False
Me.txtDinheiro.Locked = True
ElseIf IsNull(Me.txtDinheiro) Or Me.txtDinheiro.Value = "" Then
MsgBox "Insira o valor do pagamento em dinheiro", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtDinheiro.Enabled = True
Me.txtDinheiro.Locked = False
Me.txtDinheiro.SetFocus
ElseIf Me.txtDinheiro < Me.txtTotalCompra Then
MsgBox "Valor em dinheiro menor que o valor da compra", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtDinheiro.Enabled = True
Me.txtDinheiro.Locked = False
Me.txtDinheiro.SetFocus
Else
Dim db1 As Database, db2 As Database, rs1 As Recordset, rs2 As Recordset, NLinha As Long
If MsgBox("Confirma a venda?", vbYesNo + vbQuestion, "CONFIRMAR") = vbYes Then
Set db1 = CurrentDb
Set db2 = CurrentDb
Set rs1 = db1.OpenRecordset("tblVendas", dbOpenTable)
Set rs2 = db2.OpenRecordset("tblVendasDetalhes", dbOpenTable)
rs1.AddNew
rs1("DataVenda") = Date
rs1("HoraVenda") = Time
rs1("Observações") = Me.txtObs
rs1.Update
rs1.Close
Set rs1 = Nothing
Set db1 = Nothing
For NLinha = 0 To Me.lstCompras.ListCount - 1
rs2.AddNew
rs2("CódigoVenda") = DMax("Código", "tblVendas")
rs2("CódigoProduto") = Me.lstCompras.Column(0, NLinha)
rs2("Quantidade") = Me.lstCompras.Column(2, NLinha)
rs2("vlUnitário") = Me.lstCompras.Column(3, NLinha)
rs2.Update
Next NLinha
rs2.Close
Set rs2 = Nothing
Set db2 = Nothing
MsgBox "Venda confirmada.", vbOKOnly + vbInformation, "Concluído"
Call VerificaCampos
Else
If MsgBox("Deseja alterar ou cancelar essa venda?" & vbCrLf & "Escolha ""OK"" para alterar ou ""Cancelar"" para cancelar.", vbOKCancel + vbQuestion, "ESCOLHA") = vbCancel Then
Call VerificaCampos
Else
Exit Sub
End If
End If
End If
End If
End Sub
Me tirem um duvida...
Peguei BD aqui do fórum aos créditos de Criquio Calavera
Seria um sistema de vendas, estou adaptando ao meu BD.
Eu precisaria que na hora de finalizar, inserisse pelo txt (codigo do cliente) o numero.
se alguem poderia me explicar sobre Column(0, NLinha) didaticamente seria um prazer.
BASICAMENTE, tudo que queria esta na tblVendasDetalhes
codigo abaixo:
Private Sub btnFinaliza_Click()
If Me.btnObs.Caption = "Confirmar" Then
MsgBox "O campo Observações está em modo de edição. Clique no botão ""Confirmar"" antes de realizar essa operação.", vbOKOnly + vbCritical, "ATENÇÃO"
Else
Me.txtCalcula.SetFocus
If Me.lstCompras.RowSource = "" Then
MsgBox "Lista de compras vazia.", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtCalcula.SetFocus
Me.txtDinheiro.Enabled = False
Me.txtDinheiro.Locked = True
ElseIf IsNull(Me.txtDinheiro) Or Me.txtDinheiro.Value = "" Then
MsgBox "Insira o valor do pagamento em dinheiro", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtDinheiro.Enabled = True
Me.txtDinheiro.Locked = False
Me.txtDinheiro.SetFocus
ElseIf Me.txtDinheiro < Me.txtTotalCompra Then
MsgBox "Valor em dinheiro menor que o valor da compra", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtDinheiro.Enabled = True
Me.txtDinheiro.Locked = False
Me.txtDinheiro.SetFocus
Else
Dim db1 As Database, db2 As Database, rs1 As Recordset, rs2 As Recordset, NLinha As Long
If MsgBox("Confirma a venda?", vbYesNo + vbQuestion, "CONFIRMAR") = vbYes Then
Set db1 = CurrentDb
Set db2 = CurrentDb
Set rs1 = db1.OpenRecordset("tblVendas", dbOpenTable)
Set rs2 = db2.OpenRecordset("tblVendasDetalhes", dbOpenTable)
rs1.AddNew
rs1("DataVenda") = Date
rs1("HoraVenda") = Time
rs1("Observações") = Me.txtObs
rs1.Update
rs1.Close
Set rs1 = Nothing
Set db1 = Nothing
For NLinha = 0 To Me.lstCompras.ListCount - 1
rs2.AddNew
rs2("CódigoVenda") = DMax("Código", "tblVendas")
rs2("CódigoProduto") = Me.lstCompras.Column(0, NLinha)
rs2("Quantidade") = Me.lstCompras.Column(2, NLinha)
rs2("vlUnitário") = Me.lstCompras.Column(3, NLinha)
rs2.Update
Next NLinha
rs2.Close
Set rs2 = Nothing
Set db2 = Nothing
MsgBox "Venda confirmada.", vbOKOnly + vbInformation, "Concluído"
Call VerificaCampos
Else
If MsgBox("Deseja alterar ou cancelar essa venda?" & vbCrLf & "Escolha ""OK"" para alterar ou ""Cancelar"" para cancelar.", vbOKCancel + vbQuestion, "ESCOLHA") = vbCancel Then
Call VerificaCampos
Else
Exit Sub
End If
End If
End If
End If
End Sub