Bonjour
Dans une procédure j'utilise des recordset, est j'ai besoin de savoir le nombre de ligne de celui ci. Donc j'utilise la Méthode "RecordCount" qui me parais la mieux adapter. Mais le souci c'est que cette fonctione me retourne 1. Alors que ce n'est pas possible (j'ai tester la requête) est elle me retourne 4 enregistrements.
Voici le code que j'utilise, peut être que je mi prend mal.
Les deux "Recordcount" que j'ai mis en rouge me retourne 1, le premier c'est sur que c'est pas ça je l'ai vérifié. Pour le deuxième j'ai encore pas vérifié quoi que ce soit étant donné que le premier ne fonctionne pas
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 Dim xlApp As Excel.Application, xlBook As Excel.Workbook Dim rst_service As Recordset, rst_Utilisateur As Recordset Dim i As Integer, filename As String, dossier As String, page As Integer, Ligne As Integer ' Initialisation des variables dossier = ChoixDossier("Selectionner l'emplacement de sauvegarde") 'Création des recordset Set rst_service = CurrentDb.OpenRecordset("SELECT TR_Service.Nom_service, TE_LireService.Id_Service, TE_LireService.Id_Document FROM TR_Service INNER JOIN TE_LireService ON TR_Service.Id_Service=TE_LireService.Id_Service WHERE TE_LireService.Id_Document = " & Me.Id_Document.Value & ";", dbOpenDynaset) 'Création de l'objet Excel Set xlApp = CreateObject("Excel.Application") 'Ecriture des informations If (Not rst_service.EOF) Then xlApp.DisplayAlerts = False rst_service.MoveFirst MsgBox "Vous etes sur le point de générer " & rst_service.RecordCount & " fiche de prise de connaissance général", vbOKOnly, "Génération Excel" Do While Not rst_service.EOF Set rst_Utilisateur = CurrentDb.OpenRecordset("SELECT TP_Utilisateur.Nom_utilisateur, TP_Utilisateur.Prénom_utilisateur FROM ((TP_Utilisateur INNER JOIN TE_Appartenir ON TP_Utilisateur.Id_utilisateur = TE_Appartenir.Id_Utilisateur) INNER JOIN TE_Composer ON TP_Utilisateur.Id_utilisateur = TE_Composer.Id_Utilisateur) INNER JOIN ((TP_Document INNER JOIN TE_LireService ON TP_Document.Id_Document = TE_LireService.Id_Document) INNER JOIN TE_LireProfil ON TP_Document.Id_Document = TE_LireProfil.Id_Document) ON (TE_Appartenir.Id_Profil = TE_LireProfil.Id_Profil) AND (TE_Composer.Id_Service = TE_LireService.Id_Service) WHERE (((TP_Document.Id_Document)=" & Me.Id_Document.Value & "));", dbOpenDynaset) page = (rst_Utilisateur.RecordCount \ 23) + 1
Merci de votre aide
Partager