Galera eu sou muito mais muito muito iniciante em visual basic mesmo eu estou tentando fazer o seguinte
eu tenho um flexgrid com 3 campos (Aluno,Curso,Valor).
Eu coloquei um SSpanel Para Exebir os resultados do Campo Valor, (O sspanel soma todos os campos do "Valor").
Esta ai o meu problema ele soma tudo certinho atualiza mais na hora não mostra os centavos.
Vou Colocar meu Codigo Para Ver se fica mais facil para me ajudarem
Option Explicit
Private numero_registros As Variant 'contador de registros
Const colindex_lista = 1 'coluna onde será mostrada a lista de itens
Private Sub Command1_Click()
With Data1.Recordset
.AddNew
!Aluno = txtaluno
!Curso = txtcurso
!Valor = txtvalor
.Update
End With
Data1.Refresh
txtaluno = ""
txtcurso = ""
txtvalor = ""
End Sub
Private Sub Data1_Reposition() 'ao iniciar
'-----------------------------atualiza o total no controle SSPanel---------
If PnlTotal.Caption = "" Then
Soma_Colunas grid, Data1, "valor", PnlTotal, "#,##0.00" 'chama rotina de soma
End If
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer)
'dependendo da ação incrementa ou decrementa o contador de registros
Select Case Action
Case vbDataActionAddNew 'inclusão
numero_registros = numero_registros + 1
Case vbDataActionDelete 'exclusão
numero_registros = numero_registros - 1
End Select
End Sub
Private Sub Form_Load()
PnlTotal.Caption = ""
End Sub
Public Sub Soma_Colunas(dbg As DBGrid, dados As Data, nomecampo As String, _
pnl As SSPanel, num_formato As String)
Dim soma As Single
Dim rs As Recordset
'so para se previnir
On Error GoTo trata_erro
Set rs = dados.Recordset.Clone
'rotina para somar a coluna escolhida(valor)
Do Until rs.EOF
soma = soma + Val(rs(nomecampo))
rs.MoveNext
Loop
pnl = Format(soma, num_formato)
Exit Sub
trata_erro:
MsgBox "Ocorreu um erro durante o processamento, verifique ! "
End Sub
Private Sub Grid_AfterUpdate() 'atualizar após modificar/inserir dados
Soma_Colunas grid, Data1, "valor", PnlTotal, "#,##0.00"
End Sub
Pergunta
Guest Talles Henrique
Galera eu sou muito mais muito muito iniciante em visual basic mesmo eu estou tentando fazer o seguinte
eu tenho um flexgrid com 3 campos (Aluno,Curso,Valor).
Eu coloquei um SSpanel Para Exebir os resultados do Campo Valor, (O sspanel soma todos os campos do "Valor").
Esta ai o meu problema ele soma tudo certinho atualiza mais na hora não mostra os centavos.
Vou Colocar meu Codigo Para Ver se fica mais facil para me ajudarem
Desde já Obrigado.
:blink:
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.