Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda - controle de caixa


Bellebs

Pergunta

Olá, bom dia ^^

Gostaria de uma ajuda referente ao meu projeto; estou com um problema sobre o controle de caixa.

O funcionamento é o seguinte:

Quando o valor do suprimento de caixa é cadastrado é exibido no formulário de controle de caixa o valor referente ao suprimento e quando é cadastrado novamente, é somado o valor já existente; para entender melhor esse funcionamento, tem a imagem do programa abaixo:

57001779.png

O código do botão "Confirmar" é esse:

Dim acum, ent As Integer

Dim data As String
Dim hora As String

data = Date
hora = Time

de.rscaixa.AddNew
de.rscaixa.Fields("valor").Value = FormatCurrency(txtval.Text)
de.rscaixa.Fields("forma").Value = cbofor.Text
de.rscaixa.Fields("historico").Value = txthist.Text
de.rscaixa.Fields("data").Value = data
de.rscaixa.Fields("hora").Value = hora
de.rscaixa.Update
acum = de.rscaixa.Fields("valor")
ent = acum + ent
frmconcaix.txtent = ent
txtval.Text = ""
cbofor.Text = ""
MsgBox "Suprimento de Caixa Cadastrado com Sucesso!", vbInformation, "Suprimento de Caixa"

End Sub

Essa é a outra tela do programa:

imagemwn.png

Obs.: O visual Basic é versão 6; o banco de dados é feito em Access 2002 (XP)

Obrigada ^^

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bem, pelo que entendí você tem de fazer um SELECT do campo para pegar o valor já salvo...

Jogar este valor numa variável...

depois somar o valor digitado na Caixa de Texto "Valor" ao da variável...

e então salvar no BD (Banco de Dados)...

Detalhes...

se os valores são numeros com decimais, o melhor é usar o Tipo "Double"...pois "Integer" é Inteiro, logo se ele receber um valor como "35,40" ele arredonda para "35"...

Lí certa vez que não é bom declarar variáveis dessa maneira:

Dim acum, ent As Integer
Pois o VB vai entender que "acum" é do Tipo "Variant", e só o "ent" é "Integer"... o correto seria:
Dim acum As Integer, ent As Integer

Outro detalhe é que você não especificou qual o verdadeiro problema...apenas citou como deveria funcionar... ;)

Link para o comentário
Compartilhar em outros sites

  • 0

me desculpe, referente àquele formulário o valor inicialmente aparece mas quando eu cadastro de novo ele não soma mas substitui o antigo valor pelo novo e quando o formulário e fechado e reaberto o valor desaparece.

Editado por Bellebs
Link para o comentário
Compartilhar em outros sites

  • 0

Esse valor é salvo no BD, certo...então, para ele ser visualizado de inicio, tem de fazer um SELECT desse campo do BD que armazena esse valor...tipo assim:

Dim sql As String                   '<= Variavel tipo String
Dim RecSet As New ADODB.Recordset   '<= Meu RecordSet ADO
Dim ObCon As New ADODB.Connection   '<= Meu Objeto de Conexão ADO
                              ' Minha String de Conexão
ObCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\BaseDados.mdb;Persist Security Info=False"
ObCon.Open             '<= Abrindo a conexão com o BD


sql = "SELECT Nome FROM Clientes WHERE ID=26"    '<= Comando SQL que vai pegar o valor...

Set RecSet = ObCon.Execute(sql)   '<=  Configurando o RecordSet com o comando SQL

MsgBox RecSet!Nome  '<= Apresentando o valor que foi pego no BD

ObCon.Close         '<= Fechando a conexão

Isso aí é só um exemplo...ou seja, peguei "um" valor (o "Nome") de certo campo do banco (Campo "Nome" da Tabela "Clientes") pelo valor do "ID" (outro campo do BD).

você pode fazer isso só para inicialmente carregar seu Valor inicial na caixa de texto...

e depois fazer a atualização desse campo com o valor de antes somado com o valor digitado... isso já seria uma "EDIÇÃO" do campo, e teria que usar um comando SQL do tipo: "UPDATE tabela SET campo=resultado_da_soma"...

e depois teria de fazer novo "SELECT" do campo para mostrar o novo valor...

explicando é meio complicado...vou bolar um exemplo e posto depois...mas é bom ir tentando...

sem falar que não sei como está seu script :D

Até ! Legal.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...