GRAVAR DECIMAIS NO MYSQL
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?
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?
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
Mesma coisa cara, o estranho é que quando eu vou no HeidSQL e insiro um valor com virgula, ele vai normal...
o erro é esse...
o erro é esse...
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)
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)
Citação::
Tenta essa função aquiFunction 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
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
mais ta ai
http://www.macoratti.net/d150102.htm
é 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.
Eeeeee Marcelão eem... mais uma vez.. muito obrigado.. até
Tópico encerrado , respostas não são mais permitidas