*conversion error from string

Bonjour,
j’utilise une base pour la gestion d’une association depuis plus d’2 ans sans problème.
je ne l’avais pas utilisé après la mise à jour de windows.

windows 11 24H2 installé le 20/10/24.
firebird 4.0
libreoffice 24.8.2.1
java 8.0 4310 10

Le champs de table est décrit en décimal 9.2
Le champs du formulaire est défini comme currency
le champs dans la macro est défini comme currency
la valeur saisie : 50,00.
j’ai essayé de changer les différentes définitions sans effet. Les différentes macro utilisant des champs
de type monnaie plantes toutes de la même manière. A part les mises à jour windows et java je ne vois pas de raison du changement de fonctionnement.

Message d’erreur
Erreur d’exécution BASIC.
Une exception s’est produite :
Type: com.sun.star.sdbc.SQLException
Message: firebird_sdbc error:
*conversion error from string “50,0000”
caused by
‘INSERT INTO “T_compta” (“credit”,“debit”,“ID_exer”,“dt_mvt”,“compte”,“num_piece”,“lib”,“cd_journal”) VALUES (‘0’,‘50,0000’, ‘2’, ‘2024-11-5’, ‘6021100’, ‘340’,’’,‘ACH’);’
.
Par avance merci
jacques fauveau

Decimal separator in SQL is ., not ,. So “debit” might be 50.0000

merci pour explication, mais je n’ai rien changé dans les macros ou tables seul un changement de parametre avec windows mais je ne vois pas ou
je continue à chercher pourquoi le point est devenu une virgule
si une idée je suis preneur

Post the code where value 50,0000 is defined in the macro.
You could split the string by , and join it by .
stDebit = join(split(stDebit,","),".")

Bsr, peut être en paramétrant ici:

@+

Merci pour cette aide
j’ai vérifié la touche séparateur de décimales, elle est cochée, mais j’ai essayé en décochant et en re-cochant toujours aucun changement ça plante toujours.
je ne trouve pas ce changement de paramêtre

Cette application de gestion d’une association il y a beaucoup de champs de type monétaire et toutes les macros plantent ci dessous un extrait d’une macro

Dim totvte as currency

totvte = oForm.getByName(“totvte”).CurrentValue

strSQL = “INSERT INTO ““T_vte_ent”” (”“dt_vte”","“mt_vte”","“typ_vte”","“ID_exer”","“reunion”") "
strSQL = strSQL & “VALUES (’” & year(v_dt) & “-” & month(v_dt) & “-” & day(v_dt) & “’,’” & tottvte & “’ , '” & typvte & “’,’” & Gidexercice & “’, "
strSQL = strSQL & " '” & reunion & “’)”
oStatement.executeUpdate( strSQL )

merci pour votre aide
le copier coller donne des résultats étranges avec une traduction, je cherche une autre méthode

strSQL = …. & tottvte &
N’y aurait-Il pas un ´t’ de trop ?

“Bonjour
j’ai supprimé les 2 dernières mise à jour de windows mais pas de changement.
J’ai passé le paramètre local à anglais, les champs de saisie prennent le point comme séparateur de décimale, l’application marche à nouveau.
Les affichages mettent le signe euro devant le nombre et les montants sont affichés avec des virgules comme séparateur de décimale.
je pense avec les mises à jour un paramètre n’ai pas mis à jour correctement reste à trouver ou
“windows”, “LO”, “oiseau de feu”
la traduction du français en français provoque des choses exotiques
par avance merci”