APPLICATIONS Access | |
Exemples divers 01 |
Accueil site >
Accueil applications informatique
> Accueil Access |
N'hésitez pas à m'écrire pour compléter ou modifier ou me dire bonjour...
Exemples divers | ||||||||||||||||||||||||||||||||||||||
Focus | Focus
dans le même formulaire MonContrôle.SetFocus |
|||||||||||||||||||||||||||||||||||||
Focus vers un contrôle de sous
formulaire
Dans un formulaire
j'ai une zone de liste et un sous formulaire avec un contrôle possédant la
valeur 0 par défaut. Sur l'évènement Click ou AfterUpdate de ta liste déroulante (plutot !)
Me.NomDeTonSousFormulaire.SetFocus Celui-ci verra son contenu sélectionné. |
||||||||||||||||||||||||||||||||||||||
Automatiser l'envoi du FOCUS
puis de la touche ENTER sur un
contrôle. Mettre
ce code sur un évènement : |
||||||||||||||||||||||||||||||||||||||
Convertir
DoCmd.DoMenuItem
en RunCommand
(Access 7 Menu System) Trouvé sur le site de Terry Wickenden |
Exemple du bouton supprimer généré automatiquement : DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 devient : RunCommand acCmdSelectRecord |
|||||||||||||||||||||||||||||||||||||
Un évènement sur un
sous-formulaire à partir du formulaire principal Il faut d'abord placer le focus sur le contrôle sous-formulaire et ensuite se déplacer sur le premier enregistrement du sous-formulaire et ensuite se déplacer éventuellement vers un contrôle. |
Forms!Formulaireprincipal!sous_formulaire.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToControl "madate" |
|||||||||||||||||||||||||||||||||||||
Écrire automatiquement l'adresse
mail SNCF. (Le lien hypertexte n'existe pas) |
AdresseEMail = LCase((Prenom) & "."
& LCase(LeNom) & "@pn.sncf.fr")
Dans un module : |
patrice.morel@pn.sncf.fr | ||||||||||||||||||||||||||||||||||||
Extraire une chaîne de
caractères Voir d'autres fonctions sur le site à Raymond |
= Mid([TonChamp];
3; 4) ou dans vba 3 c'est le
caractère de départ pour l'extraction de chaîne |
15468927 devient
4689 Communistes devient mmun |
||||||||||||||||||||||||||||||||||||
= Gauche([Ton Champ
à transformer];
3) ou dans vba 3 c'est la longueur à extraire |
15468927 devient
154 Communistes devient Com |
|||||||||||||||||||||||||||||||||||||
= Droite([Ton Champ
à transformer];
3) ou dans vba 3 c'est la longueur à extraire |
15468927 devient
927 Communistes devient tes |
|||||||||||||||||||||||||||||||||||||
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) 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 Voir aussi dans l'aide
Access : 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. |
Voir exemple détaillé | |||||||||||||||||||||||||||||||||||||
Ouvrir une liste déroulante
automatiquement Remarque : La liste doit être active |
Private Sub Maliste_GotFocus() Me.Maliste.Dropdown End Sub |
|||||||||||||||||||||||||||||||||||||
Ouvrir en grand Access | Créer un module : Public Function OuvreEnGrand() As Boolean DoCmd.RunCommand acCmdAppMaximize End Function Déclarer dans la macro autoexec |
|||||||||||||||||||||||||||||||||||||
Dupliquer un enregistrement | Mettre
ce code sur un évènement : DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdPasteAppend |
|||||||||||||||||||||||||||||||||||||
Gérer les
n° d'erreurs Microsoft (Ex : Erreur n° 70) |
Private
Sub BoutonApercuEtat____BoutonAperçuEtat_Click() 'Gestion du message d'erreur n°70 de Microsoft si excel est ouvert (Voir en bas de la procédure) On Error GoTo Err_BoutonApercuEtat_Click '------------------------------------- 'Ta procédure '------------------------------------- 'Gestion du message d'erreur n°70 de Microsoft si excel est ouvert : Exit_BoutonApercuEtat_Click: Exit Sub Err_BoutonApercuEtat_Click: Select Case Err Case 70: Beep: MsgBox "Excel est ouvert." & vbCrLf & "Il faut le refermer (J'insiste !)", 48, "Erreur Excel" Case Else: MsgBox Error$ & " " & Err End Select Resume Exit_BoutonApercuEtat_Click End Sub |
|||||||||||||||||||||||||||||||||||||
Null / Vide | If
IsNull (monchamp) Then monchamp = "ABC" End If ' teste si le champ est null If monchamp = "" Then monchamp = "ABC" End If ' teste si le champ contient une chaîne vide If Nz (monchamp, "") = "" Then monchamp = "ABC" End If ' teste si le champ est null ou s'il contient une chaîne vide |
|||||||||||||||||||||||||||||||||||||
N° de semaine Dans access, les semaines vont du dimanche au samedi, mais il est possible de les formater du lundi au samedi comme sur notre calendrier. |
en vba
: format(#12/31/2005#,"ww",vbMonday, vbFirstFourDays) en sql on met la valeur des constantes vba : format(#12/31/2005#;"ee";2;2)
"ww" en vba et
"ee" en sql vbUseSystem 0 Utilise le paramètre NLS
API. vbFirstFourDays veut dire que la première semaine de l'année est celle qui comporte 4 jours. vbUseSystem 0 Utilise le paramètre NLS
API. La combinaison de ces deux paramètres forme
la norme iso 8601 (de mémoire) et on obtient Donc un premier janvier le mercredi, les lundi 30 et mardi 31 décembre de l'année précédente appartiendront à la semaine 1 de l'année suivante. Astuce : Il arrive que les semaines ne correspondent pas d'une année sur l'autre (décalage). Créer un contrôle supplémentaire qui permettra d'indiquer -1, 0 ou +1 par rapport aux décalage souhaité sur les semaines de l'année précédente. Ainsi l'on pourra comparer la semaine 10 de l'année A avec la semaine 9 de l'année A-1 (faire attention pour les semaines extrêmes de l'année...) |
|||||||||||||||||||||||||||||||||||||
Mettre des tirets (au bon
endroit...) pour séparer
plusieurs champs concaténés. Évitez par
exemple : |
Exemple (Copier le dans Word pour mieux comprendre) : =VraiFaux(EstNull([Restriction]);"";[Restriction]) & VraiFaux(EstNull([Duree]);""; VraiFaux(EstNull([Restriction]) ; "" ; " – ") & "Durée : " & [Duree]) & VraiFaux([EtoileSon]=0;""; VraiFaux(EstNull([Duree]);""; " - ") & "Son : " & [EtoileSon] & "/5") & VraiFaux([EtoileImage]=0;""; VraiFaux([EtoileSon]=0;""; " – ") & "Image : " & [EtoileImage] & "/5") |
|||||||||||||||||||||||||||||||||||||
Boites de dialogue | Avec
choix Oui ou Non Dim Msg, Style, Titre, Reponse, MyString Msg = "Souhaitez-vous continuer?" '
Définit le message. Reponse = MsgBox(Msg, Style, Titre) If Reponse = vbYes
Then ' L’utilisateur a
choisit Oui. |
|||||||||||||||||||||||||||||||||||||
Simple
: 1 bouton Ok MsgBox "Message", vbInformation, "Titre de la boîte" |
||||||||||||||||||||||||||||||||||||||
Retour à la ligne de la
deuxième phrase. (& vbCrLf &) Ex : MsgBox "Excel est ouvert." & vbCrLf & "Il faut le refermer (J'insiste !)", 48, "Erreur Excel"
Pour un saut de ligne répéter 2 fois
(& vbCrLf &)
Pour mettre en gras une ligne mettre l'arobase
(@)
en début et fin de ligne ligne qui ne doit pas être en gras (jusqu'à Access
<2000)
A partir de Access 2000, MsgBox ne peut pas
afficher en gras mais il faut passer |
||||||||||||||||||||||||||||||||||||||
vbOKOnly
0 Affiche le bouton OK
uniquement. vbOKCancel 1 Affiche les boutons OK et Annuler. vbAbortRetryIgnore 2 Affiche le bouton Abandonner, Réessayer et Ignorer. vbYesNoCancel 3 Affiche les boutons Oui, Non et Annuler. vbYesNo 4 Affiche les boutons Oui et Non. vbRetryCancel 5 Affiche les boutons Réessayer et Annuler. vbCritical 16 Affiche l'icône Message critique. vbQuestion 32 Affiche l'icône Requête d'avertissement. vbExclamation 48 Affiche l'icône Message d'avertissement. vbInformation 64 Affiche l'icône Message d'information. vbDefaultButton1 0 Le premier bouton est le bouton par défaut. vbDefaultButton2 256 Le deuxième bouton est le bouton par défaut. vbDefaultButton3 512 Le troisième bouton est le bouton par défaut. vbDefaultButton4 768 Le quatrième bouton est le bouton par défaut. vbApplicationModal 0 Boîte de dialogue modale. L'utilisateur doit répondre au message affiché dans la zone de message avant de pouvoir continuer de travailler dans l'application en cours. vbSystemModal 4096 Modal système. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la zone de message. Le premier groupe de valeurs (0 à 5) décrit le nombre et le type de boutons affichés dans la boîte de dialogue. Le deuxième groupe (16, 32, 48 et 64) décrit le style d'icône. Le troisième groupe (0, 256 et 512) définit le bouton par défaut. Enfin, le quatrième groupe (0 et 4 096) détermine la modalité de la zone de message. Au moment d'additionner ces nombres pour obtenir la valeur finale de l'argument buttons, ne sélectionnez qu'un seul nombre dans chaque groupe. |