Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

importation de donnees Access sur table liée à une vue

4 réponses
Avatar
dtournant
Bonjour,
Dans Access, j'ai une liaison ODBC vers une vue SqlServer, à partir de là
sur Access je dispose d'une requête me retournant des enregistrements plus
sélectifs de cette vue.

Lorsque j'exécute la requête les résultats sont bien retournés, cependant
lorsque j'utilise la procédure d'importation de données avec Excel 97 ou
2007 je n'obtiens que les en-têtes, impossible d'afficher les résultats qui
sont pourtant existants puisque par tout autre moyen que le mécanisme
d'import Excel les données sont retournées.

Pour des requêtes portant sur des tables, je n'ai aucun problème, je me
demande donc si il est impossible d'importer des données provenant d'une
vue? ou y a t'il une manipulation spéciale à effectuer.

Merci d'avance pour votre aide

4 réponses

Avatar
FFO
Salut à toi

Ayant eu un souci similaire entre autres propositions JB m'a donné ce code
qui fonctionne trés bien même pour les Vues :

sqlChaine = "Select * from nomview"
ChaineConn = "ODBC;DSN=Nom de la base;UID=users;PWD=password;Database=Nom de
la base"
ActiveSheet.QueryTables.Add(Connection:=ChaineConn,
Destination:=Range("A1"), Sql:=sqlChaine).Refresh

J'espère que celà sera de même pour toi



Bonjour,
Dans Access, j'ai une liaison ODBC vers une vue SqlServer, à partir de là
sur Access je dispose d'une requête me retournant des enregistrements plus
sélectifs de cette vue.

Lorsque j'exécute la requête les résultats sont bien retournés, cependant
lorsque j'utilise la procédure d'importation de données avec Excel 97 ou
2007 je n'obtiens que les en-têtes, impossible d'afficher les résultats qui
sont pourtant existants puisque par tout autre moyen que le mécanisme
d'import Excel les données sont retournées.

Pour des requêtes portant sur des tables, je n'ai aucun problème, je me
demande donc si il est impossible d'importer des données provenant d'une
vue? ou y a t'il une manipulation spéciale à effectuer.

Merci d'avance pour votre aide





Avatar
dtournant
Bonjour,

Merci pour ta réponse, mais je ne comprends pas bien où il faut placer ce
code?
Et ma chaine sql n'en est pas une car ce que je souhaite c'est appeler une
requête Access qui elle dispose donc de la chaine sql permettant de me
retourner des éléments plus restreints de ma vue.
Il faudrait que le résultat soit afficher dans la feuille en court car
ensuite dessus serait lié un tableau croisé dynamique dont les données
pourront ainsi se mettre à jour sans avoir à refaire un tableau croisé sur
une nouvelle feuille à chaque fois.
Pour information, je connais un peu VB mais quasiment pas VBA donc j'aurai
besoin du maximum de détails possible.

Merci

Cordialement



"FFO" a écrit dans le message de news:

Salut à toi

Ayant eu un souci similaire entre autres propositions JB m'a donné ce code
qui fonctionne trés bien même pour les Vues :

sqlChaine = "Select * from nomview"
ChaineConn = "ODBC;DSN=Nom de la base;UID=users;PWD=password;Database=Nom
de

la base"
ActiveSheet.QueryTables.Add(Connection:=ChaineConn,
Destination:=Range("A1"), Sql:=sqlChaine).Refresh

J'espère que celà sera de même pour toi



Bonjour,
Dans Access, j'ai une liaison ODBC vers une vue SqlServer, à partir de



sur Access je dispose d'une requête me retournant des enregistrements
plus


sélectifs de cette vue.

Lorsque j'exécute la requête les résultats sont bien retournés,
cependant


lorsque j'utilise la procédure d'importation de données avec Excel 97 ou
2007 je n'obtiens que les en-têtes, impossible d'afficher les résultats
qui


sont pourtant existants puisque par tout autre moyen que le mécanisme
d'import Excel les données sont retournées.

Pour des requêtes portant sur des tables, je n'ai aucun problème, je me
demande donc si il est impossible d'importer des données provenant
d'une


vue? ou y a t'il une manipulation spéciale à effectuer.

Merci d'avance pour votre aide







Avatar
FFO
En résumé donc tu souhaites récupérer les données d'une requète d'une base
Access dans un document Excel
Si telle est ton attente je te propose :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
ObjAcc.OpenCurrentDatabase "E:cheminFichier.mdb"
Set rst = CurrentDb.OpenRecordset("nomrequète")
Workbooks("Fichier.xls").Worksheets("Onglet").Range("A1").CopyFromRecordset
rst
MsgBox (CurrentDb.OpenRecordset("nomrequète").RecordCount)
ObjAcc.CloseCurrentDatabase
ObjAcc.Quit
Set ObjAcc = Nothing
Set rst = Nothing

Il est important de sélectionner : Outils/Références : Microsoft Access
(version la plus récente) Object Library

Le résultat est il celui escompté ???

Bonjour,

Merci pour ta réponse, mais je ne comprends pas bien où il faut placer ce
code?
Et ma chaine sql n'en est pas une car ce que je souhaite c'est appeler une
requête Access qui elle dispose donc de la chaine sql permettant de me
retourner des éléments plus restreints de ma vue.
Il faudrait que le résultat soit afficher dans la feuille en court car
ensuite dessus serait lié un tableau croisé dynamique dont les données
pourront ainsi se mettre à jour sans avoir à refaire un tableau croisé sur
une nouvelle feuille à chaque fois.
Pour information, je connais un peu VB mais quasiment pas VBA donc j'aurai
besoin du maximum de détails possible.

Merci

Cordialement



"FFO" a écrit dans le message de news:

Salut à toi

Ayant eu un souci similaire entre autres propositions JB m'a donné ce code
qui fonctionne trés bien même pour les Vues :

sqlChaine = "Select * from nomview"
ChaineConn = "ODBC;DSN=Nom de la base;UID=users;PWD=password;Database=Nom
de

la base"
ActiveSheet.QueryTables.Add(Connection:=ChaineConn,
Destination:=Range("A1"), Sql:=sqlChaine).Refresh

J'espère que celà sera de même pour toi



Bonjour,
Dans Access, j'ai une liaison ODBC vers une vue SqlServer, à partir de



sur Access je dispose d'une requête me retournant des enregistrements
plus


sélectifs de cette vue.

Lorsque j'exécute la requête les résultats sont bien retournés,
cependant


lorsque j'utilise la procédure d'importation de données avec Excel 97 ou
2007 je n'obtiens que les en-têtes, impossible d'afficher les résultats
qui


sont pourtant existants puisque par tout autre moyen que le mécanisme
d'import Excel les données sont retournées.

Pour des requêtes portant sur des tables, je n'ai aucun problème, je me
demande donc si il est impossible d'importer des données provenant
d'une


vue? ou y a t'il une manipulation spéciale à effectuer.

Merci d'avance pour votre aide












Avatar
dtournant
Merci beaucoup , ça fonctionne

Bonne journée


"FFO" a écrit dans le message de news:

En résumé donc tu souhaites récupérer les données d'une requète d'une base
Access dans un document Excel
Si telle est ton attente je te propose :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
ObjAcc.OpenCurrentDatabase "E:cheminFichier.mdb"
Set rst = CurrentDb.OpenRecordset("nomrequète")

Workbooks("Fichier.xls").Worksheets("Onglet").Range("A1").CopyFromRecordset

rst
MsgBox (CurrentDb.OpenRecordset("nomrequète").RecordCount)
ObjAcc.CloseCurrentDatabase
ObjAcc.Quit
Set ObjAcc = Nothing
Set rst = Nothing

Il est important de sélectionner : Outils/Références : Microsoft Access
(version la plus récente) Object Library

Le résultat est il celui escompté ???

Bonjour,

Merci pour ta réponse, mais je ne comprends pas bien où il faut placer
ce


code?
Et ma chaine sql n'en est pas une car ce que je souhaite c'est appeler
une


requête Access qui elle dispose donc de la chaine sql permettant de me
retourner des éléments plus restreints de ma vue.
Il faudrait que le résultat soit afficher dans la feuille en court car
ensuite dessus serait lié un tableau croisé dynamique dont les données
pourront ainsi se mettre à jour sans avoir à refaire un tableau croisé
sur


une nouvelle feuille à chaque fois.
Pour information, je connais un peu VB mais quasiment pas VBA donc
j'aurai


besoin du maximum de détails possible.

Merci

Cordialement



"FFO" a écrit dans le message de news:

Salut à toi

Ayant eu un souci similaire entre autres propositions JB m'a donné ce
code



qui fonctionne trés bien même pour les Vues :

sqlChaine = "Select * from nomview"
ChaineConn = "ODBC;DSN=Nom de la
base;UID=users;PWD=password;Database=Nom



de
la base"
ActiveSheet.QueryTables.Add(Connection:=ChaineConn,
Destination:=Range("A1"), Sql:=sqlChaine).Refresh

J'espère que celà sera de même pour toi



Bonjour,
Dans Access, j'ai une liaison ODBC vers une vue SqlServer, à partir
de





sur Access je dispose d'une requête me retournant des
enregistrements




plus
sélectifs de cette vue.

Lorsque j'exécute la requête les résultats sont bien retournés,
cependant


lorsque j'utilise la procédure d'importation de données avec Excel
97 ou




2007 je n'obtiens que les en-têtes, impossible d'afficher les
résultats




qui
sont pourtant existants puisque par tout autre moyen que le
mécanisme




d'import Excel les données sont retournées.

Pour des requêtes portant sur des tables, je n'ai aucun problème, je
me




demande donc si il est impossible d'importer des données provenant
d'une


vue? ou y a t'il une manipulation spéciale à effectuer.

Merci d'avance pour votre aide