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 un enregistrement d'une table à partir d'un formulaire


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut supprimer un enregistrement d'une table à partir d'un formulaire
    Bonjour à tous,

    Voilà j'ai un petit souci, j'ai regardé dans différent post et dans la FAQ mais n'est rien trouvé à ce que je rencontre.

    j'ai un formulaire et je souhaiterais supprimer des enregistrements, j'ai crée à l'aide de l'assistant un bouton : supprimer un enregistrement mais lorsque je clique sur le bouton, l'enregistrement est supprimé dans le formulaire mais j'ai remarqué qu'il était toujours présent dans ma table.

    Le code du bouton est le suivant:
    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
    Private Sub Commande40_Click()
    On Error GoTo Err_Commande40_Click
     
     
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
     
    Exit_Commande40_Click:
        Exit Sub
     
    Err_Commande40_Click:
        MsgBox Err.Description
        Resume Exit_Commande40_Click
     
    End Sub
    en regardant sur different posts j'ai trouvé ce code différent:
    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
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
     
    DoCmd.RunCommand acCmdDeleteRecord
     
    Supp_Exit:
      Exit Sub
     
    Supp_Err:
      Select Case Err.Number
      Case 2046
        ' la commande 'DeleteRecord' n'est pas disponible pour l'instant
      Case 2501
        ' l'action de suppression a été annulée
      Case Else
        MsgBox Me.Name & " - Erreur #" & Err.Number & " : " & Err.Description, _
               vbInformation, "Erreur inattendue"
      End Select
      Resume Supp_Exit
    End Sub
    mais le résultat est le même,
    le code semble bon je pense que le problème vient des propriétés du formulaire, ou du type de jointure de mes tables mais n'est pas réussit à remédié au problème.
    Comment faire pour supprimer mon enregistrement dans la table depuis le formulaire?
    Pouvez vous m'aider?
    Merci à vous.

  2. #2
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Salut,

    Tu devrais essayer de te déplacer dans ton jeux d'enregistrement après la suppression.

    Mais ça n'est qu'une suggestion.
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  3. #3
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Je dis peut être une grosse bétisse mais en fessant une requête SQL dans ton code.
    DELETE champs1, champs2 FROM Table WHERE champs1 = ...
    Mais je suis pas dutout sûr de moi, mais c'est peut-être une piste à suivre.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Le code semble bon. Il faut vérifier les propriétés de ton formulaire : la rubrique "Supp autorisée" est-elle sur "oui".

    Bonne continuation

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 209
    Points : 19 311
    Points
    19 311
    Billets dans le blog
    61
    Par défaut
    tu as aussi l'option de faire 1 requery:

    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
     
    Sub cmdSupp_Click()
     
    On Error GoTo Supp_Err
     
    dim msg as integer, rs as recordset 
     
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
     
       If (msg = vbYes) Then
       Set rs = Me.RecordsetClone
     
       rs.Delete
       rs.MoveFirst  ' ou rs.movelast
     
       Me.Requery  ' facultatif
       Me.Bookmark = rs.Bookmark
     
       rs.Close
       End If
     
    Supp_Exit:
    Exit Sub
     
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
     
    end sub

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Salut à tous,

    Citation Envoyé par javelot69
    Bonjour,

    Le code semble bon. Il faut vérifier les propriétés de ton formulaire : la rubrique "Supp autorisée" est-elle sur "oui".

    Bonne continuation
    J'ai vérifié dans les propriétés du formulaire c’est bien sur oui, le problème vient ne vient pas de là.

    supernova: je me suis déplacer dans mes enregistrements après la suppression, l'enregistrement ne fait plus partit du formulaire mais est toujours présent dans la table, et entraîne un erreur liée au doublon si on le ressaisie.

    Citation Envoyé par milia
    Je dis peut être une grosse bêtise mais en fessant une requête SQL dans ton code.
    DELETE champs1, champs2 FROM Table WHERE champs1 = ...
    Mais je suis pas dutout sûr de moi, mais c'est peut-être une piste à suivre.
    En effet, je pense qu'il est possible de réaliser une suppression à partir d'une requête SQL, mais j'espérais un moyen plus simple de le faire.

    En fait, mon formulaire possède une clé étrangère d'une autre table, j'ai remarqué que lorsque je supprimais un enregistrement dans le formulaire, l'enregistrement était toujours dans ma table sauf la clé étrangère qui était supprimée.
    Comment faire pour que la suppression ne supprime pas uniquement la clé étrangère, mais tout l'enregistrement dans ma table?
    Merci de votre aide,
    Je continue à chercher la piste de milia,

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Voilà où j'en suis:
    j'ai affecté une requête delete sur les enregistrements de mon formulaire
    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
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
     
    Dim msg As Integer, SQL As String
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
     
       If (msg = vbYes) Then
        SQL = "DELETE HELICOPTER.Aircraft_Register, HELICOPTER.Helicopter_Model, HELICOPTER.SN, HELICOPTER.Registration_History, HELICOPTER.Flotation_Status, HELICOPTER.Helicopter_Family, HELICOPTER.Country_Helicopter, HELICOPTER.Last_Update_Date, HELICOPTER.Last_Update_Person, HELICOPTER.Photo, HELICOPTER.Float_Manufacturer, [HELI OPERA].Operator_Name FROM HELICOPTER INNER JOIN [HELI OPERA] ON HELICOPTER.Aircraft_Register = [HELI OPERA].Aircraft_Register WHERE HELICOPTER.Aircraft_Register = Me.Aircraft_Register ;"
        DoCmd.RunSQL SQL
       End If
     
    Supp_Exit:
    Exit Sub
     
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE HELICOPTER.Aircraft_Register = Me.Aircraft_Register
    je suis pas très sur que cela marche?

    La fenêtre ("Souhaitez-vous supprimer l'enregistrement ?" s'affiche correctement mais un message de Microsoft Office Access me demande de spécifier la table contenant les enregistrements que vous voulez supprimer.
    Bizard j’ai pourtant déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM HELICOPTER INNER JOIN [HELI OPERA] ON HELICOPTER.Aircraft_Register = [HELI OPERA].Aircraft_Register
    .
    Quelqu’un aurait-il une idée sur le problème?
    Merci d’avance

  8. #8
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Bonjour,

    déjà si tu veux supprimer tous les champs met plutôt
    " DELETE * FROM ... WHERE ..." ça sera plus lisible pour tes successeurs.

    Et je crois qu'avant ta requête, il faut qu'en quelque sorte tu te connect à la table.
    Je ne suis pas sur de ce qu'il faut écrire mais moi pour une de mes requetes c'était:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Dim connec As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim reqSQL1 As String
     
    Set connec = CurrentProject.Connection
     
    reqSQL1 = "la requete"
     
    rs.Open reqSQL1, connec, adOpenDynamic, adLockOptimistic
    mais c'était une requete pour l'envoi de mails donc c'est peut-etre une connection particulière.

    En espèrant t'avoir aidé

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Merci milia pour ton aide,

    A quoi correspond ton connec et ADODB?
    Citation Envoyé par milia
    Dim connec As New ADODB.Connection

  10. #10
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    connect c'est moi qui le déclare et ADODB ça doit être une variable d'access.
    Mais comme j'ai dit précédement, ce code je m'en suis servi pour l'envoi massif d'email et je l'ai trouvé sur un site donc c peut être pas pour ça ou c'est exactement comme ça que tu dois faire.

    Tu as essayé, il te met quoi comme erreur?

  11. #11
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    j'ai essayé ceci:

    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
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
    Dim connec As New helicopter.Connection
    Dim rs As New helicopter.Recordset
    Dim reqSQL1 As String
     
    Set connec = CurrentProject.Connection
     
    reqSQL1 = "SQL"
     
    rs.Open reqSQL1, connec, adOpenDynamic, adLockOptimistic
     
    Dim msg As Integer, SQL As String
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
     
       If (msg = vbYes) Then
        SQL = "DELETE HELICOPTER.Aircraft_Register, HELICOPTER.Helicopter_Model, HELICOPTER.SN, HELICOPTER.Registration_History, HELICOPTER.Flotation_Status, HELICOPTER.Helicopter_Family, HELICOPTER.Country_Helicopter, HELICOPTER.Last_Update_Date, HELICOPTER.Last_Update_Person, HELICOPTER.Photo, HELICOPTER.Float_Manufacturer, [HELI OPERA].Operator_Name FROM HELICOPTER INNER JOIN [HELI OPERA] ON HELICOPTER.Aircraft_Register = [HELI OPERA].Aircraft_Register WHERE HELICOPTER.Aircraft_Register = Me.Aircraft_Register ;"
        DoCmd.RunSQL SQL
       End If
     
    Supp_Exit:
    Exit Sub
     
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
     
    End Sub
    l'erreur renvoyé est : Erreur de compilation:
    Type défini par l'utilisateur non défini


    Normal mais je sais pas quoi mettre, nom de ma table, du formulaire, de ma requête

  12. #12
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Non, tu laisse ADODB, ça doit être un paramètre spécial à access. (car perso ça ne correspond à rien dans ma base de données et ça ne m'a mis aucune erreur).
    Essaye avec ADODB et si ça met une erreur c'est qu'on est peut-être sur la mauvaise piste.

  13. #13
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Ou bien mais des crochets pour les tables comme ceci:

    DELETE [HELICOPTER].[Aircraft_Register]

    et as tu bien écris le nom de ta table "HELICOPTER", elle écrit en majuscule entièrement dans ta base?

  14. #14
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Je viens de relire un peu ton code, il y a une truc qui va pas.

    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
    
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
    Dim connec As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim msg As Integer, SQL As String
    
    Set connec = CurrentProject.Connection
    
    
    
    
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
       
       If (msg = vbYes) Then
        SQL = "DELETE * FROM [HELICOPTER]  WHERE [HELICOPTER].[Aircraft_Register] = Me.Aircraft_Register ;"
    rs.Open SQL, connec, adOpenDynamic, adLockOptimistic
        DoCmd.RunSQL SQL
       End If
    
    
    
    Supp_Exit:
    Exit Sub
    
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
    
    End Sub

    Mais je te le répéte encore c peut être pas dutout la bonne solution
    et le Me dans la requête ça ne va surement pas marcher!

  15. #15
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    En laissant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
     
    Dim connec As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim reqSQL1 As String
     
    Set connec = CurrentProject.Connection
     
    reqSQL1 = "SQL"
     
    rs.Open reqSQL1, connec, adOpenDynamic, adLockOptimistic
    et en changeant juste la requête en SQL, l'erreur renvoyée est:Instruction SQL non valide;'DELETE','INSERT','PROCEDURE','SELECT'ou'UPDATE' attendus.

    Citation Envoyé par milia
    as tu bien écris le nom de ta table "HELICOPTER", elle écrit en majuscule entièrement dans ta base?
    la table s'appelle bien HELICOPTER mais un champ appartient a la table HELI OPERA, (c'est du a lui que le bouton supprimer de l'assistant ne marche pas)

  16. #16
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    c'est normal tu ne dois pas mettre

    reqSQL1 = "SQL"
    à la place de SQL tu dois mettre ta requete, en effet il attend une requête.

    et je pense que tu ne peux être pas joindre deux tables pour la suppression et s'il y a deux tables, il faut que tu le précise dans ta requête:
    FROM TABLE1, TABLE2.

    mais je crois que l'on est parti pour se perdre un peu dans l'objectif car peut être que ce que tu as fait été bon au départ à part ta requête. IL faudrait revoir la requete.

  17. #17
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    j'ai fais une requête SELECT avec tout les champ que je voulais supprimer dans les deux tables.
    La fenêtre ("Souhaitez-vous supprimer l'enregistrement ?" s'affiche correctement mais un message de Microsoft Office Access me demande de spécifier la table contenant les enregistrements que vous voulez supprimer.

    J'vois vraiment pas, ... pourquoi la pratique n'est pas aussi simple que la théorie?

  18. #18
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    On reprend de ton code qui était celui du départ, qui est celui-ci:

    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
     
     
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
     
    Dim msg As Integer, SQL As String
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
     
       If (msg = vbYes) Then
        SQL = "DELETE HELICOPTER.Aircraft_Register, HELICOPTER.Helicopter_Model, HELICOPTER.SN, HELICOPTER.Registration_History, HELICOPTER.Flotation_Status, HELICOPTER.Helicopter_Family, HELICOPTER.Country_Helicopter, HELICOPTER.Last_Update_Date, HELICOPTER.Last_Update_Person, HELICOPTER.Photo, HELICOPTER.Float_Manufacturer, [HELI OPERA].Operator_Name FROM HELICOPTER INNER JOIN [HELI OPERA] ON HELICOPTER.Aircraft_Register = [HELI OPERA].Aircraft_Register WHERE HELICOPTER.Aircraft_Register = Me.Aircraft_Register ;"
        DoCmd.RunSQL SQL
       End If
     
    Supp_Exit:
    Exit Sub
     
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
     
    End Sub


    Je modifie ce que je pense, comme ceci en rouge:

    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
    
    Sub cmdSupp_Click()
    On Error GoTo Supp_Err
    
    Dim msg As Integer, SQL As String
    msg = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
       
       If (msg = vbYes) Then
        SQL = "DELETE HELICOPTER.Aircraft_Register, HELICOPTER.Helicopter_Model, HELICOPTER.SN, HELICOPTER.Registration_History, HELICOPTER.Flotation_Status, HELICOPTER.Helicopter_Family, HELICOPTER.Country_Helicopter, HELICOPTER.Last_Update_Date, HELICOPTER.Last_Update_Person, HELICOPTER.Photo, HELICOPTER.Float_Manufacturer, [HELI OPERA].Operator_Name 
    FROM [HELICOPTER], [HELI OPERA]
    WHERE HELICOPTER.Aircraft_Register = Me.Aircraft_Register ;"
        DoCmd.RunSQL SQL
       End If
    
    Supp_Exit:
    Exit Sub
    
    Supp_Err:
    MsgBox Err.Description
    Resume Supp_Exit
    
    End Sub
    Et je pense que le Me ne devrait pas y être, j'y réfléchis.
    Sinon, vu qu'il y a deux tables, tu le fais sur deux requetes, c'est pas un problème et ça sera peut être plus clair.

    Par contre quand il te dit l'erreur, il te montre pas une parti du code?

  19. #19
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    j'ai repris tes modifications, l'erreur est la même que précédente
    et ne revoie pas a une partie du code.

    j'aime pas trop le Me. également
    peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    HELICOPTER!Aircraft_Register like '" & Me.Aircraft_Register & "'
    Merci pour le temps consacré à mon problème.

  20. #20
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Tu vas voir que c'est à cause du Me que ça ne marche pas!
    déjà je crois que c'est Me!Aircraft_Register, je crois.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/07/2013, 10h18
  2. Réponses: 1
    Dernier message: 12/11/2011, 19h07
  3. Réponses: 1
    Dernier message: 26/08/2009, 09h41
  4. Réponses: 7
    Dernier message: 14/03/2009, 12h36
  5. [MySQL] Modification des enregistrements d'une table à partir d'un formulaire
    Par Maria1505 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 18/12/2006, 18h32

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