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

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut Comment supprimer une ligne d’enregistrement d’une Table sur la sélection d’une valeur d’une zone de Texte.
    Bonjour,

    Si vous pouvez m'aider sur le Sujet ci-dessous.

    Comment supprimer une ligne d’enregistrement d’une Table sur la sélection d’une valeur d’une zone de Texte.
    Comment améliorer la Requête de Suppression
    Actuellement tout est supprimés à l’activation du Bouton Click : ENREG_TERMINER

    Cordialement

    Table : T_Mise_Reparation
    Champs : Numero_de_Serie
    Zone de Texte : Numero_de_Serie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ENREG_TERMINER_Click()
    Enregistrer
        EffacerInfo
        Filtre_Encours = vbNullString
        NUMFICHE = vbNullString
        Filtre_Fiche_Encours
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "R_ARCHIVE"
        DoCmd.OpenQuery "S_FININTERV"
        DoCmd.SetWarnings True
    End Sub
    Images attachées Images attachées   

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Si j'ai bien interprété... tu veux supprimer un enregistrement dont un champ Utilisateur est choisi dans un formulaire.
    Une solution :
    - sur le formulaire, tu crées une liste déroulante basée sur la table avec 2 colonnes : Id (largeur = 0) et Utilisateur
    - sur l'événement Sur Clic tu exécutes la requête de suppression
    - dans celle-ci tu mets comme critère (à adapter):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![NomFormulaire]![NomListeDéroulante]

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonsoir Titi95,

    je vous remercie de votre aide.
    Pas exactement.
    je souhaite supprimer une ligne d'enregistrement sur la Valeur de la zone de Texte : Numéro_De_Serie
    De la table : T_Mise_Reparation
    Le champs est : Numero_De_Serie
    Le mécanisme est que je sélectionne un Numéro de Série, et ensuite sur le Bouton Click : ENREG_TERMINER (ENREGISTREMENT FIN D'INTERVENTION)
    je le retire la ligne d'enregistrement de ce N° de la Table.
    ScreenShot ci Joint :

    Cordialement
    Images attachées Images attachées     

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Avant tout, une petite remarque, n'est-ce pas ennuyeux de supprimer l'enregistrement ?
    L'idée en effet est de garder l'historique des informations. Pourquoi ne pas ajouter deux champs mis à jour automatiquement en cliquant sur ton bouton :

    1. Un champ Oui/Non dont le nom pourrait être [Terminer].
    2. Une champ Date qui récupère la date du jour de la cloture de l'intervention et dont le nom pourrait être [DateCloture]


    Ainsi, sur Clic de ton bouton tu pourrais avoir le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Dim l_strSql as String
     
        l_strSql = "UPDATE T_Mise_Reparation SET Terminer = -1 AND DateCloture = #" & Date() & "# WHERE Numero_de_Serie = " & Me.Numero_de_Serie
     
        With DoCmd
            ' Désactive les messages système
            .SetWarnings False
            ' Execute la commande SQL
            .RunSql l_strSql
            'Réactive les messages système
            .SetWarnings True
        End With
    Sinon, pour supprimer l'enregistrement le code est identique à celui ci-dessus simplement la commande SQL est Modifiée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        l_strSql = "DELETE * FROM T_Mise_Reparation WHERE Numero_de_Serie = " & Me.Numero_de_Serie
    Bonne continuation

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour Jeannot,

    Merci de votre Aide.
    Mon Idée était que je charge la Table : T_Mise_Reparation , suite à un premier formulaire : F_Mise_En_DEPANNAGE
    Ensuite, sur un second Formulaire : F_INTERVENTION
    On récupère le Numero de Serie et à la fin de l'intervention sur le Bouton Click
    Ce N° de Série (La ligne d' enregistrement) est supprimé de la Table, et Archiver dans une Troisième Table : T_ARCHIVE_REPAR
    Pour qu'il n'apparaisse plus dans les Encours.

    Comme je suis novice.
    J'ai placé votre ligne de code, comme ci-dessous.
    Mais peut-être que ma Requête : S_FININTERV Prend le dessus sur le mécanisme, car cela s'efface tout les enregistrements de la Table : T_Mise_Reparation

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub ENREG_TERMINER_Click()
    Dim l_strSql As String
    l_strSql = "DELETE * FROM T_Mise_Reparation WHERE Numero_de_Serie = " & Me.Numero_de_Serie
     
    Enregistrer
        EffacerInfo
        Filtre_Encours = vbNullString
        NUMFICHE = vbNullString
        Filtre_Fiche_Encours
        DoCmd.SetWarnings False
       'DoCmd.OpenQuery "R_ARCHIVE"
        DoCmd.OpenQuery "S_FININTERV"
        DoCmd.SetWarnings True
    End Sub


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1_strSql = "DELETE * FROM T_Mise_Reparation WHERE Numero_de_Serie = " & Me.Numero_de_Serie
    Cordialement

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    1) à quoi sert l_strSql dans ton code ?
    2) tu exécutes la requête S_FININTERV, mais quel est son contenu ? toujours celui de ton 1er post ???
    Si oui, mets ce critère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![F_INTERVENTION]![Numero_de_Serie]
    3) tu ne retiens pas la proposition de jeannot45 ?

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonsoir,

    Merci de votre aides.
    j'ai fait quelques essais.
    Il ne doit pas manquer grand chose.
    Actuellement j'ai le message Erreur d'exécution 3464
    J'ai bien gardé la requête, et mis le Critère.

    ScreenShot ci-joint

    Cordialement
    Images attachées Images attachées     

  8. #8
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Vérifie d'abord la cohérence des "types" pour les "Numero_de_Serie".
    Ensuite, dans l_strSql, remplace AND par une virgule derrière le 1.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonsoir Titi95,

    Merci de votre aide,

    j'ai pu résoudre le Problème, comme ci-dessous.
    Toujours avec un soutien
    Cordialement



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub NBR_SERIE_FEEDER_BeforeUpdate(Cancel As Integer)
    Me.Numero_de_Serie = Me.NBR_SERIE_FEEDER
     Me.DESIGNATION = DLookup("DESIGNATION", "T_enregistrement_Feeders", "[Numero_de_Serie]='" & Forms![F_INTERVENTION]![Numero_de_Serie] & "'")
        Me.Origine = DLookup("Origine", "T_enregistrement_Feeders", "[Numero_de_Serie]='" & Forms![F_INTERVENTION]![Numero_de_Serie] & "'")
        Me.INTITULEDEF = DLookup("INTITULEDEF", "T_Mise_Reparation", "[Numero_de_Serie]='" & Forms![F_INTERVENTION]![Numero_de_Serie] & "'")
         Me.TypePanne = DLookup("TYPEPANNE", "T_Mise_Reparation", "[Numero_de_Serie]='" & Forms![F_INTERVENTION]![Numero_de_Serie] & "'")
         Me.Affiche_NumSerie = DLookup("Numero_de_Serie", "T_enregistrement_Feeders", "[Numero_de_Serie]='" & Forms![F_INTERVENTION]![Numero_de_Serie] & "'")
     
    End Sub


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub MAJ_DATE_DE_FIN_DE_REPARATION()
       Dim Db As DAO.Database
        Dim SQL  As String
        Set Db = CurrentDb
        SQL = "UPDATE T_Mise_Reparation SET T_Mise_Reparation.DATE_DE_FIN_REPARATION = Now()" _
        & " WHERE T_Mise_Reparation.Numero_de_Serie='" & Numero_de_Serie & "'"
        Db.Execute SQL
    End Sub
    Images attachées Images attachées  

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

Discussions similaires

  1. [VBA] Comment supprimer une ligne entiere dans excel
    Par babouoles dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/07/2017, 08h34
  2. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  3. TListView, comment supprimer une ligne
    Par James_ dans le forum C++Builder
    Réponses: 6
    Dernier message: 23/06/2006, 15h01
  4. [JTreeTable] comment supprimer une ligne
    Par seiryujay dans le forum Composants
    Réponses: 10
    Dernier message: 03/08/2005, 09h12
  5. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03

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