1 pièce(s) jointe(s)
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Dans un formulaire destiné à enregistrer des comptes généraux (F_CptesGen) dans la table T_CptesGen, je souhaite attribuer la nature du compte (Nature_CpteGen) en fonction de son numéro. Pour cela j'extrais les 2 ou 3 premiers caractères du N° de compte pour les comparer à des nombres de façon à mentionner dans la nature du compte s'il s'agit d'un compte d'actif, de passif, de charge ou de produit.
J'ai rédigé le code ci-joint, mais quel que soit le N° de compte encodé, il mentionne toujours qu'il s'agit d'un compte de passif. Hier, cela fonctionnait, je pense avoir modifié quelque chose, mais je ne trouve pas quoi. Cependant, sur base du Message que j'ai placé, l'extraction du nombre est correcte.
Quelqu'un aurait-il une idée de ce qui n'est pas correct dans mon code ?
Merci d'avance à tous.:D
J'ai modifié la condition, pensant avoir oublié 1 ligne, mais cela ne change rien au problème. (Voir pièce jointe)
Merci.:D
Comparaison d'un nombre extrait d'une zone texte avec des nombres
OK. Je vais regarder cela.
Merci pour le conseil.
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Merci à tous pour ces propositions. Je vais voir ce que je peux faire.
Bonne journée à tous.:D
Comparaison d'un nombre extrait d'une zone texte avec des nombres
A revoir la proposition de Pierre FAUCONNIER, je constate, si je comprends bien, que la valeur est extraite de la chaine texte sur 3 caractères mais que, par contre, la table ne reprend les limites que sur la valeur des 2 premiers caractères à partir de la gauche. Or, si dans la plupart des cas, le test a lieu sur la valeur des 2 premiers caractères, pour les comptes de la classe 49, il y a lieu de tester la valeur sur 3 caractères (de 490 à 492 = ACTIF et de 493 à 499 = PASSIF).
J'avoue que cela me trouble.
Merci pour vos éclaircissements à venir.:D
Comparaison d'un nombre extrait d'une zone texte avec des nombres
OK. Merci beaucoup pour cette précision car je n'avais pas compris le fonctionnement.
Bonne journée.:D
1 pièce(s) jointe(s)
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Je reviens après avoir essayé la fonction proposée par Pierre FAUCONNIER.
J'ai créé la table T_TypeCompte dans laquelle le champ Typecompte est NuméroAuto, les champs Début et Fin sont numériques (entiers) et le champ Valeur est de type texte court.
Le code est le suivant:
Code:
1 2 3 4 5 6 7 8
| Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Value As String
Value = Nz(DLookup("Valeur", "T_TypeCompte", "'" & Left(Num_CpteGen.Value, 3) & "' >= debut and '" & Left(Num_CpteGen.Value, 3) & "' <= fin"), "")
If Value = "" Then Value = Nz(DLookup("Valeur", "T_TypeCompte", "'" & Left(Num_CpteGen.Value, 3) & "' >= debut and '" & Left(Num_CpteGen.Value, 3) & "' <= fin"), "")
Nature_CpteGen.Value = Value
End Sub |
Je joins une vue de la table T_TypeCompte car je ne sais pas comment inclure l'image de cette table dans cette réponse.
Merci encore pour votre aide.:D
J'obtiens un message d'erreur 3464 "Type de données incompatible dans l'expression du critère"
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Effectivement, je ne mets en numérique que ce qui est susceptible de faire partie d'opérations arithmétiques, mais j'avoue que j'avais perdu de vue ce aspect dans le cas présent.
Merci pour votre réponse. Je pense que cela devrait fonctionner.
Bonne journée et excellent long week-end.
2 pièce(s) jointe(s)
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Je ne parviens pas à transposer votre proposition dans ma BDD. Peut-être me suis-je mal exprimer. Je souhaiterais compléter le formulaire d'ajout des comptes généraux par la nature du compte (ACTIF, PASSIF, etc...) lorsque introduit le N° du compte dans ce formulaire.
J'ai établi une table T_Type compte déjà transmise en PDF antérieurement, je joins ici le PDF de formulaire F_CptesGen et de la table qui y est liée afin de vous permettre une bonne compréhension de mon problème.
Je suis désolé de ne pas comprendre ce DLookUp qui permet des comparaisons avec des éléments d'une autre table, mais je n'y arrive pas.Je vous remercie pour votre compréhension.:D
Comparaison d'un nombre extrait d'une zone texte avec des nombres
Merci beaucoup pour les explications. Je vais étudier cela et essayer de comprendre ce qui se passe.
Bonne fin de journée.:D
1 pièce(s) jointe(s)
Comparaison d'un nombre extrait d'une zone texte avec des nombres
En annexe, le print screen des 2 tables en mode création.
Merci encore.
Bonne journée.:D