Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 24/11/2010, 15h24   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 51
Points : 10
Points : 10
Par défaut Probleme sur champ vide lors d'un publipostage word "methode signet"

Bonjour

Je viens de crée un document de publipostage word
en utilisant le tuto du site
http://heureuxoli.developpez.com/publipostage/

J'ai utlisé la methode des signets, cela foction , mais quand les champs de ma base de données sont nul cela bug

Ci-joint le code
Code :
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
Private Sub Commande0_Click()
 
Dim wApp As Word.Application
Dim chemin As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String
sql = "SELECT * from table_publipostage"
 
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = New Word.Application
    chemin = CurrentProject.Path
wApp.Visible = True
 
While Not rs.EOF
With wApp
    .Documents.Open (chemin & "\Plan_de_prevention.doc")
.ActiveDocument.Bookmarks("Adresse_En").Range.Text = rs.Fields("Adresse_En") 'si le champ est vide j'ai une erreur
    .ActiveDocument.PrintOut
    .ActiveDocument.Close (wdDoNotSaveChanges)
End With
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
 
Set wApp = Nothing
End Sub
j'ai plus de 50 chamlps dans ma base , pour l'exemple je n'ai utlise qu'un champ
y a t'il une solution simple ?
Merci d'avance
christ-94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 15h36   #2
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

Salut
peut etre avec une condition :
Code :
1
2
3
4
 
if not isnull (rs.Fields("Adresse_En") then
.ActiveDocument.Bookmarks("Adresse_En").Range.Text = rs.Fields("Adresse_En") 
 …..etc
cordialement
a.
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 15h54   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 51
Points : 10
Points : 10
Merci pour cette réponse

Cela fonctionne
Mais j'ai peur que cela ralentisse le code
est il possible de supprime l'alarme ?

Cordialement
christ-94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h00   #4
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
ca veut dire quoi !

Code :
DoCmd.SetWarnings False
tu pensais à ca?

penses à voter et marquer resolu
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h14   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 51
Points : 10
Points : 10
oui je pense a ca
mais avec cette ligne
Code :
DoCmd.SetWarnings False
j'ai toujours le message d'erreur lorsque le champ est null

sous excel la syntaxe est
Code :
'Application.DisplayAlerts = False
Cordialement
christ-94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h24   #6
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
ou elle est l'instruction
Code :
DoCmd.SetWarnings False
utilise la gestion d'erreur !!
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h33   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 51
Points : 10
Points : 10
Merci de l'interre que tu portes a mon probleme


Ci-joint le code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Commande0_Click()

Dim wApp As Word.Application
Dim chemin As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String

DoCmd.SetWarnings False

sql = "SELECT * from table_publipostage"

Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = New Word.Application
    chemin = CurrentProject.Path
wApp.Visible = True

While Not rs.EOF
With wApp
    .Documents.Open (chemin & "\Plan_de_prevention.doc")
Cordialement
christ-94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h38   #8
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re
ca donne quoi ?
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/11/2010, 16h51   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 51
Points : 10
Points : 10
UN GRAND MERCI

Cela fonctionne



La solution a toute fin utile
les 2 lignes en rouge pour stopper les alarmes
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim wApp As Word.Application
Dim chemin As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String

'Application.DisplayAlerts = False

DoCmd.SetWarnings False
On Error Resume Next

sql = "SELECT * from table_publipostage"

Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = New Word.Application
    chemin = CurrentProject.Path
wApp.Visible = True

While Not rs.EOF
With wApp
    .Documents.Open (chemin & "\Plan_de_prevention.doc")
Merci encore
christ-94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 17h14   #10
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
ok
pense quand meme à mettre
à la fin de ta procedure
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h22.


 
 
 
 
Partenaires

Hébergement Web