VBA ACCESS 2003 : NOT TRUE NE VAUT PLUS FALSE !!!

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 25 juil. 2004 à 23:02
 Martial - 3 mars 2015 à 16:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24861-vba-access-2003-not-true-ne-vaut-plus-false

C'est exactement la même chose.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 janv. 2008 à 09:42
NON, en C/C++ différent de 0 n'est pas considéré comme True ni comme rien du tout, c'est 0 OU NON 0 mais rien de plus.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
22 janv. 2008 à 08:27
Oui mais dans Access, le problème est que la variable était bien un booléen, alors que si tu fais un test avec un int, ce n'est pas la même chose.
NeerLess Messages postés 1 Date d'inscription dimanche 30 septembre 2007 Statut Membre Dernière intervention 22 janvier 2008
22 janv. 2008 à 01:02
Salut à tous !

Du point je code aussi en C/C++, je porte à ta connaissance que ce genre d'interprétation existe !!!

En effet, en C/C++, toute valeur différente de 0 (en binaire) est consdérée comme un True, ceci est du à un test des drapeaux de ALU au coeur du CPU (le drapeau Z [Zero] précisement). Le code source qui suit marche avec Dev-C++ :

#include<stdio.h>

int main()
{
clrscr();

int r=1;

if (r) printf("R est vrai. R=%d",r);
r=(!r); // l'exclamation est pour le Not
if (r) printf("R est vrai. R=%d",r);

getch();
}

J'éspère avoir été utile, et à la prochaine.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 juil. 2004 à 17:11
Le vba.net est en bonne phase d'avancement. Il y aura un peu de travail de migration mais au moins ça harmonisera avec le vb actuel qui est entierement devenu .net, en avant avec le framework.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
26 juil. 2004 à 16:57
C'est bien pour cela que j'ai lancé mon appel à témoin, pour avoir ce genre de retour (et éventuellement au cas où quelqu'un connaîtrait la raison exacte du bug) mais de là à abandonner Access, tout de même...
En fait, pour la migration, j'ai déjà migré 50% de mon application constituée de 2 mdb en VB .Net (encore du Microsoft), mais c'est vrai que je me pose la question pour le reste, car ce genre de bug me fait pas mal douter d'Access. Cela étant dit, Access est quand même un des meilleurs outils qui existe en pure conception de base de données. En attendant un hypothétique VBA .Net ...
Didchr81 Messages postés 10 Date d'inscription mercredi 1 mai 2002 Statut Membre Dernière intervention 23 juillet 2007
26 juil. 2004 à 13:28
Salut !

Comme les problèmes Access reviennent de plus en plus, et que moi même j'y suis confronté, je vous confirme que la compatibilité Access2000 et 2003 est quasiment pas fiable, que la réecriture du code est indispensable, et nécessaire sur des machines de type 2003.
Lorsque que l'on bidouille avec Access ce n'est pas trop grave, mais si c'est une application compléte qui en dépend, je ne saurais que vous conseillé de prévoir une migration vers un autre Langage.

A savoir que même Windev a des soucis de migration de ses applications d'un poste 2000 ne 2003.

?

Salutations.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
26 juil. 2004 à 11:49
J'ai la dernière version d'Access avec les derniers correctifs, et le problème se produit aussi avec Access XP sur le projet mdb 2000 modifié avec Access 2003.
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
26 juil. 2004 à 11:05
Il n'y a pas de rapports de bugs ou de correctifs sur le site de Microsoft ?

Peut-être est-ce juste un bug des 1ères version d'Access...
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
26 juil. 2004 à 08:40
C'est parce que vous n'avez pas ouvert de base Access avec du code dans des versions antérieures d'Access, une application Access 2000 par exemple. Moi non plus je ne comprend pas comment VBA peut en arriver à interpreter ca différemment, et pourtant c'est bien le cas. Il faudrait trouver le moyen de reproduire le bug à coup sûr, mais comment ? Ce qui est sûr, c'est que j'ai enlevé tous les Not dans mes codes sources Access 2000, car il ne marchait plus depuis debut Juillet, et ce même sur une machine restée en Access XP. C'est peut être le fait d'avoir modifié l'appli sous Access 2003.
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
26 juil. 2004 à 01:12
Tout va bien aussi de mon coté avec 2003, 2000 et 97 ...

Je ne comprend pas trop comment vba pourrait interpreter ca différement.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2004 à 23:02
J'ai mis ta Sub de test dans Access 2003.
Il me dit bien "Ok, Not True vaut bien False."
Y a un prob ?
Rejoignez-nous