OPINIAO DE VOCES! AJUDA SQL

AZORSCA 22/09/2012 08:54:55
#410231
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.
ROBSON220BASS 22/09/2012 11:54:59
#410238
Resposta escolhida
ja tentou retirar o [Ô]R$[Ô] com replace

voce pode substitui-lo

exemplo:

Replace(grdEquipamentos.TextMatrix(i, 3), [Ô]R$[Ô], [Ô][Ô])
AZORSCA 22/09/2012 14:56:03
#410245
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?
ROBSON220BASS 22/09/2012 16:44:52
#410247
voce pode fazer.

Replace(Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô])

tenta ai.. e me fala..
FEDERHEN 24/09/2012 08:20:54
#410314
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


AZORSCA 24/09/2012 10:03:53
#410321
O Replace(Replace(grdEquipamentos.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô]) funcionou corretamente. Obrigado.
Tópico encerrado , respostas não são mais permitidas