OVH Cloud OVH Cloud

Format monétaire bizarre

4 réponses
Avatar
jfd
Bonjour
Access 2003 Windows xp
J’ouvre ma base et change le format de tous les champs prix euros, sur
monétaire, dans mes tables et dans la base frontale
Windows réglé sur $ je change à nouveau les paramètres pour monétaire,
maintenant mes champs reste sur $ même si je change les paramètres régionaux
Le nouveau format de tous mes champs est maintenant #,##0.00$;-#,##0.00 $

Comment résoudre le problème je voudrais que les champs changent avec la
config XP région ?

Y-a-t-il un moyen dans un formulaire, suite à code de reparametrer et de
pouvoir changer mes formats monétaire et d’imposer le format monétaire d’un
pays x ou y sur tous les forms et états ?
J’ai crée ma base sur 6 langues que se soit forms ,états, ou commandes, et
je bloque sur ce format monétaire .
Merci pour vos conseils.

4 réponses

Avatar
Gilbert
Bonjour,

Utilise une de ces fonctions pour récupérer l'info dans les paramètres
régionaux de la machine utilisée

Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA"
(ByVal LOCALE As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal
cchData As Long) As Long
Private Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Private Const LOCALE_SCURRENCY = &H14 'Symbole monétaire local. Ex :
?
Private Const LOCALE_SINTLSYMBOL = &H15 'Symbole monétaire intl
(international???). Ex : FRF

Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, lpLCDataVar, 0)

Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function
Public Function SymboleMonetaireLettre() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireLettre = Symbol
End If
End Function


Gilbert


"jfd" a écrit dans le message de
news:
Bonjour
Access 2003 Windows xp
J'ouvre ma base et change le format de tous les champs prix euros, sur
monétaire, dans mes tables et dans la base frontale
Windows réglé sur $ je change à nouveau les paramètres pour monétaire,
maintenant mes champs reste sur $ même si je change les paramètres
régionaux

Le nouveau format de tous mes champs est maintenant #,##0.00$;-#,##0.00
$


Comment résoudre le problème je voudrais que les champs changent avec la
config XP région ?

Y-a-t-il un moyen dans un formulaire, suite à code de reparametrer et de
pouvoir changer mes formats monétaire et d'imposer le format monétaire d'
un

pays x ou y sur tous les forms et états ?
J'ai crée ma base sur 6 langues que se soit forms ,états, ou commandes, et
je bloque sur ce format monétaire .
Merci pour vos conseils.



Avatar
jfd
Merci Gilbert
Honnêtement je crois que je comprends mieux le japonais que les codes, je
pense être pas trop mauvais en copier, collé, adapté mais la je n’y arrive
pas trop…
Est-ce que vous pensez qu’il est possible de renseigner le format monétaire
de toute une base avec un code sur un endroit precis de la base ( etiquette)?
Merci à vous



Bonjour,

Utilise une de ces fonctions pour récupérer l'info dans les paramètres
régionaux de la machine utilisée

Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA"
(ByVal LOCALE As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal
cchData As Long) As Long
Private Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Private Const LOCALE_SCURRENCY = &H14 'Symbole monétaire local. Ex :
?
Private Const LOCALE_SINTLSYMBOL = &H15 'Symbole monétaire intl
(international???). Ex : FRF

Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, lpLCDataVar, 0)

Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function
Public Function SymboleMonetaireLettre() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireLettre = Symbol
End If
End Function


Gilbert


"jfd" a écrit dans le message de
news:
Bonjour
Access 2003 Windows xp
J'ouvre ma base et change le format de tous les champs prix euros, sur
monétaire, dans mes tables et dans la base frontale
Windows réglé sur $ je change à nouveau les paramètres pour monétaire,
maintenant mes champs reste sur $ même si je change les paramètres
régionaux

Le nouveau format de tous mes champs est maintenant #,##0.00$;-#,##0.00
$


Comment résoudre le problème je voudrais que les champs changent avec la
config XP région ?

Y-a-t-il un moyen dans un formulaire, suite à code de reparametrer et de
pouvoir changer mes formats monétaire et d'imposer le format monétaire d'
un

pays x ou y sur tous les forms et états ?
J'ai crée ma base sur 6 langues que se soit forms ,états, ou commandes, et
je bloque sur ce format monétaire .
Merci pour vos conseils.








Avatar
Gilbert
Tu crée une variable gobale dans un module standard.
Appelle-la MonSymboleMonetaire par exemple.
A l'ouverture de ta base, tu initialise cette variable avec la ligne
suivante
MonSymboleMonetaire = SymboleMonetaireRegional

Ca récupère le symbole monétaire utilisé sur la machine de l'utilisateur où
qu'il soit et quelle que soit sa monnaie.

Ensuite dans ta base de données tu utilise MonSymboleMonetaire partout où tu
en as besoin à la place de ? ou $

Gilbert



"jfd" a écrit dans le message de
news:
Merci Gilbert
Honnêtement je crois que je comprends mieux le japonais que les codes, je
pense être pas trop mauvais en copier, collé, adapté mais la je n'y
arrive

pas trop.
Est-ce que vous pensez qu'il est possible de renseigner le format
monétaire

de toute une base avec un code sur un endroit precis de la base (
etiquette)?

Merci à vous



Bonjour,

Utilise une de ces fonctions pour récupérer l'info dans les paramètres
régionaux de la machine utilisée

Private Declare Function GetLocaleInfo Lib "kernel32" Alias
"GetLocaleInfoA"


(ByVal LOCALE As Long, ByVal LCType As Long, ByVal lpLCData As String,
ByVal


cchData As Long) As Long
Private Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Private Const LOCALE_SCURRENCY = &H14 'Symbole monétaire local.
Ex :


?
Private Const LOCALE_SINTLSYMBOL = &H15 'Symbole monétaire intl
(international???). Ex : FRF

Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, lpLCDataVar, 0)

Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function
Public Function SymboleMonetaireLettre() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireLettre = Symbol
End If
End Function


Gilbert


"jfd" a écrit dans le message de
news:
Bonjour
Access 2003 Windows xp
J'ouvre ma base et change le format de tous les champs prix euros,
sur



monétaire, dans mes tables et dans la base frontale
Windows réglé sur $ je change à nouveau les paramètres pour
monétaire,



maintenant mes champs reste sur $ même si je change les paramètres
régionaux

Le nouveau format de tous mes champs est maintenant
#,##0.00$;-#,##0.00



$

Comment résoudre le problème je voudrais que les champs changent avec
la



config XP région ?

Y-a-t-il un moyen dans un formulaire, suite à code de reparametrer et
de



pouvoir changer mes formats monétaire et d'imposer le format monétaire
d'



un
pays x ou y sur tous les forms et états ?
J'ai crée ma base sur 6 langues que se soit forms ,états, ou
commandes, et



je bloque sur ce format monétaire .
Merci pour vos conseils.










Avatar
jfd
Je comprends mieux, merci pour l'explication, je vais essayer.
Et, désolé pour la rédaction de mon précédent message.
Bonne fin de soirée.



Tu crée une variable gobale dans un module standard.
Appelle-la MonSymboleMonetaire par exemple.
A l'ouverture de ta base, tu initialise cette variable avec la ligne
suivante
MonSymboleMonetaire = SymboleMonetaireRegional

Ca récupère le symbole monétaire utilisé sur la machine de l'utilisateur où
qu'il soit et quelle que soit sa monnaie.

Ensuite dans ta base de données tu utilise MonSymboleMonetaire partout où tu
en as besoin à la place de ? ou $

Gilbert



"jfd" a écrit dans le message de
news:
Merci Gilbert
Honnêtement je crois que je comprends mieux le japonais que les codes, je
pense être pas trop mauvais en copier, collé, adapté mais la je n'y
arrive

pas trop.
Est-ce que vous pensez qu'il est possible de renseigner le format
monétaire

de toute une base avec un code sur un endroit precis de la base (
etiquette)?

Merci à vous



Bonjour,

Utilise une de ces fonctions pour récupérer l'info dans les paramètres
régionaux de la machine utilisée

Private Declare Function GetLocaleInfo Lib "kernel32" Alias
"GetLocaleInfoA"


(ByVal LOCALE As Long, ByVal LCType As Long, ByVal lpLCData As String,
ByVal


cchData As Long) As Long
Private Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Private Const LOCALE_SCURRENCY = &H14 'Symbole monétaire local.
Ex :


?
Private Const LOCALE_SINTLSYMBOL = &H15 'Symbole monétaire intl
(international???). Ex : FRF

Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, lpLCDataVar, 0)

Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function
Public Function SymboleMonetaireLettre() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SINTLSYMBOL, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireLettre = Symbol
End If
End Function


Gilbert


"jfd" a écrit dans le message de
news:
Bonjour
Access 2003 Windows xp
J'ouvre ma base et change le format de tous les champs prix euros,
sur



monétaire, dans mes tables et dans la base frontale
Windows réglé sur $ je change à nouveau les paramètres pour
monétaire,



maintenant mes champs reste sur $ même si je change les paramètres
régionaux

Le nouveau format de tous mes champs est maintenant
#,##0.00$;-#,##0.00



$

Comment résoudre le problème je voudrais que les champs changent avec
la



config XP région ?

Y-a-t-il un moyen dans un formulaire, suite à code de reparametrer et
de



pouvoir changer mes formats monétaire et d'imposer le format monétaire
d'



un
pays x ou y sur tous les forms et états ?
J'ai crée ma base sur 6 langues que se soit forms ,états, ou
commandes, et



je bloque sur ce format monétaire .
Merci pour vos conseils.