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 :

erreur 1004 dans une requete SQL BOF EOF enregistrement actuel


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 39
    Points
    39
    Par défaut erreur 1004 dans une requete SQL BOF EOF enregistrement actuel
    Bonjour,
    Dans une requete j'ai le message d'erreur "code 1004" quelqu'un a t il quelques info qui pourraient guider ma reflexion sur ce probleme ?

    une precision sur le message d'erreur qui est le suivant :
    erreur d'execution 1004
    BOF ou EOF est égal a true ou l'enregistrement actuel a été supprimé.
    L'opération demandée demande un enregistrement actuel.


    voici la partie du code qui pose probleme
    en rouge et gras la condition () qui lorsqu'elle est présente genere l'erreur si je la retire tout est ok ?


    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
    32
    33
    34
    35
    36
    37
    sql_notif = " TRANSFORM Sum(t_dot_cper.montant/1000) AS toto " _
    & " SELECT t_projets.id_proj, t_projets.Numero_Projet, t_projets.Num_Ordre_Projet,t_dot_cper.id_suppr " _
    & " FROM ((((t_projets LEFT JOIN t_dot_cper ON t_projets.id_proj = t_dot_cper.id_proj)" _
    & " LEFT JOIN T_lien_projets_dr ON t_projets.id_proj = T_lien_projets_dr.id_proj)" _
    & " LEFT JOIN t_lien_projets_ds ON t_projets.id_proj = t_lien_projets_ds.id_proj) " _
    & " LEFT JOIN t_lien_projets_regdpa ON t_projets.id_proj = t_lien_projets_regdpa.id_proj) " _
    & " LEFT JOIN t_reg_dpa ON t_lien_projets_regdpa.id_REGDPA = t_reg_dpa.COD_REG_DPA " _
    & condition & " and t_dot_cper.id_suppr = 0 " _
    & " GROUP BY t_projets.id_proj, t_projets.Numero_Projet, t_projets.Num_Ordre_Projet, t_reg_dpa.COD_REG_DPA, " _
    & " t_projets.cotation, t_projets.Responsable_Scientifique_Projet, t_projets.cotation, t_dot_cper.id_suppr " _
    & " ORDER BY T_projets.Numero_Projet, T_projets.Num_Ordre_Projet " _
    & " PIVOT t_dot_cper.exercice In (2007,2008,2009,2010,2011,2012,2013) "
     
     
    r.Source = sql_notif
    r.Open
    For i = 1 To nbenreg
    With etat1
    .Cells(i + 1, 26).Value = r.Fields("numero_projet")
    .Cells(i + 1, 27).Value = r.Fields("2007")
    .Cells(i + 1, 28).Value = r.Fields("2008")
    .Cells(i + 1, 29).Value = r.Fields("2009")
    .Cells(i + 1, 30).Value = r.Fields("2010")
    .Cells(i + 1, 31).Value = r.Fields("2011")
    .Cells(i + 1, 32).Value = r.Fields("2012")
    .Cells(i + 1, 33).Value = r.Fields("2013")
    .Cells(i + 1, 34).Value = r.Fields("id_suppr")
     
    End With
     
    r.MoveNext
    Next i
     
     
    monappli.Visible = True
    Set monappli = Nothing
    r.Close
    D'avance merci

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Le recordset est vide (aucun enregistrement) car la requête source ne retourne rien.

    Quand un recordset est vide, BOF=True et EOF=True.
    Si juste après l'ouverture du recordset EOF=True alors il est vide.

    Code vb : 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
    r.Source = sql_notif
    r.Open
    If Not r.EOF Then
        ' Recordset non vide
        For i = 1 To nbenreg
            With etat1
                .Cells(i + 1, 26).Value = r.Fields("numero_projet")
                .Cells(i + 1, 27).Value = r.Fields("2007")
                .Cells(i + 1, 28).Value = r.Fields("2008")
                .Cells(i + 1, 29).Value = r.Fields("2009")
                .Cells(i + 1, 30).Value = r.Fields("2010")
                .Cells(i + 1, 31).Value = r.Fields("2011")
                .Cells(i + 1, 32).Value = r.Fields("2012")
                .Cells(i + 1, 33).Value = r.Fields("2013")
                .Cells(i + 1, 34).Value = r.Fields("id_suppr")		
            End With        
            r.MoveNext
        Next i
    Else
       ' recordset vide
    End If
    A+

Discussions similaires

  1. Erreur dans une requete sql
    Par thebarbarius dans le forum Langage
    Réponses: 15
    Dernier message: 24/04/2012, 20h40
  2. Erreur dans une requete SQL
    Par snopims dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/05/2009, 15h24
  3. Erreur de syntaxe dans une requete SQL
    Par fikou dans le forum VB.NET
    Réponses: 5
    Dernier message: 26/07/2007, 17h14
  4. Erreur dans une requete SQL
    Par Seth77 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/09/2006, 12h17
  5. erreur dans une requete sql
    Par Skizo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/05/2006, 15h57

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