IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ access 2007

logo
Sommaire > Formulaires
        Comment afficher l'assistant de modification d'une liste de valeurs en VBA ?
        Comment afficher un calendrier pour la saisie des dates dans une table ?
        Comment alterner la couleur des enregistrements dans un formulaire ?
        Comment créer des boutons possédant une légende et une icône ?
        Comment forcer l'utilisateur à utiliser le calendrier ?
        Comment modifier la légende des boutons de déplacements ?
        Comment modifier le contenu d'une zone de liste de valeurs ?
        Comment modifier le contenu d'une zone de liste 'Tables/Requêtes' ?
        Comment se passer d'un contrôle RichTextBox pour écrire du texte enrichi ?
        4.1. Formulaire à double affichage (4)
                Comment empêcher l'utilisateur de déplacer la barre de fractionnement ?
                Comment masquer la barre séparant le formulaire de la grille de données ?
                Comment modifier la position de la grille dans un formulaire à double affichage ?
                Comment verrouiller la grille de données dans un formulaire à affichage double ?

rechercher
precedent    sommaire    suivant    telecharger


Comment afficher l'assistant de modification d'une liste de valeurs en VBA ?
auteur : Christophe Warin
Deux étapes sont nécessaires :

  1. Donner le focus à la zone de liste
  2. Lancer la commande acCmdEditListItems
Si l'utilisateur annule la saisie, une erreur 2501 est levée (l'action DoCmd a été annulée). Il est impératif de gérer cette erreur.

Exemple :

Private Sub Commande2_Click()
On Error GoTo err
    Me.MaListe.SetFocus
    DoCmd.RunCommand acCmdEditListItems
    
fin:
    Exit Sub
    
err:
    With err
        'Autorise l'annulation de la saisie
        If .Number <> 2501 Then err.Raise .Number, .Source, .Description
    End With
    Resume fin
End Sub

Comment afficher un calendrier pour la saisie des dates dans une table ?
auteur : Christophe Warin
Rien de plus simple. Lorsque vous créez une zone de texte liée à un champ date, vous pouvez choisir d'afficher un contrôle calendrier lorsque la zone de texte reçoit le focus. Pour cela, vérifiez que la propriété Afficher le sélecteur de date de la zone de texte est fixée à : À certaines dates.

Si la zone de texte n'est pas liée à un champ date, il faut que son format soit un format de date.


Comment alterner la couleur des enregistrements dans un formulaire ?
auteur : Christophe Warin
La mise en place d'un système bicolore dans les formulaires a souvent été une galère pour les développeurs Access. La version 2007 amène un réel plus de ce coté-là. Plus besoin de bricolage, les formulaires gèrent nativement l'alternance des couleurs un enregistrement sur deux.

Cliquez avec le bouton droit sur la zone détail du formulaire, réglez la couleur d'arrière-plan ainsi que la deuxième couleur (Autre couleur d'arrière-plan/Remplissage...)

C'est fini.

Ces propriétés sont aussi accessibles dans la liste des propriétés de la zone détail : Couleur fond et Autre couleur fond.

En VBA, il s'agit des membres DataSheetBackColor et DataSheetAlternateBackColor de l'objet Form.


Comment créer des boutons possédant une légende et une icône ?
auteur : Christophe Warin
Avant, cela n'était pas possible. Il fallait choisir entre icône ou texte mais pas les deux à la fois.

Avec Access 2007, c'est désormais possible mais le nom de la propriété en version française est plutôt farfelu : Disposition des légendes des images. Sélectionnez alors la position désirée pour le texte.

En VBA, il s'agit de la propriété PictureCaptionArrangement


Comment forcer l'utilisateur à utiliser le calendrier ?
auteur : Christophe Warin
Pour que l'utilisateur soit obligé de saisir les dates avec le calendrier, deux étapes sont nécessaires :

  1. Inhiber les actions du clavier
  2. Proposer la calendrier lorsque l'utilisateur accède à la zone de texte
L'étape 1 est réalisable via l'évènement Touche Appuyée du contrôle. Il suffit alors de fixer le paramètre KeyCode à 0.

	Private Sub ZoneTexte_KeyDown(KeyCode As Integer, Shift as Integer)
	KeyCode=0
	End Sub
Pour la deuxième étape, le plus simple est d'afficher le calendrier dès que le contrôle reçoit le focus. Il faudra donc exécuter la commande DoCmd.RunCommand acCmdShowDatePicker sur l'évènement Reception Focus.


Comment modifier la légende des boutons de déplacements ?
auteur : Christophe Warin
Un moyen simple de personnaliser la barre de boutons de déplacement consiste à modifier la légende où est écrit par défaut : Enr. (comme Enregistrement).

Dans le cas d'un formulaire affichant une liste de clients, vous pouvez par exemple faire figurer le nom du client suivant l'enregistrement courant :

Private Sub Form_Current()
On Error GoTo err
    Dim strCaption As String
    Dim oRst As DAO.Recordset
    Set oRst = Me.RecordsetClone
    With oRst
    'passe au client suivant
        .MoveNext
        If .EOF Then
            'Si aucun, on recule de deux
            oRst.Move -2
            strCaption = "Prec. : " & .Fields("nomclient")
        Else
            strCaption = "Suiv. : " & .Fields("nomclient")
        End If
    End With
fin:
Me.NavigationCaption = strCaption
Exit Sub

err:
    strCaption = "Enr."
    Resume fin
End Sub

Comment modifier le contenu d'une zone de liste de valeurs ?
auteur : Christophe Warin
Il faut définir la nouvelle propriété "Autoriser les modifications de la liste de valeurs" à Oui

Ainsi, lorsque l'utilisateur sélectionne la zone de liste, un bouton contextuel est affiché en bas de celle-ci. Un clic sur ce bouton ouvre un assistant Access où l'utilisateur pourra modifier la liste de valeurs.


Comment modifier le contenu d'une zone de liste "Tables/Requêtes" ?
auteur : Christophe Warin
Tout d'abord créer un formulaire d'ajout basé sur la table où la zone de liste puise ses données. Pour n'autoriser que l'ajout de données, fixez sa propriété Entrées Données à Oui. Insérez (à l'aide de l'assistant) un bouton de commande "Valider" charger de fermer le formulaire.
Enregistrez ce formulaire en le nommant FRM_Ajout.

Modifiez le code du bouton de telle sorte qu'il recharge le contenu de la zone de liste (Requery) du formulaire principal.

Exemple :

Me.Refresh
Forms("Frm_principal").Requery
DoCmd.Close acForm, Me.Name
Vous n'avez plus qu'à renseigner le nom du formulaire d'ajout dans la propriété Formulaire Modifier les éléments de la liste de la zone de liste.

Access se chargera d'afficher un bouton de modification des éléments en dessous de la zone de liste lorsqu'elle sera active.


Comment se passer d'un contrôle RichTextBox pour écrire du texte enrichi ?
auteur : Christophe Warin
Dorénavant, les zones de texte supportent la mise en forme des caractères. Cela signifie qu'il est désormais possible d'appliquer une police de caractères différente pour quelques mots de la zone de texte sans que cela n'affecte tout son ensemble.

Pour cela, il faut définir la propriété Format du Texte (onglet Données) du contrôle à Texte enrichi.

En définissant cette même propriété au niveau d'un champ texte d'une table, la mise en forme de la zone de texte sera conservée dans la table au format HTML.


rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.