FLEXGRID
E aà pessoal blz.
Eu estou usando um Flexgrid para exibir dados de uma tabela e essa tabela tem um campo do tipo moeda, mas no flex não consigo exibir a coluna do campo no estilo de moeda, aparece como números sem formação de moeda, alguém sabe mesmo que por código como fazer para mudar a coluna do flex para estilo de moeda.
Espero ter sido claro,
Valew mesmo pessoal.
Eu estou usando um Flexgrid para exibir dados de uma tabela e essa tabela tem um campo do tipo moeda, mas no flex não consigo exibir a coluna do campo no estilo de moeda, aparece como números sem formação de moeda, alguém sabe mesmo que por código como fazer para mudar a coluna do flex para estilo de moeda.
Espero ter sido claro,
Valew mesmo pessoal.
Como você esta adicionando os dados na grid.
Se for por additem faça Format(Campo,"currency")
Se for via Recordset acoplado faça na consulta Format(Campo,'currency')
Se for por additem faça Format(Campo,"currency")
Se for via Recordset acoplado faça na consulta Format(Campo,'currency')
Caso esteja Utilizando lação para preenchimento de linhas, faça
MsFlexGrid.TextMatrix(Linha,Colunaj) = Format$(ValordeSuaTabela, "R$#,##0.00;(R$#,##0.00)")
MsFlexGrid.TextMatrix(Linha,Colunaj) = Format$(ValordeSuaTabela, "R$#,##0.00;(R$#,##0.00)")
Formatando a coluna e lançando a somatoria em um textbox:
Set BancoDeDados = OpenDatabase(App.Path & "\bolao.MDB", False)
Set TBSaldo = BancoDeDados.OpenRecordset("select Matricula,Nome,sum (Saldo) from Saldo Where Data >= #" & Format(DataInicial, "mm/dd/yy") & "# and data<= #" & Format(DataFinal, "mm/dd/yy") & "# and Equipe='" & Equipe.Text & "' group by Matricula,Nome order by sum (Saldo)asc")
If Not TBSaldo.EOF Then
With MSFlexGrid1
.Rows = 1
.Cols = 4
.ColWidth(0) = 500
.ColWidth(1) = 800
.ColWidth(2) = 3000
.ColWidth(3) = 1200
.TextMatrix(0, 0) = "Lugar"
.TextMatrix(0, 1) = "Matricula"
.TextMatrix(0, 2) = "Nome"
.TextMatrix(0, 3) = "Valor"
End With
i = 1
Do While Not TBSaldo.EOF
With MSFlexGrid1
.Rows = i + 1
.ColAlignment(0) = flexAlignCenterCenter ' alinha coluna
.TextMatrix(i, 0) = i - 0 ' autonumeração colocar zero para poder começar com 1
.ColAlignment(1) = flexAlignCenterCenter
.TextMatrix(i, 1) = TBSaldo(0)
.ColAlignment(2) = flexAlignLeftCenter
.TextMatrix(i, 2) = TBSaldo(1)
.ColAlignment(3) = flexAlignCenterCenter
.TextMatrix(i, 3) = Format(TBSaldo(2), "Currency")
.Col = 3
.Row = i
.CellForeColor = vbRed
.CellFontBold = True
End With
i = i + 1
SomaColuna = SomaColuna + TBSaldo(2)
TBSaldo.MoveNext
Loop
' Textbox com o total da coluna
Saldo.Text = Format(SomaColuna, "currency")
End If
Set BancoDeDados = OpenDatabase(App.Path & "\bolao.MDB", False)
Set TBSaldo = BancoDeDados.OpenRecordset("select Matricula,Nome,sum (Saldo) from Saldo Where Data >= #" & Format(DataInicial, "mm/dd/yy") & "# and data<= #" & Format(DataFinal, "mm/dd/yy") & "# and Equipe='" & Equipe.Text & "' group by Matricula,Nome order by sum (Saldo)asc")
If Not TBSaldo.EOF Then
With MSFlexGrid1
.Rows = 1
.Cols = 4
.ColWidth(0) = 500
.ColWidth(1) = 800
.ColWidth(2) = 3000
.ColWidth(3) = 1200
.TextMatrix(0, 0) = "Lugar"
.TextMatrix(0, 1) = "Matricula"
.TextMatrix(0, 2) = "Nome"
.TextMatrix(0, 3) = "Valor"
End With
i = 1
Do While Not TBSaldo.EOF
With MSFlexGrid1
.Rows = i + 1
.ColAlignment(0) = flexAlignCenterCenter ' alinha coluna
.TextMatrix(i, 0) = i - 0 ' autonumeração colocar zero para poder começar com 1
.ColAlignment(1) = flexAlignCenterCenter
.TextMatrix(i, 1) = TBSaldo(0)
.ColAlignment(2) = flexAlignLeftCenter
.TextMatrix(i, 2) = TBSaldo(1)
.ColAlignment(3) = flexAlignCenterCenter
.TextMatrix(i, 3) = Format(TBSaldo(2), "Currency")
.Col = 3
.Row = i
.CellForeColor = vbRed
.CellFontBold = True
End With
i = i + 1
SomaColuna = SomaColuna + TBSaldo(2)
TBSaldo.MoveNext
Loop
' Textbox com o total da coluna
Saldo.Text = Format(SomaColuna, "currency")
End If
Pessoal vc são uns anjo não tem como eu dar a pontuação para todos?
Sei que não.
Tópico encerrado , respostas não são mais permitidas