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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros Access Discussion :

Ajouter enregistrement Via zone de liste déroulante


Sujet :

Macros Access

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut Ajouter enregistrement Via zone de liste déroulante
    Bonjour,

    J'ai créé 2 tables (Especes et Races). Elles sont vides.
    Je voudrais alimenter ces 2 tables via un formulaire et un sous-formulaire.
    Le formulaire F_Espece à un champ (AutoNum) et une zone de liste déroulante initialement vide car la table Espece l'est aussi.
    Le sous-formulaire Races un champ (AutoNum), un champ clé de liaison avec table espece et un champ pour saisir la race.
    L'objectif est de pouvoir soit ajouter une espèce à la table espece ou en choisir une si elle existe déjà pour ajouter via le sous-formulaire la race.
    Je ne m'en sors pas. Merci pour votre aide.
    Gestion Animaux V1.zip

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 374
    Par défaut
    Bonjour,
    Un exemple en attaché. A adapter.
    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Bonjour,

    Je te remercie mais c'est tout autre chose que tu me proposes.
    Encore merci mais ne réponds pas à ma demande.
    Initialement, il y avait dans mon fichier un formulaire avec un sous-formulaire.
    Encore merci.

    Bonne journée

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 374
    Par défaut
    Quelque chose de plus proche de la version initiale.
    Cordialement.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Merci beaucoup, mais ne répond pas à ma demande.
    J'ai essayè d'adapter ce que j'ai trouvé dans la faq. mais lorsque les 2 tables sont vides. dès que je saisis l'espèce, 2 enregistrements sont ajoutés à la table Espece.
    le 1er avec un numéro, le second avec l'espèce saisie. C'est que je n'arrive pas à résoudre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub NomEspece_NotInList(NewData As String, Response As Integer)
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim existe As Boolean
     
        Set db = CurrentDb
        existe = False
     
        ' Vérifiez si l'espèce existe déjà dans la table
        Set rs = db.OpenRecordset("SELECT * FROM Especes WHERE NomEspece = '" & NewData & "'")
     
        If Not rs.EOF Then
            existe = True
        End If
     
        rs.Close
        Set rs = Nothing
     
        If existe Then
            MsgBox "Cette espèce existe déjà."
            Response = acDataErrContinue
            Me.NomEspece.Undo
        Else
            If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des espèces ?", vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
                ' Insérer la nouvelle espèce dans la table
                DoCmd.RunSQL "INSERT INTO Especes (NomEspece) VALUES ('" & NewData & "');"
                Response = acDataErrAdded
                Me.Repaint
                ' Actualiser la zone de liste
                Me.Requery 
            Else
                Response = acDataErrContinue
                Me.NomEspece.Undo
            End If
        End If
    End Sub
    Encore merci. Bonne journée.

  6. #6
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 374
    Par défaut
    Dans le formulaire F_Espèces, il faut entrer les espèces à l'aide d'une zone de texte (TextBox), et vraiment pas à l'aide d'une zone de liste déroulante (ComboBox).
    Cordialement.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Je te remercie pour le conseil.
    Désolé de te contredire, mais ça ne sera pas pratique pour l'utilisateur. une espèce a plusieurs races, je te souhaite du courage si tu devais réaliser cela.

    C'est faisable, nous n'avons pas pu trouvé la bonne méthode pour y parvenir. J'ai consulté plusieurs discussions. et dans plusieurs on indique de s'intéresser à NotInList.
    Hélas, tous mes essais ont échoué.

    Merci de m'avoir répondu.

    Bonne journée.

    edit: avec de l'aide, j'avais réussi à le faire dans un formulaire Excel. Je débute sur Access, donc pas évident pour moi de m'y retrouver, d'autant plus que je connais pas bien l'environnement d'Access et ses fonctionnalités.

  8. #8
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 374
    Par défaut
    Voici quelque chose qui me semble le mieux correspondre à vos attentes, mais qui personnellement ne me plaît pas.
    Cordialement.
    Fichiers attachés Fichiers attachés

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Bonsoir, je te remercie beaucoup. Je partage ton avis. Moi aussi ça ne me plait pas trop.
    Il y a aussi le mélange des races. à cela s'ajoute le fait que le formulaire SfRce demande d'insérer un code.
    Encore merci.
    Bonne soirée et bon week-end.

    edit: Ton code a le mérite de ne pas créer un enregistrement fantôme comme avec le code de la faq.
    le formulaire n'est pas pratique pour ajouter une nouvelle espèce.

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Je reviens à la charge , Comme je l'ai précedemment ton code ne plante pas et ne crée pas un enregistrement "fantôme" comme le fait le code de la faq.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub EspNum_NotInList(NewData As String, Response As Integer)
        Dim sOld As String, sNew As String
        If MsgBox("Ajouter cette espèce: " & NewData & " ?", vbYesNo, "Oui/Non?") = vbYes Then
            Response = acDataErrAdded
            DoSQL "INSERT INTO tEsp (EspNom) VALUES ('" & NewData & "')"
        Else
            If MsgBox("Remplacer l'ancien nom:  " & sOld & vbLf & _
                      "     par ce nouveau nom:  " & sNew & vbLf & vbLf & _
                      "Oui: changer le nom" & vbLf & _
                      "Non: annuler, conserver l'ancien nom", _
                      vbYesNo, "Oui/Non?") = vbYes Then
                sOld = DLookup("EspNom", "tEsp", "EspN°=" & Nz(Me.EspNum, 0))
                sNew = NewData
                Response = acDataErrContinue
                Me.EspNum.Undo
                DoSQL "UPDATE tEsp SET EspNom='" & sNew & "' WHERE EspN°=" & Me.EspNum
                Me.EspNum = Me.EspNum
            Else
                Response = acDataErrContinue
                Me.EspNum.Undo
            End If
        End If
    End Sub
    Je me débrouille en vba excel, mais je débute sur access d'où mes difficultés. Peux-tu m'expliquer pourquoi tu as ajouté le remplacement de l'ancien nom.
    Mon objectif est d'ajouté au besoin les espèces et les races. En partant de tables vides, on reçoit un animal supposant un chat. je saisis chat et angora.
    ces 2 valeurs doivent s’enregistrer dans leur table respective. on reçoit un chat, à ce niveau l'espèce existe dans la table, je la sélectionne dans la zone de liste et saisis la nouvelle race "Chartreux".
    Si on reçoit un chien, comme il n'existe pas dans la zone de liste on doit pouvoir l'ajouter. Dans tous les cas, pour les espèces et les races les doublons ne doivent pas exister.
    Je ne sais pas si mon idée est plus clair ainsi. Ce processus ne permettra aussi de l'adapter pour des communes et leur code postal.

    En tout cas encore merci de intéresser à mon petit projet.

  11. #11
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 374
    Par défaut
    J'ai ajouté le remplacement de l'ancien nom parce que l'on peut faire une faute d'orthographe que l'on souhaite ensuite corriger.
    Bien cordialement.

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    Merci. Je vais essayer de refaire ce que tu as fait en essayant que ça fonctionne un mieux.
    Je reviendrai aux nouvelles.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/06/2008, 20h52
  2. Réponses: 7
    Dernier message: 06/12/2007, 10h01
  3. pb d'ajout dans une zone de liste
    Par monphp dans le forum VBA Access
    Réponses: 9
    Dernier message: 03/07/2007, 15h34
  4. Réponses: 4
    Dernier message: 11/05/2007, 17h40
  5. Ajout données dans Zone de liste modifiable
    Par emilie31 dans le forum Access
    Réponses: 2
    Dernier message: 08/01/2007, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo