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

IHM Discussion :

Erreur VBA sur Clonage enregistrement


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Erreur VBA sur Clonage enregistrement
    Bonjour à tout le forum,

    je suis un petit nouveau sur le forum et sur Access.
    Jusqu'à maintenant j'arrivais à trouver des solutions à mes questions sur le forum mais je ne trouve pas.
    je me tourne vers vous pour une question surement très simple pour vous à savoir :
    J'ai dans un formulaire de saisie un certain nbre d'enregistrements qui sont parfois assez répétitifs dans leur données.
    Aussi j'ai voulu me servir du bouton tout fait pour cloner un enregistrement dans mon formulaire mais lorsque je lance l'appli il me met un message d'erreur m'indiquant qu'une "clé ou un index ne peut comporter de valeurs nul"
    Dans ma table ma Clé est en mode "avec Index mais sans doublons"....En fait ma Clé n'est une Numérotation auto mais un code rattaché à mon enregistrement et qui est différent à chaque fois....mais ne se suit pas forcement.
    Si quelqu'un avait une idée pour m'aiguiller ce serait sympa.
    D'avance Merci à tous

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    bonjour,

    tu nous postes ton code pour y voir plus clair sur la méthode que tu utilises ?

    Cordialement,

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour loufab

    Ci-joint le code utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Commande58_Click()
    On Error GoTo Err_Commande58_Click
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
    Exit_Commande58_Click:
        Exit Sub
    Err_Commande58_Click:
        MsgBox Err.Description
        Resume Exit_Commande58_Click    
    End Sub
    En fait ce bout de code est créé lorsque tu utilises les boutons de création de la boite à outils avec les choix proposés pour les actions sur enregistrements

    Également j'ai le même souci avec le bouton de suppression d'enregistrement

    D'avance MERCI

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    tu utilises quoi comme version la 97 ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Non je suis en 2003

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    En 2003 l'utilisation des menus pour lancer des commandes n'est plus nécessaire.

    Tu as l'objet Recordset dans chaque formulaire / sous-form ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.recordset.delete  ' supprime l'enregistrement actif
    Pour une copie.

    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
     
    Set rstDest = Me.Recordset
    Set rstOrig = Me.RecordsetClone
    rstOrig.Bookmark = rstDest.Bookmark
     
    rstDest.AddNew
    For Each fld In rstOrig.Fields
     
        If (fld.Attributes And dbAutoIncrField) Then
           ' champ incrément (pas de copie)
        Else
           rstDest.Fields(fld.Name).Value = fld.Value
        End If
     
    Next
    rstDest.Update
    Set rstDest = Nothing
    Set rstOrig = Nothing
    On utilise le recordsetclone pour la source et recordset pour la destination.
    Si tu veux utiliser ce code pour n'importe quel formulaire ou sous formulaire, quelque soit son mode d'affichage passe-lui le formulaire en paramètre et remplace le Me par la variable objet passée.

    Cordialement,

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour loufab,

    Merci pour toutes ces infos mais jusqu'à présent j'utilisais les menus pour lancer des commandes car je ne connais pas le VB sur Access.
    Je trouvais cela pratique car cela générait un bout de code automatiquement.
    Il n'y a pas d'enregistrement de macros comme sur Excel
    je te remercie quand même pour les infos que je vais essayer de comprendre.
    Je vais essayer de trouver des infos sur la manière d'opérer avec les Recordset

    Merci

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    Pour les recordset il faut voir le tuto sur DAO.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci loufab

    je vais aller voir le tuto que tu me conseilles

    A+

Discussions similaires

  1. Erreur VBA sur Base Dorsale - Frontale
    Par guepard25 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/10/2014, 15h28
  2. [XL-2007] Erreur VBA sur requete SQL
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2013, 08h44
  3. [AC-2007] Progressbar VBA sur requete enregistrée
    Par mc.schmer dans le forum VBA Access
    Réponses: 11
    Dernier message: 18/10/2011, 14h35
  4. [AC-2007] Erreur VBA sur un état
    Par chinarro dans le forum IHM
    Réponses: 4
    Dernier message: 18/07/2011, 17h08
  5. [AC-2007] Erreur VBA sur format date
    Par Mopagano dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/01/2011, 11h15

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