Access 97 | Compatible |
Access 2003 | Compatible |
Nombre de caractères
– La chaîne Humanité Dimanche Len ([mon contrôle])
renvoie le nombre 17
– 17 est le nombre d’octets (appelé aussi "caractères" ou "signes"). Attention : les espaces comptent !
Limiter le nombre de caractères d’un champ mémo :
Il faut renseigner les propriétés "Valide Si" et "Message Erreur" pour le champ concerné dans la table :
– Valide Si : Len([MonChamp])<=500
– Message Erreur : "Trop long, vous êtes limités à 500 caractères"
minuscule
– La chaîne Prénom LCase ([mon contrôle])
est transformée en prénom
– Le symbole < dans la propriété Format d’un contrôle
ou =Format([Prenom];"<")
comme formule permet de visualiser la chaine de caractère en minuscule.
ou StrConv([MonChamp]; 2)
Exemple : Prénom = prénom
MAJUSCULE
– La chaîne Prénom UCase ([mon contrôle])
est transformée en PRÉNOM
– Le symbole > dans la propriété Format d’un contrôle
ou =Format([Prenom];">")
comme formule permet de visualiser la chaine de caractère en minuscule.
ou StrConv([MonChamp]; 1)
Exemple : Prénom = PRÉNOM
Met la première lettre en majuscule [1]
[mon contrôle] = ucase(left([mon contrôle],1)) & mid([mon contrôle],2)
ou StrConv([MonChamp]; 3)
Exemple : prénom = Prénom
Mois
Mettre en toute lettre le mois à partir d’uniquement le N° de mois :
– à partir d’une fonction :
A l’appel, il suffit d’écrire : =fmonthname MinDom("LeMois";"T_Date")
– à partir d’un contrôle :
A l’appel, il suffit de faire : =fmonthname MinDom("LeMois";"T_Date")
Exemple "Le Mois" en Access 97 en téléchargement ici.
Extractions
– Exemple 1 :
15468927 devient 4689
Communistes devient mmun
ou dans vba
3 c’est le caractère de départ pour l’extraction de chaîne
4 c’est la longueur à extraire
– Exemple 2 :
15468927 devient 154
Communistes devient Com
ou dans vba
3 c’est la longueur à extraire
– Exemple 3 :
15468927 devient 927
Communistes devient tes
ou dans vba
3 c’est la longueur à extraire
Récupération de valeurs dans un contrôle avec séparateur non défini
Renvoie une valeur de type Variant (Long) indiquant la position de la première occurrence d’une chaîne à l’intérieur d’une autre chaîne.
=InStr(start ;string1 ;string2 ; compare)
Start : Correspond au nbre de signe à partir on fait la recherche (Numérique)
String1 : est le nom du champ dans laquelle la recherche est faite
String2 : est l’occurrence recherchée (dans l’exemple : " - ")
Compare : facultatif. Indique le type de comparaison de chaînes.
L’argument compare peut être omis ou prendre la valeur 0, 1 ou 2. Indiquez la valeur 0 (valeur par défaut) pour effectuer une comparaison binaire. Indiquez la valeur 1 pour effectuer une comparaison de texte, sans différenciation des majuscules et des minuscules. Dans Microsoft Access, indiquez la valeur 2 pour effectuer une comparaison basée sur les informations contenues dans votre base de données. Si l’argument compare est de type Null, une erreur se produit. Si l’argument compare est omis, la valeur de l’instruction Option Compare détermine le type de comparaison.
Exemple :
01 - Frank Zappa - Baby snake.mp3
Val3 : Baby snake.mp3
Val3 : ExtracChaîne([NomMorceau] ;DansChaîne(DansChaîne([NomMorceau] ;" - ")+3 ;[NomMorceau] ;" - ")+3)
Start : Nbre de signes avant le 1er séparateur (" - ") + 3 qui est le nbre de signes du séparateur pour pouvoir dépasser le premier séparateur
String1 : Nombre de signe jusqu’à la première occurrence (" - ") + 3 qui est le nbre de signes du séparateur
Exemple :
Champ possédant la chaîne de caractère : 01 - Frank Zappa - Baby snake.mp3 ou 01 - Baby snake.mp3
Quelque soit le séparateur (sauf le point réservé à l’extension), le résultat sera :
– Numéro : 01
– Auteur : FrankZappa
– Titre : Baby snake
– Extension : mp3
Le code est très "barbare", mais présente l’avantage de bien fonctionner...
Fichier "Extraction" à télécharger ici pour le code et les explications.
Voir aussi dans l’aide Access :
=InStrB(start ;string1;string2; compare)
La fonction InStrB est utilisée pour traiter sous forme d’octets les données d’une chaîne. Au lieu de renvoyer la position de caractère de la première occurrence d’une chaîne dans une autre, la fonction InStrB renvoie la position de l’octet.
Récupération de valeurs dans un contrôle avec séparateur défini
Imaginez faire un copier/coller du net dans un contrôle de votre base Access2003 avec des noms d’acteurs jouant dans un film et ayant comme séparateur une virgule et un espace...
Exemple :
Dans le film "American History X" les Acteurs sont : Edward Norton, Edward Furlong, Fairuza Balk, Beverly D’Angelo, Avery Brooks, Stacy
Et vous voulez entrer chaque acteur dans un enregistrement spécifique à chacun suivant le film...
Créer :
– Une table "T_Cine" avec comme champs :
NumFilm (NumAuto)
Acteurs (Mémo)
– Une table "T_Acteurs" avec comme champs :
NomActeurs (Texte)
– Une table "T_ActeurFilm" avec comme champs :
NomActeur (Texte)
NumFilm (Numérique)
– Un formulaire "F-Cine" basé sur "T_Cine" avec comme contrôles :
Acteurs
NumFilm
ListeActeurs (Zone de liste) :
BtnTrier (Bouton) avec en code évènement sur Click :
Le tour est joué grâce à ce groupe de News d’access et pas mal de participants et la précieuse collaboration de Raymond pour le final...
A faire partager...