USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Soma no Vb6
diegocr
NOVA IGUAÇU
RJ - BRASIL
Postada em 29/07/2005 10:18 hs            

Estou tendo um problema c/ o meu banco de dados. Eu tenho uma tabela com o nome Residencial e tem os respectivos campos: Residencial, Condominio, Numero, Taxa_incendio, Seguro_incendio, IPTU, Cota_Extra e Total. Todos os campos estão c/ o tipo de dados Número c/ menos o Número que é texto. O problema mesmo que está dando é na minha aplicação, pois quando incluo os registros nos campos (.text) ele não está aparecendo no total o somatório dos campos. Abaixo está toda a rotina do Formulário Residencial:

Option Explicit
Dim WithEvents rs_imobiliaria As ADODB.Recordset
Dim strsql As String
Private Sub Salvar()
    
'Se estiver no modo de inclusão então salva
    If Adodc1.Recordset.EditMode = adEditAdd Then
        On Error GoTo SalvarFailure:
        Adodc1.Recordset.Update 'salva o registro
        On Error GoTo 0 'desabilita o tratamento de erros
'Como não precisa salvar, então desabilita a opção Salvar do Menu
        mnuSalvar.Enabled = False
        
    End If 'Inicio Tratamento de erros (SalvarDone e SalvarFailure são chamadas Labels)
    
        Call rTotal 'Chama a rotina de somatorio de Total
        
SalvarDone:
    Exit Sub
SalvarFailure:
    MsgBox Err.Number & vbCrLf & Err.Description 'Exibe a descrição do erro
    
    Resume SalvarDone 'continua a execução a partir da linha SalvarDone
    
End Sub
Private Sub cmd_alterar_Click()
'MsgBox ("Em Desenvolvimento! Aguarde!")
    Call Visivel
    MsgBox ("Deseja mesmo Alterar o Registro ?")
    cmd_Gravar.Enabled = True
End Sub
Private Sub cmd_excluir_Click()
    
    'ativa o tratamento de erros
    On Error GoTo DeleteFailure:
    
    If MsgBox("Deseja Salvar os dados ?", vbYesNo) = vbYes Then
    'exclui o registro
        Adodc1.Recordset.Delete
    'O registro atual agora é invalido então movemos para o anterior
        Adodc1.Recordset.MovePrevious
    
    'Se estivermos no inicio do arquivo movemos para o primeiro registro
   End If
  
        If Adodc1.Recordset.BOF Then
        Adodc1.Recordset.MoveMin
        End If 'Inicio do tratamento de errosDeleteDone:
    
DeleteDone:
    Exit Sub
DeleteFailure:
    
    MsgBox Err.Number & vbCrLf & Err.Description
    
    Resume DeleteDone
    
    txt_Residencial.SetFocus
    
    Call Invisivel
    
End Sub
Private Sub cmd_Fechar_Click()
    
    'Se estiver no modo de inclusão, então pergunta se quer salvar
    
    Call Invisivel
    
    If Adodc1.Recordset.EditMode = adEditAdd Then
        
        If MsgBox("Deseja Salvar os dados ?", vbYesNo) = vbYes Then
        
          Call Salvar
        
        End If
        
    End If
    
        Unload Me
    
End Sub
Private Sub cmd_Gravar_Click()
    'Se estiver no modo de inclusão , então pergunta se quer salvar
    If Adodc1.Recordset.EditMode = adEditAdd Then
        
        If MsgBox("Deseja Salvar os dados ?", vbYesNo) = vbYes Then
          
          Call Salvar
        
        End If
    
    End If
    
        txt_Residencial.SetFocus
        
        Call Invisivel
End Sub
Private Sub cmd_imprimir_Click()
    
    Dim aux As String
    Dim sCaminho As String
    
        sCaminho = App.Path
        On Error GoTo trata_erro
      
        Crystal.ReportFileName = sCaminho & "ptImovel_Residencial.rpt"
        
        CommonDialog1.CancelError = True
        
        CommonDialog1.Flags = 64
    
        CommonDialog1.ShowPrinter
        
        Crystal.Action = 1
        
        Exit Sub
        
trata_err
    
        MsgBox "Erro no Relatório!" & vbCrLf & _
        "Informe ao Técnico Responsável"
End Sub
Private Sub cmd_incluir_Click()
    'Inclui uma nova linha em branco na memória
    Adodc1.Recordset.AddNew
    'habilita a opção Salvar do Menu
        Call Visivel
    
    mnuSalvar.Enabled = True
    
    txt_Residencial.SetFocus
    txt_Total.Text = ""
    cmd_Gravar.Enabled = True
    
End Sub

Private Sub cmd_Primeiro_Click(Index As Integer)
    If rs_imobiliaria.BOF = False And rs_imobiliaria.EOF = False Then
        rs_imobiliaria.MoveMin
    End If
    
End Sub
Private Sub cmd_Proximo_Click()
    If rs_imobiliaria.BOF = False And rs_imobiliaria.EOF = False Then
        rs_imobiliaria.MoveNext
    End If
    
End Sub
Private Sub cmd_Ultimo_Click(Index As Integer)
    If rs_imobiliaria.BOF = False And rs_imobiliaria.EOF = False Then
        rs_imobiliaria.MoveMax
    End If
    
End Sub
Private Sub Form_Load()
         Me.Top = 590
         Me.Left = 0
End Sub
Private Sub mnuAlterar_Click()
    Call cmd_alterar_Click
End Sub
Private Sub mnuDeletar_Click()
    Call cmd_excluir_Click
End Sub
Private Sub mnuImprimir_Click()
    
    Call cmd_imprimir_Click
End Sub
Private Sub mnuNovo_Click()
    Call cmd_incluir_Click
End Sub
Private Sub mnuSair_Click()
    Call cmd_Fechar_Click
End Sub
Private Sub mnuSalvar_Click()
    Call cmd_Gravar_Click
End Sub
Private Sub Invisivel()
                    txt_Residencial.Enabled = False
                    lbl_Residencial.Enabled = False
                    txt_Condominio.Enabled = False
                    lbl_Condominio.Enabled = False
                    txt_Cota_Extra.Enabled = False
                    lbl_Cota_Extra.Enabled = False
                    txt_IPTU.Enabled = False
                    lbl_IPTU.Enabled = False
                    txt_Numero.Enabled = False
                    lbl_Numero.Enabled = False
                    txt_Seguro_Incendio.Enabled = False
                    lbl_Seguro_Incendio.Enabled = False
                    txt_Taxa_Incendio.Enabled = False
                    lbl_Taxa_Incendio.Enabled = False
                    txt_Total.Enabled = False
                    lbl_Total.Enabled = False
                    
End Sub
Private Sub Visivel()
                    txt_Residencial.Enabled = True
                    lbl_Residencial.Enabled = True
                    txt_Condominio.Enabled = True
                    lbl_Condominio.Enabled = True
                    txt_Cota_Extra.Enabled = True
                    lbl_Cota_Extra.Enabled = True
                    txt_IPTU.Enabled = True
                    lbl_IPTU.Enabled = True
                    txt_Numero.Enabled = True
                    lbl_Numero.Enabled = True
                    txt_Seguro_Incendio.Enabled = True
                    lbl_Seguro_Incendio.Enabled = True
                    txt_Taxa_Incendio.Enabled = True
                    lbl_Taxa_Incendio.Enabled = True
'                    txt_Total.Enabled = True
                    lbl_Total.Enabled = True
End Sub
Private Sub rTotal()
  Dim Resultado As String
    If Residencial.Visible = True Then
    
       Resultado = Val(txt_Residencial.Text) _
                 + Val(txt_Condominio.Text) _
                 + Val(txt_Taxa_Incendio.Text) _
                 + Val(txt_Seguro_Incendio.Text) _
                 + Val(txt_IPTU.Text) _
                 + Val(txt_Cota_Extra)
                 txt_Total.Text = Val(Resultado)
    End If
    
        Adodc1.Recordset.Update 'salva o registro do campo total
End Sub
 
 
Tem como modificar isso?!! Alguém pode me ajudar?!!
Obrigado desde já!!
     
G. Bittencourt
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 29/07/2005 10:32 hs            
Olá amigo, o problema está acontecendo porque você está tentando somar valores numa variável do tipo String (Texto) e quando se faz isso os valores não são somados e sim concatenados (tipo "A" + "B" = "AB"). Para resolver seu problemas declare a variável Resultado, do seu procedimento "rTotal", como Integer, Single ou Double.
Um abraço.
 
Tentei... Emoções

Abraços!!!
by
Gustavo Bittencourt Costa
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página