Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Différences Version F/E

3 réponses
Avatar
Yabadabadoo
Hello,

Je développe une application sur une version anglaisse de MSAccess 2003.
Dans celle-ci je construis à l'aide de VB des requêtes SQL contenant un
paramètre de type boolean:

SQLtext = "SELECT * FROM [some table]"
SQLtext = SQLtext & " WHERE ....."
SQLtext = SQLtext & " AND Imperative = " & rs!Imperative

L'application fonctionne parfaitement correctement.
Ce n'est que lorsque celli-ci est chargée sur un PC ayant une version
française de access ACCESS que la valeur de rs!Imperative devient "Faux" au
lieu de "False". Le système affiche alors le message d'erreur:
"Le moteur de la base de données Microsoft Jet ne reconnaît pas "Faux" en
tant que nom de champ ou expression correcte.

Existe-t-il un moyen global afin d'éviter que VB ne "traduise" False en
"Faux"?

Merci d'avance!

3 réponses

Avatar
jean-marc
"Yabadabadoo" wrote in message
news:
Hello,

Je développe une application sur une version anglaisse de MSAccess 2003.
Dans celle-ci je construis à l'aide de VB des requêtes SQL contenant un
paramètre de type boolean:

SQLtext = "SELECT * FROM [some table]"
SQLtext = SQLtext & " WHERE ....."
SQLtext = SQLtext & " AND Imperative = " & rs!Imperative

L'application fonctionne parfaitement correctement.
Ce n'est que lorsque celli-ci est chargée sur un PC ayant une version
française de access ACCESS que la valeur de rs!Imperative devient "Faux"
au
lieu de "False". Le système affiche alors le message d'erreur:
"Le moteur de la base de données Microsoft Jet ne reconnaît pas "Faux" en
tant que nom de champ ou expression correcte.

Existe-t-il un moyen global afin d'éviter que VB ne "traduise" False en
"Faux"?



Hello,

Non, mais il y a moyen d'écrire du SQL propre qui ne se base pas
sur une chaine de caractère pour tester la valeur d'un champ Booléen
et qui utilise les booléens pour ce qu'ils sont.

On écrit par exemple ceci:
SELECT *
FROM Table1
WHERE CBool(isWhatever)=True

La fonction CBool() convertit la valeur Booléenne du Champ indépendamment de
la représentation textuelle de la valeur de vérité.

Le code écrit précédemment fonctionne identiquement sur n'importe quelle
version d'Access, sur n'importe quelle plateforme et quelle que soit la
langue.

A adapter à ton exemple bien sur, mais l'idée est la.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
Yabadabadoo
Hello,

J'avais bien eu le réflexe d'essayer "WHERE whatever = " & val(variable)"
mais n'avais pas fait le lien avec le contexte string de la construction de
la requête.

Merci 1000x pour ton aide!

Cordialement



"jean-marc" wrote:

"Yabadabadoo" wrote in message
news:
> Hello,
>
> Je développe une application sur une version anglaisse de MSAccess 2003.
> Dans celle-ci je construis à l'aide de VB des requêtes SQL contenant un
> paramètre de type boolean:
>
> SQLtext = "SELECT * FROM [some table]"
> SQLtext = SQLtext & " WHERE ....."
> SQLtext = SQLtext & " AND Imperative = " & rs!Imperative
>
> L'application fonctionne parfaitement correctement.
> Ce n'est que lorsque celli-ci est chargée sur un PC ayant une version
> française de access ACCESS que la valeur de rs!Imperative devient "Faux"
> au
> lieu de "False". Le système affiche alors le message d'erreur:
> "Le moteur de la base de données Microsoft Jet ne reconnaît pas "Faux" en
> tant que nom de champ ou expression correcte.
>
> Existe-t-il un moyen global afin d'éviter que VB ne "traduise" False en
> "Faux"?

Hello,

Non, mais il y a moyen d'écrire du SQL propre qui ne se base pas
sur une chaine de caractère pour tester la valeur d'un champ Booléen
et qui utilise les booléens pour ce qu'ils sont.

On écrit par exemple ceci:
SELECT *
FROM Table1
WHERE CBool(isWhatever)=True

La fonction CBool() convertit la valeur Booléenne du Champ indépendamment de
la représentation textuelle de la valeur de vérité.

Le code écrit précédemment fonctionne identiquement sur n'importe quelle
version d'Access, sur n'importe quelle plateforme et quelle que soit la
langue.

A adapter à ton exemple bien sur, mais l'idée est la.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;






Avatar
jean-marc
"Yabadabadoo" wrote in message
news:
Hello,

J'avais bien eu le réflexe d'essayer "WHERE whatever = " & val(variable)"
mais n'avais pas fait le lien avec le contexte string de la construction
de
la requête.

Merci 1000x pour ton aide!

Cordialement



Merci à toi pour le retour !

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;