GRAVAR DECIMAIS NO MYSQL

ADILSOO 27/04/2012 17:52:42
#400936
Boa tarde gente, eis eu aqui de novo.., bom a dúvida agora é simples, bom, se fosse simples eu já teria resolvido, hehe, então vamos lá...

bom, procurei e vi que no MySQL não se grava [Ô],[Ô] e sim [Ô].[Ô] eu até fiz o procedimento que da um replace no valor pra trocar a [Ô],[Ô] por [Ô].[Ô] mas sem sucesso, no HIDEsql eu já coloquei o campo [Ô]Datatype[Ô] como decimal e o campo [Ô]Length/Set[Ô] como [Ô]5,2[Ô] que no caso é 5 casas antes da virgula e 2 depois, o campos [Ô]Default[Ô] eu deixei como [Ô]Custom[Ô] e coloquei o valor [Ô]0.00[Ô], será que precisa de mais alguma coisa?
FILMAN 27/04/2012 21:40:36
#400947
Tenta essa função aqui

Function Converte(Valor As Variant) As Variant
Dim NovoValor As String
NovoValor = Valor
If InStr(NovoValor, [Ô],[Ô]) <> 0 Then
Mid(NovoValor, InStr(NovoValor, [Ô],[Ô]), 1) = [Ô].[Ô]
Converte = NovoValor
End If
End Function
ADILSOO 27/04/2012 22:08:43
#400948
Mesma coisa cara, o estranho é que quando eu vou no HeidSQL e insiro um valor com virgula, ele vai normal...
o erro é esse...
NILSONTRES 27/04/2012 23:43:30
#400950
Double 9,2 o ideal
essa função eu criei e foi mamão com açucar, formata moeda,cnpj, cep e outros
Public Function Format_Valor(ByVal VVALOR As String, ByVal VTIPO As Integer) As String
Format_Valor = [Ô][Ô]
Try
Select Case VTIPO
Case 1 [ô]MOEDA
Format_Valor = Replace(VVALOR, [Ô].[Ô], [Ô][Ô])
Format_Valor = Replace(Format_Valor, [Ô],[Ô], [Ô].[Ô])
Case 2 [ô]CNPJ
Format_Valor = Replace(VVALOR, [Ô].[Ô], [Ô][Ô])
Format_Valor = Replace(Format_Valor, [Ô]/[Ô], [Ô][Ô])
Format_Valor = Replace(Format_Valor, [Ô]-[Ô], [Ô][Ô])
Case 3 [ô]CEP
Format_Valor = Replace(VVALOR, [Ô]-[Ô], [Ô][Ô])
Case 4 [ô]FONE
Format_Valor = Replace(VVALOR, [Ô]([Ô], [Ô][Ô])
Format_Valor = Replace(VVALOR, [Ô])[Ô], [Ô][Ô])
Format_Valor = Replace(Format_Valor, [Ô]-[Ô], [Ô][Ô])
End Select
Catch
MsgBox(Err.Description, MsgBoxStyle.Critical, [Ô]AVISO[Ô])
End Try

End Function

depois chama assim :
Format_Valor(txtvalor.Text, 1)
MARCELO.TREZE 28/04/2012 00:41:00
#400953
Resposta escolhida
Citação:

:
Tenta essa função aqui

Function Converte(Valor As Variant) As Variant
Dim NovoValor As String
NovoValor = Valor
If InStr(NovoValor, [Ô],[Ô]) <> 0 Then
Mid(NovoValor, InStr(NovoValor, [Ô],[Ô]), 1) = [Ô].[Ô]
Converte = NovoValor
End If
End Function



me desculpe não é critica mas você reinventou o replace?

bom adilsoo era pra funcionar assim

sSQL = [Ô]insert into tabela (id, campodecimal) values ([ô]1[ô],[ô]123.22[ô])[Ô]


pra converter use replace

sSQL = [Ô]insert into tabela (id, campodecimal) values ([ô][Ô] & txtID & [Ô][ô],[ô][Ô] & Replace(txtValor.Text,[Ô],[Ô],[Ô].[Ô]) & [Ô][ô])[Ô]


só isso deveria funcionar

FILMAN 28/04/2012 08:31:33
#400958
Fala MARCELO não tem que pedir desculpas não é que eu esqueci de informar a referencia de onde consegui
mais ta ai


http://www.macoratti.net/d150102.htm
MARCELO.TREZE 28/04/2012 09:34:42
#400960
é lembro que no vb5 eu tinha de proceder desta forma não só no replace mais também como em várias funções como split, que também não existia.
ADILSOO 28/04/2012 12:15:37
#400968
Eeeeee Marcelão eem... mais uma vez.. muito obrigado.. até
Tópico encerrado , respostas não são mais permitidas