[VBA] Probleme de requete suppression et ajou

Résolu/Fermé
bitub Messages postés 14 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2008 - 8 juin 2007 à 14:12
bitub Messages postés 14 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2008 - 11 juin 2007 à 08:00
Bonjour, je suis nouveau dans cette communauté et j'aimerai bien un peu d'aide. Voila je suis en stage et je n'arrive pas à supprimer un enregistrement afficher dans une liste.De plus, ensuite il me faut rajouter cette enregistrement mais avec les mise a jour. Peut-être qu'une requête update serai plus adaptée.
A noter que je dispose de 2 tables GRF-A-NTFS et GEX-A-NTFS. Ils ont tous les deux des champs: Partage, Proprietaire, Groupe, Droit. Pour la table GEX-A-NTFS Proprietaire est remplacé par Serveur.
Voici mon code:


Private Sub Ajouter_Click()
 On Error GoTo Err_Ajouter_Click


    DoCmd.GoToRecord , , acNewRec
   
 Dim Partage As String
    Dim Proprietaire As String
    Dim Groupe As String
    Dim Droit As String
    Dim Groupe2 As String
    Dim Droit2 As String
    Dim rep1%
Dim Serveur As String
    Dim Serveur2 As String

 
     Partage = ListeAjoutSA.Column(0)    'permet de recuperer la valeur d'une colonne ou l'on pointe
     Serveur2 = ListeAjoutSA.Column(1)
     Groupe2 = ListeAjoutSA.Column(2)
     Droit2 = ListeAjoutSA.Column(3)    
     
     rep1 = MsgBox("Voulez vous ajouter le partage " & Partage & " dans le référentiel ?", vbYesNo, "Attention !!!") 'Message box d'avertissement qui attend une reponse (oui/non)
    If rep1 = vbYes Then
   
         DoCmd.SetWarnings False 'Permet de desactiver les messages box d'ajout ou de supression de table
        
         
         Proprietaire = InputBox("Entrer Proprietaire " & Chr(10), "Attention!!!", "Saisissez") 'Message box permettant de modifier ou valider une valeur dans un champ de table
         Groupe = InputBox("Entrer Groupe " & Chr(10), "Attention!!!", Groupe2)
         Droit = InputBox("Entrer Droit (L pour lecture, M pour modification, CT pour contrôle total) " & Chr(10), "Attention!!!", Droit2)
         Serveur = InputBox("Entrer Serveur " & Chr(10), "Attention!!!", Serveur2)
        
         DoCmd.RunSQL "INSERT INTO [GRF-A-NTFS] (Partage,Proprietaire,Groupe,Droit) VALUES (Partage,Proprietaire,Groupe,Droit)" 'Requete SQL qui permet d'ajouter un partage dans la table GRF-A-NTFS
         
         
         DoCmd.RunSQL "DELETE * FROM [GEX-A-NTFS] WHERE [GEX-A-NTFS].Partage = Partage  "
         DoCmd.RunSQL "INSERT INTO [GEX-A-NTFS] (Partage, Serveur, Groupe, Droit) VALUES (Partage,Serveur,Groupe,Droit)" 'Requete SQL qui permet d'ajouter un partage dans la table GRF-A-NTFS
   
         DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
         DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
         
         DoCmd.SetWarnings True 'Permet de réactiver les messages box d'ajout ou de supression de table
       
     End If
   Me.ListeAjoutSA.Requery 'Permet de mettre à jour la liste

Exit_Ajouter_Click:
    Exit Sub

Err_Ajouter_Click:
    MsgBox Err.Description
    Resume Exit_Ajouter_Click
    
End Sub



Merci d'avance pour votre aide!!!!!
A voir également:

2 réponses

blux Messages postés 26010 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
8 juin 2007 à 14:59
Salut,

c'est normal que la première requête ne marche pas, à aucun moment tu ne lui dit qu'il doit prendre le contenu de la variable partage...
Dim StrSql As String
StrSql = "DELETE * FROM [GEX-A-NTFS] WHERE [GEX-A-NTFS].Partage = '" & partage & "';"
DoCmd.RunSQL StrSql
Attention, j'ai mis une simple quote pour délimiter partage vu qu'il est déclaré en string...
0
bitub Messages postés 14 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2008
11 juin 2007 à 07:58
Merci beaucoup Blux sa marche nikel. Merci beaucoup de ton attention.
Merci à bientôt.
0
bitub Messages postés 14 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 13 mars 2008
11 juin 2007 à 08:00
Résolu
0