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

VBA Access Discussion :

Probleme CurrentDb.Execute Sql


Sujet :

VBA Access

  1. #1
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut Probleme CurrentDb.Execute Sql
    Bonjour voila je suis entrein de développer une application access concernant des interventions que mon entreprise doit effectuer ! Un intervention peut avoir plusieurs observations... j'ai crée un formulaire de suppression d'intervention avec un sous formulaire observation... cependant pour supprimer les observation de l'intervention je suis obligé de passer par vba.
    Le soucis c'est que vba me donne une erreur et je ne vois pas comment la résoudre !

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Boutonsupprinter_Click()
     
    Dim Sql As String
    If MsgBox("Etes vous sûr de vouloir supprimer cet enregistrement?", vbYesNo + vbCritical, "Suppression") = vbNo Then Exit Sub
     
    Sql = " Delete FROM Intervention, observations WHERE Intervention.nointervention=observations.nointervention And Intervention.NoIntervention= '" & Me.TNoIntervention & "';"
     
    CurrentDb.Execute Sql
     
    MsgBox ("L'enregistrement a bien été supprimé")
     
    End Sub
    voici l'erreur :



    merci par avance...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    bonjour ton NoIntervention est de type string ?
    Sinon enlève les ' de ta chaine sql ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Boutonsupprinter_Click()
     
    Dim Sql As String
    If MsgBox("Etes vous sûr de vouloir supprimer cet enregistrement?", vbYesNo + vbCritical, "Suppression") = vbNo Then Exit Sub
     
    Sql = " Delete FROM Intervention, observations WHERE Intervention.nointervention=observations.nointervention And Intervention.NoIntervention= " & Me.TNoIntervention & ";"
     
    CurrentDb.Execute Sql
     
    MsgBox ("L'enregistrement a bien été supprimé")
     
    End Sub

  3. #3
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Euu, moi je fais pas du tout comme ça pour supprimer un enregistrement.
    Pour ton cas, ça donnerait quelque chose comme ça :
    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 Boutonsupprinter_Click()
        'Déclaration des variables
        Dim bd As Database
        Dim tIntervention As Recordset
        Dim critere As String
     
        If MsgBox("Etes vous sûr de vouloir supprimer cet enregistrement?", vbYesNo + vbCritical, "Suppression") = vbNo Then Exit Sub
     
        'Positionnement sur la BDD Intervention
        Set bd = CurrentDb
        Set tIntervention = bd.OpenRecordset("Intervention", DB_OPEN_DYNASET)
     
        'Création d'un critère de suppression
        critere = "NoIntervention=" & Me.TNoIntervention
     
        'Positionnement sur le premier enregistrement correspondant au critère
        'et suppression de cet enregistrement
        tIntervention.FindFirst critere
        tIntervention.Delete
     
        MsgBox ("L'enregistrement a bien été supprimé")
    End Sub
    En espérant t'avoir aidé

  4. #4
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    tout d'abord je vous remercie de votre aide...

    en ce qui regarde la reponse que m'a donné alain rien ne change, il ya toujours la meme erreur...

    pour azertix : nouvelle erreur -> tIntervention.Delete

  5. #5
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Quelle est l'erreur exacte ?

    Tu n'as pas répondu à la question d'alaingui : ton NoIntervention est de quel type ? Entier ? Chaine ?

  6. #6
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    il est en numeroauto ...
    il me souligne CurrentDb.Execute Sql en jaune...

  7. #7
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Ok donc si c'est un numéro auto, il ne faut pas de ' comme te l'a précisé alaingui
    Par contre, je voulais savoir l'erreur exacte, mais de la solution que je t'avais proposé ^^

  8. #8
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    enfin il me surligne pluot ^^

  9. #9
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    comment puis je la voir ??

  10. #10
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Ben que te dit Access quand tu exécute ma solution ?

  11. #11
    Membre averti
    Inscrit en
    Février 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 56
    Par défaut
    Bonjour

    Tu peux utiliser une requêtte suppression de type sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim qd As Querydef
    Set qd = dbs.CreateQuerydef("", "DELETE * FROM " & Nomdetatable & _
    & " WHERE NoIntervention=" & Me.TNoIntervention)
    qd.Execute dbFailOnError
    Set qd = Nothing

  12. #12
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    Pour azertix :

    Impossible de supprimer ou de modifier l'enregistrement car la table Observations comprend des enregistrements connexes.

    midasios je test et je te dit

  13. #13
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    pour midasios : syntaxe incorrect...

  14. #14
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Ah ben ça veut dire, que ta table possède des clés étrangères, donc on ne peut pas supprimer cet enregistrement car il a un lien avec une autre table (Observations, visiblement). Donc pour pouvoir t'aider, il faudrait que je voie à quoi ressemble la BDD. Tu peux faire un screen de tes relations ?

    D'ailleurs, si tu as cette erreur avec ma solution, ça ne fonctionnera pas non plus avec une requète SQL ...

  15. #15
    Membre averti
    Inscrit en
    Février 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 56
    Par défaut
    oui tout à fait, essaye de nous donner des shotscreens desdifférents élements de ta base, peut etre qu'il y a qcq chose qui marche pas, je ne sais pas .....

  16. #16
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    voila ma bdd ->

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Par défaut
    Il faut ajouter dans les options de ta relation (entre intervention et observation) en faisant un double clique :

    Effacer en cascade les enregistrements correspondants ==> OUI

  18. #18
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    merci bien j'en apprend des chauses ^^ même pas besoin de vba...

    Un grand merci aussi a mediasios et azertix

    mais le gagnant est alaingui lol

    je vous contacte si j'ai encore besoin de vous bonne fin de journée +++

  19. #19
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    De rien, on est là pour ça
    Tu as utilisé ma méthode finalement ?
    Clique sur le bouton Résolu, si ton problème est résolu

  20. #20
    Membre confirmé Avatar de Luisito31
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 239
    Par défaut
    bin finalement je n'ai pas utiliser le vba mais uniquement le bouton supprimer cependant lorsque je supprime une intervention l'ecran est ensuite vide... que puis je faire pour qu'apres la supression mon prog retroune sur le menu de recherche d'intervention ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/04/2009, 07h12
  2. probleme d'execution de requete sql via perl
    Par juzii dans le forum Windows
    Réponses: 0
    Dernier message: 14/07/2008, 15h53
  3. [Connexion BDD Requete SQL] Probleme d'execution
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/07/2007, 08h22
  4. Réponses: 26
    Dernier message: 23/06/2006, 15h45
  5. probleme d'execution d'une requete sql
    Par rootdaoud dans le forum SGBD
    Réponses: 2
    Dernier message: 13/09/2005, 17h15

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