[ACCESS] left ou Mid dans un état = #erreur
Résolu/Fermé
durahsel
Messages postés
66
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
2 mars 2010
-
5 déc. 2007 à 14:12
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 - 12 déc. 2007 à 17:03
durahsel Messages postés 66 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 2 mars 2010 - 12 déc. 2007 à 17:03
A voir également:
- [ACCESS] left ou Mid dans un état = #erreur
- Erreur 0x80070643 - Guide
- Aide etat reparation electromenager - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Province état yesstyle - Forum Consommation & Internet
- Ps4 verification de l'etat du stockage ✓ - Forum PS4
9 réponses
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
6 déc. 2007 à 17:12
6 déc. 2007 à 17:12
très probablement code_dech est vide ou NULL. Les fonctions n'aiment pas ça.
=Gauche(ISNULL([code_dech], " ");1)
=Mid(ISNULL([code_dech], " ");1;1)
=Gauche(ISNULL([code_dech], " ");1)
=Mid(ISNULL([code_dech], " ");1;1)
hervelot
Messages postés
535
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 mars 2008
123
6 déc. 2007 à 17:23
6 déc. 2007 à 17:23
Bonjour,
Essai les fonctions avec des virgules et pas des points virgules
Essai les fonctions avec des virgules et pas des points virgules
durahsel
Messages postés
66
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
2 mars 2010
11
12 déc. 2007 à 13:13
12 déc. 2007 à 13:13
désolé mais aucune de vos deux solutions ne fonctionne.
Dans les 2 cas (ISNULL et virgule à la place de "; ") j'obtiens une erreur de syntaxe .
pas d'autres idées ?
Dans les 2 cas (ISNULL et virgule à la place de "; ") j'obtiens une erreur de syntaxe .
pas d'autres idées ?
Bonjour
Ce sont bien des point virgule qu'il faut.
N'aurais-tu pas donné le même nom au champ de ton état qu'à celui de la table sur laquelle il est basé ? Si le code qui contient =Gauche([code_dech];1) s'appelle code_dech, il y a une référence circulaire
Pour faire ce que phil232 voulait faire, isnull ne suffit pas, il aurait fallu :
=Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1)
=Mid(IIF(ISNULL([code_dech]); " ";[code_dech]);1;1)
Ce sont bien des point virgule qu'il faut.
N'aurais-tu pas donné le même nom au champ de ton état qu'à celui de la table sur laquelle il est basé ? Si le code qui contient =Gauche([code_dech];1) s'appelle code_dech, il y a une référence circulaire
Pour faire ce que phil232 voulait faire, isnull ne suffit pas, il aurait fallu :
=Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1)
=Mid(IIF(ISNULL([code_dech]); " ";[code_dech]);1;1)
durahsel
Messages postés
66
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
2 mars 2010
11
12 déc. 2007 à 13:55
12 déc. 2007 à 13:55
Bonjour,
non, ma table ne s'appelle pas comme mon champ (et inversement ...).
J'ai reesayé avec =Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1) mais toujours "#erreur"
Je précise que le nom de ma zone de texte c'est "code_dech" = celui de mon champ.
J'ai rentré la fonction =Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1) dans source contrôle.
?
non, ma table ne s'appelle pas comme mon champ (et inversement ...).
J'ai reesayé avec =Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1) mais toujours "#erreur"
Je précise que le nom de ma zone de texte c'est "code_dech" = celui de mon champ.
J'ai rentré la fonction =Gauche(IIF(ISNULL([code_dech]); " ";[code_dech]);1) dans source contrôle.
?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
12 déc. 2007 à 13:50
12 déc. 2007 à 13:50
et puis : il faut des virgules dans VBA, par contre dans Access (cad les requêtes et les champs calculés) il faut bien les point-virgules
essaie donc de remplacer le nom du champ par une chaine.si il ya toujours erreur c'est que ça vient de la formule , et dans ce cas ça ne peut etre que la virgule ou le point virgule selon que le nom de la fonction est en englais ou en français et selon que tu es en access ou en VBA
donc pour ce faire il faut combiner les noms de fonctions et les virgules et points- virgule
donc pour ce faire il faut combiner les noms de fonctions et les virgules et points- virgule
ma table ne s'appelle pas comme mon champ (et inversement ...).
je n'ai pas voulu parler de ça mais du champ de ton état qui s'appelerait code_dech.
Dans ton esprit ce code_dech serait une colonne d'une table, mais pour access, il s'agirait du champ lui-même d'où la référence circulaire.
Je suggère ça parce que c'est ce qui m'est arrivé quand j'ai voulu reproduire ton problème.
Il m'a suffi de changer le nom du champ dans l'état (et de retaper la formule) pour que tout rentre dans l'ordre
je n'ai pas voulu parler de ça mais du champ de ton état qui s'appelerait code_dech.
Dans ton esprit ce code_dech serait une colonne d'une table, mais pour access, il s'agirait du champ lui-même d'où la référence circulaire.
Je suggère ça parce que c'est ce qui m'est arrivé quand j'ai voulu reproduire ton problème.
Il m'a suffi de changer le nom du champ dans l'état (et de retaper la formule) pour que tout rentre dans l'ordre
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
12 déc. 2007 à 14:45
12 déc. 2007 à 14:45
de tout façon un programmeur digne l'appellerait au moins "txtCode_Dech" ou encore mieux le nom en anglais. après 20 ans mon expérience est que dans IT seul l'anglais marche correctement, que ce soit la version d'un programme, le langage de programmation et la dénomination de quoi que ce soit.
Foreign languages SUCK!
Foreign languages SUCK!
hervelot
Messages postés
535
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 mars 2008
123
12 déc. 2007 à 14:58
12 déc. 2007 à 14:58
te serais-t-il possible d'envoyer l'etat et la table liée afin d'analyser ton pb car je n'arrive pas à recréer ton erreur
ce que je peux te dire. Les valeurs nulles ne génèrent as à cette erreur, ce n'est pas une erreur de syntaxe
ce que je peux te dire. Les valeurs nulles ne génèrent as à cette erreur, ce n'est pas une erreur de syntaxe
durahsel
Messages postés
66
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
2 mars 2010
11
12 déc. 2007 à 17:03
12 déc. 2007 à 17:03
merci à tous vous avez un peu tous fianelment résolu mon problème.
J'ai en effet perdu mes bon réflexes que j'avais appris pendant mes quelques cours de prog (je ne suis pas informaticien de formation mais bon ...) où il fallait toujours mettre un petit tri-sigle différent avant le nom. J'ai donc mis un "txt" devant mon nom d'étiquette et ça roule !
Il y avait redondance entre mon nom de champ, et mon nom d'étiquette txt. ce n'etait pas dutout une histoire de virgule ...
Merci à tous
J'ai en effet perdu mes bon réflexes que j'avais appris pendant mes quelques cours de prog (je ne suis pas informaticien de formation mais bon ...) où il fallait toujours mettre un petit tri-sigle différent avant le nom. J'ai donc mis un "txt" devant mon nom d'étiquette et ça roule !
Il y avait redondance entre mon nom de champ, et mon nom d'étiquette txt. ce n'etait pas dutout une histoire de virgule ...
Merci à tous