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á!!