Création d'une macro Microsoft Access qui colle les résultats d'une requête dans Excel peut être fait par un lien vers l'accès à partir d'Excel , ou par l'application du code de macro pour contrôler directement Excel accès note: . tous, mais les trois dernières étapes s'appliquent aux utilisateurs de l'accès (et Excel ) 2007 . Si vous avez une version antérieure d'Access , passez à l' antépénultième étape . Choses que vous devez Microsoft Excel et Access Voir Plus Instructions 1 Dans Access, créer une table de données d'échantillons : entrez les données suivantes dans un nouveau tableau : le touriste accidentel, 12/1/2009 , 6,01 $ le touriste accidentel, 12/3/2009 , 7,98 $ fer john, 12 /5/2009 , 4,98 $ fer john, 12/6/2009 , 5,98 $ 2 Double -cliquez sur les en-têtes de colonne ( par exemple \\ " Champ1 \\") et remplacer chacun de ces têtes , dans cet ordre: livre, datesold , netsale Enregistrez la table (\\ " contrôle -s \\" ) avec le nom \\ " livres. \\" 3 Créer une requête de la table et appuyez sur le " \\ Echap" \\ dans le "show tableau \\ boîte de dialogue \\ " . Faites un clic droit sur l'onglet de la requête et sélectionnez \\ " vue SQL \\ ". Tapez la commande suivante dans la fenêtre de code : . Livres SELECT * INTO queryresults D' livres WHERE ( ( ( books.book ) Like ' * acc * ')) GO Enregistrez la requête (\\ " contrôle -s \\ ") et nommez-le \\" vbaquery . \\ " 4 Ouvrez Excel et appuyez sur la barre d'outils de \\ " les données> de l'accès \\ " icône. Sélectionnez l'option " queryresults \\" tableau \\ dans le répertoire \\ boîte de dialogue "Select \\ Table" . Cliquez sur \\ "OK \\" sur la boîte de dialogue \\ "Importer des données \\" et notez les résultats de la requête : seul le \\ " Iron John \\" livres sont présentés . Enregistrez le fichier Excel avec n'importe quel nom , et fermez-le . 5 Rouvrir le \\ " livres \\" base de données dans Access. Ouvrez le \\ " vbaquery \\" et \\ " revoir ses critères : \\" champ de lire \\ " Like ' * acc * ' \\" ( Ne tapez pas les guillemets Ne tapez l' intérieur, unique. guillemets). Enregistrez à nouveau la requête. 6 créer une nouvelle requête . Tapez l'instruction SQL suivante dans la vue " SQL \\" fenêtre \\ , puis enregistrez la requête en tant que \\ " \\" dropqueryresults : DROP queryresults de table; 7 pénétrer dans l'environnement de développement intégré Visual Basic (IDE ) en appuyant sur \\ " alt- f11 , \\ ", puis sélectionnez \\ "Insertion> Module . \\" Coller le code suivant dans le code vierge du nouveau module fenêtre : RunQuery public Sub () « supprimer les résultats première table On Error GoTo DO_QUERY RunQueryForExcel (\\" dropqueryresults \\ ") DO_QUERY : RunQueryForExcel (\\" vbaquery \\ ") End Sub < br /> public Sub RunQueryForExcel ( qName As String ) DoCmd.SetWarnings Faux CurrentDb.Execute qName DoCmd.SetWarnings vrai End Sub 8 Placez le curseur n'importe où dans le " RunQuery \\" \\ sous-programme et appuyez sur \\ "F5 \\" pour exécuter la requête . Rouvrez le classeur Excel vous avez déjà ouvert et notez les données mises à jour : votre macro a remplacé les \\ " \\" Iron John rangées avec les \\ " \\" Accidental Tourist lignes. ( Access 2007 ou plus tard, les utilisateurs peuvent s'arrêter là. ) 9 ( Pour les utilisateurs d' Access 2003 et versions antérieures) . Utilisez l'étape 7 pour coller le code suivant dans un nouveau module dans l'IDE de Visual Basic : '''''''' '''''' '''''' '''''' '''''''' '''''''' '''''''' '''''' ' public Sub pasteToExcel () < br /> Const qName = \\ " vbaquery \\" db As DAO.Database recset As DAO.Recordset Dim s As String ; appXL As Excel.Application ro Dim, co '''''''' '''''''' '''''' ' '' Set appXL = CreateObject (\\ " Excel.Application \\") appXL.Workbooks.Add Set db = CurrentDb < br /> Set recset = db.OpenRecordset ( qName ) s = \\ " livre \\" et \\ ", \\" et \\ " dateddsold \\" et \\ " ; , \\ " et \\ " netsale \\ "& vbCr appXL.ActiveSheet.Cells (1, 1 ) = s ro = 2 co = 1 < , br /> s = \\ "\\" Ne While Not recset.EOF s = s & recset [ livre ] & \\ ", \\" & ! ; ! recset [ datesold ] & \\ ", \\" & recset [ netsale ] & vbCr appXL.ActiveSheet.Cells (ro , co) = s recset.MoveNext < , br /> ro = ro + 1 s = \\ "\\" boucle recset.Close db.Close ; appXL.ActiveWorkbook.SaveAs (\\ " c: \\ \\ dataFromAccess.xls \\") appXL.Quit End Sub '' '''''''' '''''''' '''''''' '''''''' '''''' '''''' '''''' '''' ' Choisir \\ " Outils> Références \\ " et cochez la \\ " Bibliothèque Microsoft Excel Objects. \\" 10 retourner à l'accès et à faire les étapes 1 à 3. Cependant, pour l'étape 3, collez ce code SQL dans la fenêtre de code SQL : . Livres SELECT * FROM livres Où ( ( (livres . book) Like ' * acc * ')); 11 retour à l' IDE Visual Basic. Placez le curseur à l'intérieur de la \\ " pasteToExcel \\" la fonction et appuyez sur \\ "F5 \\" pour exécuter la fonction . Ouvrez le fichier Excel \\ "c: \\ \\ dataFromAccess.xls \\" . Pour afficher les résultats
|