[ACCESS] left ou Mid dans un état = #erreur
Résolu
durahsel
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
durahsel Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
durahsel Messages postés 66 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai cherche à pouvoir coller des caractères d'un champ dans un état et pour cela je souhaite extraire les caractères un par un.
J'ai essayé les fonctions Mid et left :
ex dans mon formulaire :
=Gauche([code_dech];1)
mais sur mon état lors de l'aperçu j'ai un "#Erreur", pareil pour la fonction Mid
=Mid([code_dech];1;1)
Pq une telle erreur ?
Merci
Durahsel
J'ai cherche à pouvoir coller des caractères d'un champ dans un état et pour cela je souhaite extraire les caractères un par un.
J'ai essayé les fonctions Mid et left :
ex dans mon formulaire :
=Gauche([code_dech];1)
mais sur mon état lors de l'aperçu j'ai un "#Erreur", pareil pour la fonction Mid
=Mid([code_dech];1;1)
Pq une telle erreur ?
Merci
Durahsel
A voir également:
- [ACCESS] left ou Mid dans un état = #erreur
- Remettre pc etat usine - Guide
- Etat disque dur - Télécharger - Informations & Diagnostic
- Etat batterie pc portable - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
9 réponses
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)
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)
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
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
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!
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
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