Erreur 3061 sous VBA ACCESS

Erreur 3061 sous VBA ACCESS - VB/VBA/VBS - Programmation

Marsh Posté le 12-09-2009 à 12:07:43    

Bonjour à tous !
 
Je développe un programme en VBA ACCESS 2007 qui envoie des données à Excel .
A la compilation message d'erreur sur la ligne : Set rst = db.OpenRecordset("Rqt-Factures" )
avec "Erreur d'exécution 3061 . trop peu de paramètres 10 attendu" ?????
 
Voici un bout du code :  
 
Option Compare Database
Option Explicit
Public xl As Excel.Application
Public wbk As Excel.Workbook
Public wst As Excel.Worksheet
Dim db As DAO.Database
Dim rst As DAO.Recordset
 
Sub ImpressionFacture()
 
' Ouvre la requête facture
 
Set db = CurrentDb()
Set rst = db.OpenRecordset("Rqt-Factures" )      La ligne qui pose problème

' Démarre Excel et ouvre la feuille Facture.xlsx
 
Set xl = New Excel.Application
xl.Visible = True
 
etc......
 
Merci d'avance pour vos lumières , je sèche là-dessus depuis un bon moment !
 
Fbourdon  
 :??:

Reply

Marsh Posté le 12-09-2009 à 12:07:43   

Reply

Marsh Posté le 13-09-2009 à 09:24:21    

Essaye de mettre les dimensionnements de tes variables à l'intérieur de ta sub

 


Sub ImpressionFacture()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset

 

etc.

 


Message édité par otobox le 13-09-2009 à 09:29:22

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 14-09-2009 à 11:27:35    

Je te conseille de mettre les arguments explicitement,

Reply

Marsh Posté le 14-09-2009 à 12:14:51    

Merci , ça marche...sauf que :
J'envoie les données Access sur une feuille Excel , j'ouvre un document word avec en-tête de facture et j'exporte la feuille excel...Les données sont bien envoyées mais le résultat est complètement décalé , l'en-tête word est effacée , et ça tient sur une page et demie au lieu d'une seule page...bref , par très présentable...
Voici les 3 lignes de code :
 
wbk.Worksheets("Feuil2" ).Range("A1:G36" ).Copy
DocWord.Range.PasteSpecial
DocWord.Application.ActiveDocument.Save
 
Ya t'il une solution ?
 
Merci d'avance ! Pas-grand-chose sur Google , malheureusement !
 
Bien amicalement à tous ,
 
Fbourdon

Reply

Marsh Posté le 14-09-2009 à 17:52:09    

Comment ça se passe quand tu fais la même manip manuellement ?
Si en copiant-collant à la main tu as le même résultat, il faut ensuite que tu refasse la mise en forme du document.
Dans ce cas, tu peux t'aider de l'enregistreur de macro sous Word pour t'inspirer du code produit (j'ai rarement fait des macros VBA sous Word pour t'aider sur ce coup là).


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 15-09-2009 à 15:08:07    

Bonjour
 
Pourquoi 'exporter' les données d'Excel ? Si ton document Word est le document final, pourquoi ne pas utiliser la fusion/publipostage ? Ton doc word va chercher les infos dans le fichier Excel.
 
Ou sinon, plus simple a mon sens (ca evite de passer par 15 logiciels differents), pourquoi ne passes tu pas par un état Access ?
 
Cordialement


Message édité par SuppotDeSaTante le 15-09-2009 à 15:08:31

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed