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

Access Discussion :

Supprimer Enregistrement à partir d'un formulaire


Sujet :

Access

  1. #1
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut Supprimer Enregistrement à partir d'un formulaire
    Salut.
    J'ai un petit problème avec ma base de données :
    J'ai un formulaire F_BonCommande qui contient pas mal d'informations ( adresse client, items demandés, préfacturations...) et un formulaire F_Facture qui contient le numéro du Bon de commande associé.
    Mon problème est le suivant : je voudrais pouvoir supprimer le bon de commande correspondant au numéro BondeCommande contenu dans mon formulaire F_Facture. Autrement dit, lorsqu'une facture est créée, le bon de commande doit être supprimé ensuite.
    J'ai essayé plusieurs choses pour supprimer l'enregistrement : OpenForm du bon de commande voulu et suppression de l'enregistrement( DoCmd.DoMenuItem ...).

    J'ai aussi essayé FindRecord...et Delete mais je ne sais pas trop si je l'ai bien utilisé...
    Bref, j'ai besoin de votre aide SVP !

  2. #2
    Membre du Club
    Profil pro
    développeur VBA
    Inscrit en
    Août 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : développeur VBA

    Informations forums :
    Inscription : Août 2006
    Messages : 57
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par nicou50
    Salut.
    J'ai un petit problème avec ma base de données :
    J'ai un formulaire F_BonCommande qui contient pas mal d'informations ( adresse client, items demandés, préfacturations...) et un formulaire F_Facture qui contient le numéro du Bon de commande associé.
    Mon problème est le suivant : je voudrais pouvoir supprimer le bon de commande correspondant au numéro BondeCommande contenu dans mon formulaire F_Facture. Autrement dit, lorsqu'une facture est créée, le bon de commande doit être supprimé ensuite.
    J'ai essayé plusieurs choses pour supprimer l'enregistrement : OpenForm du bon de commande voulu et suppression de l'enregistrement( DoCmd.DoMenuItem ...).

    J'ai aussi essayé FindRecord...et Delete mais je ne sais pas trop si je l'ai bien utilisé...
    Bref, j'ai besoin de votre aide SVP !
    Il faut d'abord savoir si les 2 formulaires agissent sur la même table.
    Dans le cas contraire, comment sont liées les tables?
    Est ce une liaison entre les n° de bons?

  3. #3
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut type de liaison
    ok...F_BonCommande et F_Facture sont liés par NoBonCommande qui est justement le numéro du bon de commande
    Donc la suppression ne devrait pas trop poser de problème...si seulement on sait comment faire!
    j'avais essayé de faire une requête de suppression mais ca ne marche pas non plus.
    le casse tête

  4. #4
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    Salut

    Moi quand j'ai un problème de suppression d'enregistrement, j'ouvre directement ma table et j'essaie de supprimer directement l'enregistrement, avec cette méthode, je voi tout de suite s'il y a un problème d'intégrité référentielle, si c'est ton cas, tu dois supprimés cette référence avant de pouvoir supprimer l'enregistrement.

    A+

    CAMIC

  5. #5
    Membre du Club
    Profil pro
    développeur VBA
    Inscrit en
    Août 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : développeur VBA

    Informations forums :
    Inscription : Août 2006
    Messages : 57
    Points : 54
    Points
    54
    Par défaut suppression des commandes
    créer un bouton "OK",par exemple sur le formulaire, lié à une macro.
    Cette macro appelle le code suivant (executer code) :


    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
     Function Suppression()
     
    Set db = CurrentDb
    Set rsf = db.OpenRecordset("tablefacture", dbOpenTable)
    Set rsc = db.OpenRecordset("tablecommande", dbOpenTable)
     
    rsc.MoveFirst
    rsf.MoveFirst
     
    Do While rsc.EOF <> True
     
        Do While rsf.EOF <> True
            If rsc![numerobond] = rsf![numerobond] Then
            rsc.Delete
            GoTo Fin
            End If
            On Error GoTo Suite
            rsf.MoveNext
        Loop
     
    Suite:
    rsc.MoveNext
    rsf.MoveFirst
    Loop
     
    Fin:
     
    End Function

  6. #6
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut ok
    merci je vais essayer ca. Si tu n'as pas de nouvelle cest que tout marche !
    merci encore

  7. #7
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut ca marche mais....
    la suppression fonctionne en partie.
    En effet, en appliquant ton code, le bon de commande est en effet supprimé, mais ma facture aussi...J'ai essayé de changer les relations pour changer le problème, mais ca ne fonctionne : plus rien n,est supprimé si je ne permets pas la suppression en cascade avec l'intégrité référentielle.
    Autre chose, en appliquant ton code, access m'a donné des erreurs : "l'objet est déjà supprimé" ou "il n'y a pas d'objet en cours( en debug, c'est dû à rsc.MoveNext)"...
    Est ce que tu peux toujours m'aider ? Thanks

  8. #8
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut j'ai trouvé la réponse.
    Salut...j'Ai trouvé la réponse. Merci du coup de pouce

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/12/2007, 14h03
  2. Supprimer enregistrement actif d'un formulaire
    Par snoopy69 dans le forum IHM
    Réponses: 3
    Dernier message: 13/09/2007, 10h35
  3. Réponses: 8
    Dernier message: 27/07/2006, 09h09
  4. [ACCESS 2003] - enregistrement à partir d'un formulaire
    Par guiguikawa dans le forum Access
    Réponses: 5
    Dernier message: 13/06/2006, 16h40
  5. Réponses: 4
    Dernier message: 14/10/2005, 09h54

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