Função transferência

Moderador: Avelino Sampaio

Sergio
Mensagens: 4
Registrado em: 08 Ago 2016, 21:49

Função transferência

Mensagempor Sergio » 29 Set 2016, 05:41

Caro Avelino,

Bom dia!!!!

Tenho recebido suas dicas, que diga-se de passagem são valiosíssimas, no entanto recorro a você, no sentido de estar sanado uma dúvida, á saber: pretendo montar um sistema de controle financeiro pessoal no ACCESS, sendo que neste sistema, serão cadastradas diversas contas, como por exemplo: carteira, conta corrente, conta poupança...etc., no decorrer dos lançamentos, terei em algumas ocasiões, que fazer transferência entre contas, ou seja, da conta carteira para a conta poupança, ou , da conta poupança para conta corrente e aí por diante, teria alguma fórmula ou função que eu poderia estar utilizando, no intuito de realizar, tais procedimentos em minha aplicação?

Um forte abraço!!!

Sergio

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1860
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Função transferência

Mensagempor Avelino Sampaio » 29 Set 2016, 08:10

Sergio, benvindo a REDE!

crie um formulário semelhante a este da imagem:

transfConta.gif
transfConta.gif (8.22 KiB) Visto 696 vezes


Agora, a programação depende muita da estrutura do seu projeto. Vou mostrar o código abaixo aonde todos os movimentos são gravados numa tabela chamada tblHistóricoCaixas:

Código:
Private Sub btTransferir_Click()
'On Error Resume Next
Dim box As String, pula As String
Dim rs As DAO.Recordset, k As Boolean
Dim dblEstorno As Double, j As Byte
pula = Chr(13) & Chr(10)

'------------------------
'verifica caixa débito
'--------------------------

If Len(Me!cboCaixa1 & "") = 0 Then
MsgBox "Entre com o caixa a debitar...", vbInformation, "Aviso"
Me!cboCaixa1.SetFocus
Exit Sub
End If
'--------------------------
'Verifica valor a debitar
'-------------------------

If Nz(Me!txValor, 0) = 0 Then
MsgBox "Entre com o valor a debitar...", vbInformation, "Aviso"
Me!txValor.SetFocus
Exit Sub
End If
'--------------------------
'Verifica caixa crédito
'-------------------------

If Len(Me!cboCaixa2 & "") = 0 Then
MsgBox "Entre com o caixa a creditar...", vbInformation, "Aviso"
Me!cboCaixa2.SetFocus
Exit Sub
End If
'----------------
'Verifica data
'----------------

If Len(Me!txData & "") = 0 Then
MsgBox "Entre com a data...", vbInformation, "Aviso"
Me!txData.SetFocus
Exit Sub
End If

'-----------------------------------
'Verifica preenchimento do histórico
'------------------------------------

If Len(Me!txHistorico & "") = 0 Then
MsgBox "Preencha o histórico...", vbInformation, "Aviso"
Me!txHistorico.SetFocus
Exit Sub
End If

'---------------------------------------------------------
'Gerar código exclusivo para operação de estorno
'---------------------------------------------------------

dblEstorno = format(now,"yyyymmddhhmmss")


box = "Débito caixa : " & Me!cboCaixa1.Column(1) & pula & pula
box = box & "Crédito caixa : " & Me!cboCaixa2.Column(1) & pula & pula
box = box & "Valor : " & Me!txValor & pula & pula
box = box & "Confirma transferência ? "
If MsgBox(box, vbQuestion + vbYesNo, "Confirmação") = vbNo Then Exit Sub

Set rs = CurrentDb.OpenRecordset("tblHistóricoCaixas")
BeginTrans
'------------------
'Débitando
'------------------

rs.AddNew
rs!IdCaixa = Me!cboCaixa1.Column(0)
rs!DataPagamento = Me!txData
rs!Histórico = Me!txHistorico
rs!ValorDébito = Me!txValor
rs!IdEstorno = dblEstorno
rs.Update
'--------------
'Creditando
'--------------

rs.AddNew
rs!IdCaixa = Me!cboCaixa2.Column(0)
rs!DataPagamento = Me!txData
rs!Histórico = Me!txHistorico
rs!ValorCrédito = Me!txValor
rs!IdEstorno = dblEstorno
rs.Update
CommitTrans
rs.Close
Set rs = Nothing
Forms!frmCpr!ListaHistóricoCaixa.Requery
MsgBox "Tranferência realizada...", vbInformation, "Aviso"
DoCmd.Close
End Sub


Nota: Fundamental toda a operação estar dentro da estrutura BeginTrans ... CommitTrans

Sucesso!
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Sergio
Mensagens: 4
Registrado em: 08 Ago 2016, 21:49

Re: Função transferência

Mensagempor Sergio » 29 Set 2016, 12:56

Caro Avelino!!

Bom dia!!!

Muito!!! Obrigado!!!, pelo breve retorno. Com relação a sua orientação, vou estudar tentar adaptar o código ao meu projeto, uma vez que sou iniciante no projeto ACCESS, mas posso dizer, com toda a certeza, com suas dicas estou aprendendo muita coisa nova, estou gostando deste fórum, qualquer dúvida, posto aqui, Ok?. Um forte!! Abraço!!!, Sucesso!!! a todos!!!..fiquem com Deus.

Sergio
Mensagens: 4
Registrado em: 08 Ago 2016, 21:49

Re: Função transferência

Mensagempor Sergio » 30 Set 2016, 05:16

Caro Avelino,

Bom dia!!!

Você teria um arquivo, a título de exemplo, utilizando estes comandos de transferência entre contas?

Abs.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Assis
Mensagens: 58
Registrado em: 11 Nov 2015, 15:33

Re: Função transferência

Mensagempor Assis » 28 Fev 2017, 18:56

Boa noite
Mestre Avelino

Esta função faz 2 registros na tabela ?

Obrigado

Assis
Mensagens: 58
Registrado em: 11 Nov 2015, 15:33

Re: Função transferência

Mensagempor Assis » 03 Mar 2017, 20:26

Boa noite Mestre Avelino

Já consegui aplicar a sua função de "Transferência".
A minha duvida agora será ao querer anular por motivo de erro por exemplo, o movimento, ser anulado nas duas contas.

O Campo "IDMovimento" é automático.
O campo "IdCaixa" é o id da conta.
O campo "Historico" fica como mostra a imagem, assim como o campo "Rubrica".
O campo "Entidade" são as iniciais das contas das contas em comum
O campo "Doc" fica com o mesmo numero nas duas contas, e é um numero crescente.
O campo "ValorDebito" e o campo "ValorCredito", pegam o valor do campo "ValorMovimento" no click do botão gravar.

Se me puder dar uma ideia, agradecia:

Obrigado Mestre
Anexos
Eliminar 2.png
Eliminar 2.png (17.47 KiB) Visto 488 vezes

Avatar do usuário
Avelino Sampaio
Mensagens: 1860
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Função transferência

Mensagempor Avelino Sampaio » 03 Mar 2017, 20:34

Assis,

cadê o número de ESTORNO que deve ser salvo com os registros ?

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Assis
Mensagens: 58
Registrado em: 11 Nov 2015, 15:33

Re: Função transferência

Mensagempor Assis » 03 Mar 2017, 21:56

Boa noite Mestre

Os campos que tem na tabela são os que estão na imagem.

Mas posso criar um campo "Estorno".
Tipo Número ?

Aguardo

Sergio
Mensagens: 4
Registrado em: 08 Ago 2016, 21:49

Re: Função transferência

Mensagempor Sergio » 13 Mar 2017, 01:58

Assis, Boa noite!!!

Você poderia me enviar uma cópia de seu projeto?

Abs.

Assis
Mensagens: 58
Registrado em: 11 Nov 2015, 15:33

Re: Função transferência

Mensagempor Assis » 13 Mar 2017, 11:41

Sergio o meu exemplo é o do Mestre Avelino

MovimentoConta.zip

http://usandoaccess.com.br/download.asp ... emplos.asp

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Access x Outros”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante