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 :

Utilisation incorrecte de null [AC-365]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 166
    Par défaut Utilisation incorrecte de null
    Bonjour,
    Dans un publipostage je souhaite afficher l'information "Votre circuit comporte une borne thématique, merci de joindre sa photo à votre compte rendu de balisage" si la valeur de champ "Bornes" de la requête "R_Publipostage_Circuits_Bornes" est Oui et si la valeur est Non ne rien afficher. C'est dans ce cas que l'erreur apparait.

    Merci d'avance pour votre aide.

    Bonne journée.

    Erreur d'exécutions 94 Utilisation incorrecte de Null dans le code VBA ci-dessous à la ligne 34.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    Sub Fiche()
        Dim wApp As Word.Application
        Dim chemin As String
        Dim sqlA As String, sqlS As String, sqlB As String, sqlC As String
        Dim rsA As DAO.Recordset, rsS As DAO.Recordset, rsB As DAO.Recordset, rsC As DAO.Recordset
        Dim db As DAO.Database
        Set db = CurrentDb
        sqlA = "SELECT * FROM R_Publipostage_Adherents" & _
        " LEFT JOIN R_Publipostage_Circuits ON R_Publipostage_Adherents.numero = R_Publipostage_Circuits.numero" & _
        " WHERE Nz([R_Publipostage_Circuits.numero],0)=390.3;" 'Renseigner le Numéro adhérent pour éditer son courrier
        Set rsA = db.OpenRecordset(sqlA)
        Set wApp = New Word.Application
        wApp.Visible = True
        chemin = CurrentProject.Path
        While Not rsA.EOF
            With wApp
         cptLigneAdr = 0
        Set wDoc = wApp.Documents.Open(chemin & "\Modèle-circuits-attribués-2026.docx") 'mettre l'année à jour
     
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("civilite") & " " & UCase(rsA.Fields("nom_adhe")) & " " & rsA.Fields("prenom")
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("adresse")
    If rsA.Fields("addresse2") <> " " Then
        cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("addresse2")
    End If
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("CodePostal") & " " & UCase(rsA.Fields("ville"))
            wDoc.Bookmarks("Prenom1").Range.Text = rsA.Fields("Prenom")
    
                sqlC = "SELECT * FROM R_Publipostage_Circuits_Bornes WHERE numero_adhe=" & rsA.Fields("R_Publipostage_Adherents.numero")
                Set rsC = db.OpenRecordset(sqlC)
                .ActiveDocument.Bookmarks("InfoBornes").Range.Text = rsC.Fields("Informations")
             'If Not rsC.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsC.Fields("numero_adhe")
     
                sqlB = "SELECT * FROM R_Publipostage_nombrePR WHERE numero=" & rsA.Fields("R_Publipostage_Adherents.numero")
                Set rsB = db.OpenRecordset(sqlB)
                .ActiveDocument.Bookmarks("TotalPR").Range.Text = rsB.Fields("Nbr_PR")
             If Not rsB.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsB.Fields("numero")
    
                '--- tableau
                sqlS = "SELECT * FROM R_Publipostage_Circuits WHERE numero=" & rsA.Fields("R_Publipostage_Adherents.numero")
                Set rsS = db.OpenRecordset(sqlS)
                With .ActiveDocument.Tables(1)
                    While Not rsS.EOF
                        .Rows.Add
                        .Rows.Last.Cells(1).Range.Text = rsS.Fields("secteur_balirando")
                        .Rows.Last.Cells(2).Range.Text = UCase(rsS.Fields("Code"))
                        .Rows.Last.Cells(3).Range.Text = rsS.Fields("nom_pr")
                        .Rows.Last.Cells(4).Range.Text = UCase(rsS.Fields("depart"))
                        .Rows.Last.Cells(5).Range.Text = rsS.Fields("balisage")
                        rsS.MoveNext
                    Wend
                End With
     
                '---
                '.ActiveDocument.PrintOut Mettre l'année à jour
                .ActiveDocument.SaveAs "C:\Users\balir\BALIRANDO\2026\Publipostage\Attribution circuits\Adhérent unique\" & _
                "\Circuits " & Format(Date, "yyyy") & " " & _
                          rsA.Fields("nom_adhe") & " " & rsA.Fields("prenom") & ".docx"
     
     
                .ActiveDocument.Close (wdDoNotSaveChanges)
            End With
            rsA.MoveNext
        Wend
        rsS.Close:  Set rsS = Nothing
        rsA.Close:  Set rsA = Nothing
        db.Close:   Set db = Nothing
        Set wApp = Nothing
    End Sub
    Ci-dessous le code SQL de la requête R_Publipostage_Circuits_Bornes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
        T_Circuits.numero_adhe,
        T_Circuits.code,
        T_Circuits.Secteur_Balirando,
        T_Circuits.nom_pr,
        T_Circuits.Bornes,
        IIf(
            [Bornes] = "Non",
            NULL,
            "Votre circuit comporte une borne thématique, merci de joindre sa photo à votre compte rendu de balisage "
        ) AS Informations
    FROM
        T_Circuits;

  2. #2
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 643
    Par défaut
    bonjour,
    Code ligne 34 : Sélectionner tout - Visualiser dans une fenêtre à part
    .ActiveDocument.Bookmarks("InfoBornes").Range.Text = "" & rsC.Fields("Informations")
    si tu concatènes ""& null plus d'erreur

  3. #3
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 443
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 443
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    sinon, une autre possibilité, dans le code SQL de la requête R_Publipostage_Circuits_Bornes

    changer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        IIf(
            [Bornes] = "Non",
            NULL,
            "Votre circuit comporte une borne thématique, merci de joindre sa photo à votre compte rendu de balisage "
        ) AS Informations
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        IIf(
            [Bornes] = "Non",
            "",
            "Votre circuit comporte une borne thématique, merci de joindre sa photo à votre compte rendu de balisage "
        ) AS Informations

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 166
    Par défaut
    Bonsoir tototiti2008 et Thumb down,

    Vos solutions fonctionnent dans le cas ou le destinataire n'a que des circuits avec bornes thématiques (voir image1), par contre si le destinataire à 1 circuit avec borne thématique et 1 sans borne thématique l'information ne s'affiche pas. (voir image2).

    Image1

    Nom : Image1.jpg
Affichages : 92
Taille : 40,6 Ko

    Image2

    Nom : Image2.jpg
Affichages : 87
Taille : 40,2 Ko

    Merci d'avance si vous avez une solution à mon problème.

    Bonne soirée.

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 643
    Par défaut
    bonjour,
    si l'information est null je vois pas comment il pourrait en être autrement.

    Sinon aulieu de null ou "" tu mets "Pas de bol!"

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    bonsoir,
    Citation Envoyé par arverne63
    Vos solutions fonctionnent dans le cas ou le destinataire n'a que des circuits avec bornes thématiques (voir image1), par contre si le destinataire à 1 circuit avec borne thématique et 1 sans borne thématique l'information ne s'affiche pas. (voir image2).
    le problème est que la requête R_Publipostage_Circuits_Bornes peut renvoyer plusieurs enregistrements (un par circuit), dans ce cas, il affichera la première occurrence trouvée de rsC.Fields("Informations") dans InfoBornes qui est unique, visiblement.
    Et si l'enregistrement contenant "" dans Informations est le premier du Recordset c'est celui-ci qui sera affiché.
    Solution: il faut trier le Recordset pour être certain d'avoir l'information renseignée si il en existe au moins un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
               sqlC = "SELECT * FROM R_Publipostage_Circuits_Bornes WHERE numero_adhe=" & rsA.Fields("R_Publipostage_Adherents.numero") & " ORDER BY Informations DESC;"
                Set rsC = db.OpenRecordset(sqlC)
                .ActiveDocument.Bookmarks("InfoBornes").Range.Text = rsC.Fields("Informations")

  7. #7
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 166
    Par défaut
    Bonjour tee_grandbois,

    Merci pour ta solution, mais j'ai maintenant une erreur "3265" élément non trouvé dans cette collection à la ligne 30.

    Bonne journée.

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Sub Fiche()
        Dim wApp As Word.Application
        Dim chemin As String
        Dim sqlA As String, sqlS As String, sqlB As String, sqlC As String
        Dim rsA As DAO.Recordset, rsS As DAO.Recordset, rsB As DAO.Recordset, rsC As DAO.Recordset
        Dim db As DAO.Database
        Set db = CurrentDb
        sqlA = "SELECT * FROM R_Publipostage_Adherents"
        Set rsA = db.OpenRecordset(sqlA)
        Set wApp = New Word.Application
        wApp.Visible = True
        chemin = CurrentProject.Path
        While Not rsA.EOF
            With wApp
         cptLigneAdr = 0
        Set wDoc = wApp.Documents.Open(chemin & "\Modèle-circuits-attribués-2026.docx") 'mettre l'année à jour
     
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("civilite") & " " & UCase(rsA.Fields("nom_adhe")) & " " & rsA.Fields("prenom")
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("adresse")
    If rsA.Fields("addresse2") <> " " Then
        cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("addresse2")
    End If
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("CodePostal") & " " & UCase(rsA.Fields("ville"))
            wDoc.Bookmarks("Prenom1").Range.Text = rsA.Fields("Prenom")
    
        sqlC = "SELECT * FROM R_Publipostage_Circuits_Bornes WHERE numero_adhe=" & rsA.Fields("R_Publipostage_Adherents.numero") & " ORDER BY Informations DESC;"
                Set rsC = db.OpenRecordset(sqlC)
                .ActiveDocument.Bookmarks("InfoBornes").Range.Text = rsC.Fields("Informations")
             'If Not rsC.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsC.Fields("numero_adhe")
     
                sqlB = "SELECT * FROM R_Publipostage_nombrePR WHERE numero=" & rsA.Fields("R_Publipostage_Adherents.numero")
                Set rsB = db.OpenRecordset(sqlB)
                .ActiveDocument.Bookmarks("TotalPR").Range.Text = rsB.Fields("Nbr_PR")
             If Not rsB.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsB.Fields("numero")
    
                '--- tableau
                sqlS = "SELECT * FROM R_Publipostage_Circuits WHERE numero=" & rsA.Fields("R_Publipostage_Adherents.numero")
                Set rsS = db.OpenRecordset(sqlS)
                With .ActiveDocument.Tables(1)
                    While Not rsS.EOF
                        .Rows.Add
                        .Rows.Last.Cells(1).Range.Text = rsS.Fields("secteur_balirando")
                        .Rows.Last.Cells(2).Range.Text = UCase(rsS.Fields("Code"))
                        .Rows.Last.Cells(3).Range.Text = rsS.Fields("nom_pr")
                        .Rows.Last.Cells(4).Range.Text = UCase(rsS.Fields("depart"))
                        .Rows.Last.Cells(5).Range.Text = rsS.Fields("balisage")
                        rsS.MoveNext
                    Wend
                End With
     
                '---
                '.ActiveDocument.PrintOut Mettre l'année à jour
                .ActiveDocument.SaveAs "C:\Users\balir\BALIRANDO\2026\Publipostage\Attribution circuits\Adhérent unique\" & _
                "\Circuits " & Format(Date, "yyyy") & " " & _
                          rsA.Fields("nom_adhe") & " " & rsA.Fields("prenom") & ".docx"
     
     
                .ActiveDocument.Close (wdDoNotSaveChanges)
            End With
            rsA.MoveNext
        Wend
        rsS.Close:  Set rsS = Nothing
        rsA.Close:  Set rsA = Nothing
        db.Close:   Set db = Nothing
        Set wApp = Nothing
    End Sub

  8. #8
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    bonjour,
    l'erreur 3265 concerne un élément non trouvé dans la collection des champs d'un Recordset dans VBA et pas dans SQL, je pense que c'est cette partie de l'instruction qui en est la cause: rsA.Fields("R_Publipostage_Adherents.numero")
    essaie en enlevant "R_Publipostage_Adherents." :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlC = "SELECT * FROM R_Publipostage_Circuits_Bornes WHERE numero_adhe=" & rsA.Fields("numero") & " ORDER BY Informations DESC;"

  9. #9
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 166
    Par défaut
    Bonsoir,

    J'ai suivi ton idée, je n'ai plus l'erreur 3265 à la ligne 30 mais maintenant c'est à la ligne 35 quelle apparait, j'ai tenté de supprimer R_Publipostage_Adherents dans cette ligne l'erreur est à la ligne 41 et en supprimant aussi R_Publipostage_Adherents dans cette ligne il y a maintenant l'erreur 94 Utilisation incorrecte de Null à la ligne 32.

    Merci beaucoup.

    Bon Dimanche

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Sub Fiche()
        Dim wApp As Word.Application
        Dim chemin As String
        Dim sqlA As String, sqlS As String, sqlB As String, sqlC As String
        Dim rsA As DAO.Recordset, rsS As DAO.Recordset, rsB As DAO.Recordset, rsC As DAO.Recordset
        Dim db As DAO.Database
        Set db = CurrentDb
        sqlA = "SELECT * FROM R_Publipostage_Adherents"
        Set rsA = db.OpenRecordset(sqlA)
        Set wApp = New Word.Application
        wApp.Visible = True
        chemin = CurrentProject.Path
        While Not rsA.EOF
            With wApp
         cptLigneAdr = 0
        Set wDoc = wApp.Documents.Open(chemin & "\Modèle-circuits-attribués-2026.docx") 'mettre l'année à jour
     
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("civilite") & " " & UCase(rsA.Fields("nom_adhe")) & " " & rsA.Fields("prenom")
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("adresse")
    If rsA.Fields("addresse2") <> " " Then
        cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("addresse2")
    End If
            cptLigneAdr = cptLigneAdr + 1
            wDoc.Bookmarks("LigneAdr" & Format(cptLigneAdr, "00")).Range.Text = rsA.Fields("CodePostal") & " " & UCase(rsA.Fields("ville"))
            wDoc.Bookmarks("Prenom1").Range.Text = rsA.Fields("Prenom")
    
        sqlC = "SELECT * FROM R_Publipostage_Circuits_Bornes WHERE numero_adhe=" & rsA.Fields("numero") & " ORDER BY Informations DESC;"
                Set rsC = db.OpenRecordset(sqlC)
                .ActiveDocument.Bookmarks("InfoBornes").Range.Text = rsC.Fields("Informations")
             'If Not rsC.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsC.Fields("numero_adhe")
     
                sqlB = "SELECT * FROM R_Publipostage_nombrePR WHERE numero=" & rsA.Fields("numero")
                Set rsB = db.OpenRecordset(sqlB)
                .ActiveDocument.Bookmarks("TotalPR").Range.Text = rsB.Fields("Nbr_PR")
             If Not rsB.EOF Then wDoc.Bookmarks("NumAdherent").Range.Text = rsB.Fields("numero")
    
                '--- tableau
                sqlS = "SELECT * FROM R_Publipostage_Circuits WHERE numero=" & rsA.Fields("numero")
                Set rsS = db.OpenRecordset(sqlS)
                With .ActiveDocument.Tables(1)
                    While Not rsS.EOF
                        .Rows.Add
                        .Rows.Last.Cells(1).Range.Text = rsS.Fields("secteur_balirando")
                        .Rows.Last.Cells(2).Range.Text = UCase(rsS.Fields("Code"))
                        .Rows.Last.Cells(3).Range.Text = rsS.Fields("nom_pr")
                        .Rows.Last.Cells(4).Range.Text = UCase(rsS.Fields("depart"))
                        .Rows.Last.Cells(5).Range.Text = rsS.Fields("balisage")
                        rsS.MoveNext
                    Wend
                End With
     
                '---
                '.ActiveDocument.PrintOut Mettre l'année à jour
                .ActiveDocument.SaveAs "C:\Users\balir\BALIRANDO\2026\Publipostage\Attribution circuits\Adhérent unique\" & _
                "\Circuits " & Format(Date, "yyyy") & " " & _
                          rsA.Fields("nom_adhe") & " " & rsA.Fields("prenom") & ".docx"
     
     
                .ActiveDocument.Close (wdDoNotSaveChanges)
            End With
            rsA.MoveNext
        Wend
        rsS.Close:  Set rsS = Nothing
        rsA.Close:  Set rsA = Nothing
        db.Close:   Set db = Nothing
        Set wApp = Nothing
    End Sub

  10. #10
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    les 2 erreurs ne sont pas liées.
    Pour l'erreur 3265 de la ligne 35, il faut vérifier que le champ numero est présent une seule fois dans la requête R_Publipostage_nombrePR et c'est à faire dans tous les cas où l'erreur apparait.
    Explication: si numero est présent plus d'une fois dans une requête, SQL préfixera chaque champ avec le nom de la table ou la requête (d'où la syntaxe utilisée précédemment: rsA.Fields("R_Publipostage_Adherents.numero")) . Il faut donc être vigilant quand on construit une requête et éviter de mettre 2 fois le même champ si ce n'est pas nécessaire. Si un champ est utilisé une seconde fois pour un critère ou un tri, penser à décocher la case "Afficher".

    pour l'erreur 94, la réponse ne change pas, il faut utiliser la fonction Nz():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ActiveDocument.Bookmarks("InfoBornes").Range.Text = NZ(rsC.Fields("Informations"),"")
    ou, comme déjà suggéré plus haut par tototiti2008, remplacer NULL par "" directement dans la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IIf(
            [Bornes] = "Non",
            "",
            "Votre circuit comporte une borne thématique, merci de joindre sa photo à votre compte rendu de balisage "
        ) AS Informations
    En général, les variables de type Texte n'aiment pas la valeur nulle, il est donc préférable de mettre ""

  11. #11
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 166
    Par défaut
    Bonsoir tee_grandbois,

    Merci beaucoup pour toute ton aide, mon problème est résolu.

    Bonne soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur 94 utilisation incorrecte de null
    Par caossak dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/06/2007, 11h00
  2. Réponses: 3
    Dernier message: 30/03/2007, 14h48
  3. Réponses: 6
    Dernier message: 03/07/2006, 08h26
  4. Utilisation incorrecte de Null ?
    Par pafi76 dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2006, 09h40
  5. Utilisation incorrecte de Null ?
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 23/11/2005, 10h27

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