Macro AUTOOPEN en liaison avec Table ACCESS

acaga Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 26 août 2005 - 25 août 2005 à 09:17
acaga Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 26 août 2005 - 25 août 2005 à 18:12
Bonjour je suis nouveau sur le forum
Voici ma question
J'utilise une base ACCESS, à partir de laquelle je réalise plusieurs publipostages dans Word, en liaison avec des tables.
Pour ce faire j'ai créé la macro AUTOOPEN dans chaque modèle de publipostage, mais il y a parfois des tables vides, ce qui génère un message d'erreur.
Est il possible de modifier la macro en ecrivant une condition si table vide fermer modèle ............
Voici la macro AUTOOPEN

Sub autoopen()
'
' autoopen Macro
' Macro enregistrée le 23/08/2005 par Alain'
ActiveDocument.MailMerge.Execute Pause:=True
ChangeFileOpenDirectory _
"S:\Dcpe\BilansACE\Collectivites-locales-dceclo\bilans-expedies"
ActiveDocument.SaveAs FileName:="ALENCON-BTA_ERIC-LE-CARVENNEC.doc", _
FileFormat:=wdFormatDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False
ActiveDocument.Close
ActiveDocument.Close
End Sub

Quelqu'un peut il me venir en aide
Merci
acaga

2 réponses

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
25 août 2005 à 12:24
Pour commencer, tu met le code ci-dessous dans un module
Il s'agit d'une petite fonction que je viens d'écrire pour tester le nombre d'enregistrement d'une table

*************** Start *************************
Function ExisteField(NomTable As String) As Boolean
On Error GoTo err:
Dim field As Recordset


Set field = CurrentDb.TableDefs(NomTable).OpenRecordset
If field.RecordCount > 0 Then
ExisteField = True
Else:
ExisteField = False
End If
field.Close
field.Close


err:
Set field = Nothing
End Function

If ExisteField("tblclientèle") Then
MsgBox "il y a des enregistrement dans votre table"
Else:
Exit Sub
End If
End Sub
****************** End **************************

ensuite tu appel la fonction depuis ton code, ça pourrait donner un truc du genre:

If ExisteField("NomDeLaTable") Then
MsgBox "il y a des enregistrement dans votre table"
Else:
Exit Sub
End If
0
acaga Messages postés 2 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 26 août 2005
25 août 2005 à 18:12
Je te remercie beaucoup, car ce n'est pas évident quand on débute,
je vais tester demain matin et je te tiendrai au courant
J'utilise cette base de données pour une application que j'ai créée sous access pour mon travail

Encore Merci

acaga
0
Rejoignez-nous