bonjour

je réalise un publipostage et pour cela j'utilise une requete avec des critaires et donc je peux avoir une requete vide.

donc j'aimerai savoir comment vérifier si ma requete envoi un enregistrement ou non et si on n'envoi pas d'enregistrement avertir l'utilisateur

qui peux m'aide?? merci

j'ai trouve une fonction avec une requete en sql et j'aimerai l'incorporé en vba mais je ne sais comment faire ( remplace par le "a")

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
Dim strNomRequete As String
 
 
' ma requete a mettre en vba :
 
DoCmd.RunSQL "SELECT ENTREPRISE_SOLLICITE.NUM_CORPS_ETATS, ENTREPRISE_SOLLICITE.NUM_ENTREPRISE, ENTREPRISE_SOLLICITE.NUM_AO, ENTREPRISE_SOLLICITE.NUM_OPERATION, OPERATION.NOM_OPERATION, OPERATION.ADRESSE_OPERATION, OPERATION.ADRESSEBIS_OPERATION, OPERATION.VILLE_OPERATION, OPERATION.CP_OPERATION, OPERATION.PROGRAMME, [POUC_TVA]*100 AS POUC_TVA1, SOCIETE.VILLE3D, ESTIM_OPE.NUM_LOT, ENTREPRISE_SOLLICITE.DEVIS_RETENUE, ENTREPRISE.NOM_ENTREPRISE, ENTREPRISE.ADRESSE_ENTREPRISE, ENTREPRISE.ADRESSEBIS_ENTREPRISE, ENTREPRISE.VILLE_ENTREPRISE, ENTREPRISE.CP_ENTREPRISE, ENTREPRISE.RCS, ENTREPRISE.RCS_VILLE, ENTREPRISE_CONTACT.NOM_ENTRE_CONTACT, CORPS_ETATS.NOM_CORPS_ETATS, ENTREPRISE_SOLLICITE.MONTANT_MARCHE, [MONTANT_MARCHE]*[POUC_TVA] AS MONTANT_TVA, [MONTANT_MARCHE]+[MONTANT_TVA] AS MONTANT_MARCHETTC" & _
" FROM SOCIETE INNER JOIN (((INTERVENANT_EXT_CONTACT INNER JOIN (OPERATION INNER JOIN INTERVENANT_EXT_CONTACT_OPE ON (OPERATION.NUM_INTERV_PROMOTEUR = INTERVENANT_EXT_CONTACT_OPE.NUM_INTERVENANT_EXT) AND" & _
"(OPERATION.NUM_OPERATION = INTERVENANT_EXT_CONTACT_OPE.NUM_OPERATION)) ON (INTERVENANT_EXT_CONTACT.NUM_INTERVENANT_EXT = INTERVENANT_EXT_CONTACT_OPE.NUM_INTERVENANT_EXT) AND (INTERVENANT_EXT_CONTACT.NUM_INTERVENANT_CONTACT = INTERVENANT_EXT_CONTACT_OPE.NUM_INTERVENANT_CONTACT)) INNER JOIN (ENTREPRISE_CONTACT INNER JOIN ENTREPRISE_CONTACT_OPE ON (ENTREPRISE_CONTACT.NUM_ENTREPRISE = ENTREPRISE_CONTACT_OPE.NUM_ENTREPRISE) AND (ENTREPRISE_CONTACT.NUM_ENTRE_CONTACT = ENTREPRISE_CONTACT_OPE.NUM_ENTRE_CONTACT)) ON OPERATION.NUM_OPERATION = ENTREPRISE_CONTACT_OPE.NUM_OPERATION) INNER JOIN ((CORPS_ETATS INNER JOIN ESTIM_OPE ON CORPS_ETATS.NUM_CORPS_ETATS = ESTIM_OPE.NUM_CORPS_ETATS) INNER JOIN (ENTREPRISE INNER JOIN ENTREPRISE_SOLLICITE ON ENTREPRISE.NUM_ENTREPRISE = ENTREPRISE_SOLLICITE.NUM_ENTREPRISE)" & _
" ON (ESTIM_OPE.NUM_OPERATION = ENTREPRISE_SOLLICITE.NUM_OPERATION) AND (ESTIM_OPE.NUM_CORPS_ETATS = ENTREPRISE_SOLLICITE.NUM_CORPS_ETATS)) ON OPERATION.NUM_OPERATION = ESTIM_OPE.NUM_OPERATION) ON SOCIETE.NUM_SOCIETE_3D = OPERATION.NUM_SOCIETE_3D WHERE (((ENTREPRISE_SOLLICITE.NUM_CORPS_ETATS)=[Forms]![Fiche Marché]![NUM_CORPS_ETATS]) AND ((ENTREPRISE_SOLLICITE.NUM_ENTREPRISE)=[Forms]![Fiche Marché]![NUM_ENTREPRISE]) AND ((ENTREPRISE_SOLLICITE.NUM_AO)=[Forms]![Fiche Marché]![NUM_AO]) AND ((ENTREPRISE_SOLLICITE.NUM_OPERATION)=[Forms]![Fiche Marché]![NUM_OPERATION]) AND ((ENTREPRISE_SOLLICITE.DEVIS_RETENUE)=Yes) AND ((ENTREPRISE_CONTACT.SIGNATURE_MARCHER)=Yes) AND ((INTERVENANT_EXT_CONTACT.SIGNATURE_MARCHERMO)=Yes));"
 
 
 
 
 
strNomRequete = "a"
 
If DCount("*", strNomRequete) > 0 Then
   DoCmd.OpenQuery strNomRequete, acNormal
Else
   MsgBox "La requête '" & strNomRequete & "' ne renvoie aucun enregistrement"
End If