OPINIAO DE VOCES! AJUDA SQL
Queridos amigos do Fórum, bom dia!
Eu gostaria da opinião de vocês de como eu poderia proceder com um probleminha que preciso de opiniões de pessoas mais experientes com o Visual Basic.
é o tenho um formulário onde eu lanço notas de compras de equipamentos, os equipamentos eu lanço em um MSFlexGrid.
Entre estes campos possuo campos com valores monetários e é ai que mora o problema.
Quando lanço na grade lanço ele no seguinte formatação:
Valor Unitário: 0,95
Valor total: 10,00
Após isto salvo eles na base com um Replace retirando as vÃrgulas e substituindo-as por [Ô].[Ô] (ponto), para evitar erros com o MS SQL Server.
Até aqui tudo bem, sem problemas salva bonitinho, porém, quando eu busco visualizar esta nota ou até mesmo para realizar uma alteração eu jogo eles no Grid formatados com [Ô]R$[Ô], legal, só que no caso de uma alteração no momento de salvar acontece um erro SQL por conta de conversão Char. Isto por conta do [Ô]R$[Ô]
Gostaria da ajuda de vocês para encontrar uma possÃvel solução, se é necessário eu alterar o tipo do campo de minha base de dados, que atualmente é do tipo MONEY.
Obs. utilizo esta Query para fazer a inclusão e o update:
With grdEquipamentos
For i = 1 To .Rows - 1
oConCadC.Execute ([Ô] Insert Into ger106 (codprod, qtdeprod, valorvenda, valorunit, valortotal, bcicms, valicms, controlecompra, removido) Values ([ô][Ô] & grdEquipamentos.TextMatrix(i, 0) & [Ô][ô], [ô][Ô] & grdEquipamentos.TextMatrix(i, 6) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 2), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 7), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 4), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 5), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & txtNumControle.Text & [Ô][ô], [ô]0[ô])[Ô])
Next i
End With
Desde já agradeço obrigado.
Eu gostaria da opinião de vocês de como eu poderia proceder com um probleminha que preciso de opiniões de pessoas mais experientes com o Visual Basic.
é o tenho um formulário onde eu lanço notas de compras de equipamentos, os equipamentos eu lanço em um MSFlexGrid.
Entre estes campos possuo campos com valores monetários e é ai que mora o problema.
Quando lanço na grade lanço ele no seguinte formatação:
Valor Unitário: 0,95
Valor total: 10,00
Após isto salvo eles na base com um Replace retirando as vÃrgulas e substituindo-as por [Ô].[Ô] (ponto), para evitar erros com o MS SQL Server.
Até aqui tudo bem, sem problemas salva bonitinho, porém, quando eu busco visualizar esta nota ou até mesmo para realizar uma alteração eu jogo eles no Grid formatados com [Ô]R$[Ô], legal, só que no caso de uma alteração no momento de salvar acontece um erro SQL por conta de conversão Char. Isto por conta do [Ô]R$[Ô]
Gostaria da ajuda de vocês para encontrar uma possÃvel solução, se é necessário eu alterar o tipo do campo de minha base de dados, que atualmente é do tipo MONEY.
Obs. utilizo esta Query para fazer a inclusão e o update:
With grdEquipamentos
For i = 1 To .Rows - 1
oConCadC.Execute ([Ô] Insert Into ger106 (codprod, qtdeprod, valorvenda, valorunit, valortotal, bcicms, valicms, controlecompra, removido) Values ([ô][Ô] & grdEquipamentos.TextMatrix(i, 0) & [Ô][ô], [ô][Ô] & grdEquipamentos.TextMatrix(i, 6) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 2), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 7), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 4), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & Replace(grdEquipamentos.TextMatrix(i, 5), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô], [ô][Ô] & txtNumControle.Text & [Ô][ô], [ô]0[ô])[Ô])
Next i
End With
Desde já agradeço obrigado.
ja tentou retirar o [Ô]R$[Ô] com replace
voce pode substitui-lo
exemplo:
Replace(grdEquipamentos.TextMatrix(i, 3), [Ô]R$[Ô], [Ô][Ô])
voce pode substitui-lo
exemplo:
Replace(grdEquipamentos.TextMatrix(i, 3), [Ô]R$[Ô], [Ô][Ô])
Então seria uma boa. Mais eu tentei e nao consegui. Pois se você observar já existe um Replace para substituir a [Ô],[Ô] pelo [Ô].[Ô]
Eu não sei montar a syntaxe correta para usar dois replaces.
Você sabe?
Eu não sei montar a syntaxe correta para usar dois replaces.
Você sabe?
voce pode fazer.
Replace(Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô])
tenta ai.. e me fala..
Replace(Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô])
tenta ai.. e me fala..
Eu tenho alguns casos parecidos, de valores num MsFlexGrid e eu não uso o R$ na frente do valor.
Minha sugestão é você usar somente o formato [Ô]##0.00[Ô] assim você tem o conteudo do grid assim:
0,95
10,00
Minha sugestão é você usar somente o formato [Ô]##0.00[Ô] assim você tem o conteudo do grid assim:
0,95
10,00
O Replace(Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô]) funcionou corretamente. Obrigado.
Tópico encerrado , respostas não são mais permitidas