ACCES Remplissage automatique de champ

Bonjour,

Je souhaiterais, dans une table, pouvoir définir le contenu d'un champ suivant les données d'un autre champ. Je m'explique:

Je veux créer un champ "Commentaires" dépendant d'un champ "Code".
Dans le champ commentaire, je veux écrire "Dernier N°" si et seulement si dans le champ Code = "12"

Est-ce envisageable?
Puis-je espérer pouvoir faire un calcul de genre?

Merci à ceux qui pourrons m'aiguiller
Configuration: Windows XP
Firefox 3.0.1

10 réponses

  1. Ces champs sont-ils dans la même table?
    Je te propose un petit code VBA, avec une jolie requête SQL ^^
    3
    1. Merci RailBird,

      Oui ces 2 champs sont bien dans la même table
      1
      1. Ok.

        Option Compare Database
        Option Explicit

        'Déclaration Variables Globales

        Dim db As New ADODB.Connection
        Dim rst As New ADODB.Recordset

        'Cette fonction est appelée pour initialiser ADO
        Private Function initADO() As Boolean
        On Error GoTo err
        If db.State <> adStateClosed Then db.Close
        If rst.State <> adStateClosed Then rst.Close
        Set db = CurrentProject.Connection

        initADO = True
        Exit Function

        err:
        MsgBox err.Number, err.Description
        initADO = False

        End Function

        Private Sub Bascule0_Click()

        initADO
        Dim MyString As String
        MyString = "Dernier N°"

        db.Execute "UPDATE Table1 SET Commentaire='" & MyString & "' WHERE Code='12'"

        End Sub

        Ou tout simplement crée une requête dans Access et copier :

        UPDATE Table1 SET Commentaire='" & MyString & "' WHERE Code='12'
        0
        1. Oups remplacer '" & MyString & "' par 'Dernier N°' pour la requête SQL ;)
          0
          1. Hm, as-tu bien remplacé Table1 par le nom de ta table?
            Les champs indiqués comme Code/Commentaire sont-ils orthographié comme dans ta table?
            Les ' ' sont-ils bien présents dans ta requête?
            0
            1. C'est étrange parce que j'ai fais le test et ça marche niquel!
              Essaye alors ma première solution
              Dans un formulaire tu crées un bouton.
              ALT + F11

              Tu copies le code que je t'ai donné en replaçant Private Sub Bascule0_Click() par le nom de ton bouton _click
              Pour avoir le nom du bouton, faut être en mode création, clique droit sur le bouton, propriétés, et là tu devrais avoir le nom.
              Si ça marche toujours pas, je vois pas où est l'erreur :O
              0
              1. Merci mais cela me parait bien compliqué tout au moins pour la première partie, mais si je devais utiliser cela Où dois-lje le mettre ?

                J'ai donc préféré créer une requète

                UPDATE Table1 SET Commentaire='Dernier N°' WHERE Code='12'

                J'ai rentré ce critère dans ma requête et j'ai ce message d'erreur

                Vous avez rentré une opérande sans opérateur

                et WHERE est surligné

                Où est l'erreur ?
                -1
                1. Je viens de vérifier,
                  j'avais effectivement une erreur puisque dans ma table 'commentaire' n'a pas de majuscule
                  j'ai donc corrigé mais j'ai toujours le même message et WHERE toujours surligné
                  -1
                  1. ok,
                    Je te remercie pour ta contribution. Je vais devoir arrêter ce travail pour le moment, je vais le reprendre plus tard et créer un formulaire pour faire ce que tu me dis
                    Je te tiendrai au courant de l'évolution
                    Bonne soirée
                    -1
                    1. J'ai crée un formulaire: J'ai toujours la même erreur qui semble résider dans la formule
                      -1