Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2011, 12h55   #1
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
Par défaut erreur d’exécution 3167

bonjour ,
voici le code qui produit mon erreur 3167
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Dim str As String
        Dim strb As String
        Dim sql As Recordset
        Dim sqlb As Recordset
        str = "select jourPeriode,matriculeSalarie from journee where codeRubrique = 'TYPE_CONTRAT' and valeur = 1"
        Set sql = CurrentDb().OpenRecordset(str)
        Do While Not sql.EOF
            strb = "delete * from journee where jourPeriode = #" & Format(sql!jourPeriode, "MM/dd/yyyy") & "# and matriculeSalarie =" & sql!matriculeSalarie & ""
            DoCmd.RunSQL strb
            sql.MoveNext
        Loop
        sql.Close
        Set sql = Nothing
le debogueur surligne la ligne sql.movenext
je n'arrive pas a trouver le problème

j'ai essayer en ajoutant DoCmd.RunCommand acCmdSaveRecord mais ça ne change rien
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 13h11   #2
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 805
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 805
Points : 3 003
Points : 3 003
Bonjour,

As-tu vérifié que ta requête "select" retourne des enregistrements ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 13h53   #3
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
oui oui (des milliers même)
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 14h20   #4
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
si je tente ma requete avec
Code :
1
2
 
Set sqlb = CurrentDb().OpenRecordset(strb)
a la place de "DoCmd.RunSQL strb"


j'ai l'erreur 3219 Operation non valide
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 14h39   #5
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
j'ai contourné le problème mais je voudrais savoir si vous penser que c'est bon ou pas ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Dim str As String
        Dim strb As String
        Dim sql As Recordset
        Dim sqlb As Recordset
        str = "select jourPeriode,matriculeSalarie from journee where codeRubrique = 'TYPE_CONTRAT' and valeur = 1"
        Set sql = CurrentDb().OpenRecordset(str)
        CurrentDb().Close
        DoCmd.RunCommand acCmdSaveRecord
        Do While Not sql.RecordCount = 0
            strb = "delete * from journee where jourPeriode = #" & Format(sql!jourPeriode, "MM/dd/yyyy") & "# and matriculeSalarie =" & sql!matriculeSalarie & ""
            DoCmd.RunSQL strb
            sql.Close
            Set sql = Nothing
            Set sql = CurrentDb().OpenRecordset(str)
        Loop
        sql.Close
        Set sql = Nothing
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h54.


 
 
 
 
Partenaires

Hébergement Web