Bonjour,
J'ai beau lire attentivement le document de Tofalu sur la création de recordset, le mien refuse de s'ouvrir!
Le contexte: Je selectionne depuis un formulaire un certain nombre d'enregistrements et je voudrais remplir deux feuilles Excel avec les données completes relatives aux enregistrements selectionnés (toutes les données ne sont pas dans la requète selection initiale).
Après avoir ouvert la feuille Excel, je cherche donc a créer un nouveau recordset basé sur la table principale qui me ramènerait les données manquantes.
Voila le éléments du code: rst est le recordset correspondant au formulaire de selection, rstForm est celui que je veux créer.
Arrivé à la ligne de Set rstForm un message apparait indicant que le moteur Jet n'a pu trouver l'objet 'SELECT * FROM TABLE WHERE TABLE.CHAMP = 37;'
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 Dim idFormRst As Integer Dim n As Integer Dim idFormRst, idParcRst As Integer Dim rst As Recordset Dim rstForm As Recordset Set rst = Me.Recordset If Not rst.EOF Then rst.MoveFirst While Not rst.EOF idFormRst = rst![idformfusion] idParcRst = rst![idparcfusion] If idFormRst <> 0 Then Set rstForm = CurrentDb.OpenRecordset(" SELECT * FROM T01_Formation WHERE T01_Formation.idformation = " & idFormRst & ";", dbOpenTable) n = rst.AbsolutePosition + 4 appExcel.Worksheets("formations").Select appExcel.Cells(n, 1) = rstForm![idformation] appExcel.Cells(n, 2) = rstForm![Titre]
J'ai essayé en définissant les objets rst en DAO.recorset, echec! Essais avec ou sans espaces dans la définition de requète, essais avec ou sans le ";" final, rien n'y fait et le libellé des tables et champs est fait avec un copier/collé pour éviter les erreurs de frappe!
Merci d'avance pour les idées.
Partager