OVH Cloud OVH Cloud

limites de OutpuTo ??

7 réponses
Avatar
Philou
conf : Access 2000, Excel 2000

bonjour à tous,

je travaille dans mon application sur un module d'export de données vers
Excel.
il peut arriver que le résultat de cet export contienne 50000 lignes.
or, l'esport passe bien (malgré quelques longueurs) avec 14000 ligne mais
pas avec 17000.

mon code : DoCmd.OutputTo acOutputTable, "MaTable", acFormatXLS

connaitriez-vous les limites de cette action et comment la contrer ?
sinon, connaitriez-vous un autre moyen d'exporter une grande masse de lignes
vers Excel ?

nota : j'avais aussi essayé avec un "" mais les limites sont encore bien
plus basses.

merci
Philou
philouonline@ifrance.com

7 réponses

Avatar
Raymond [mvp]
Bonjour.
Il serait préférable de passer par : TransferSpreadsheet
exemple:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1",
"clients.xls", True, "feuil1"

le maximum de lignes transférables : 65535
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
conf : Access 2000, Excel 2000

bonjour à tous,

je travaille dans mon application sur un module d'export de données vers
Excel.
il peut arriver que le résultat de cet export contienne 50000 lignes.
or, l'esport passe bien (malgré quelques longueurs) avec 14000 ligne mais
pas avec 17000.

mon code : DoCmd.OutputTo acOutputTable, "MaTable", acFormatXLS

connaitriez-vous les limites de cette action et comment la contrer ?
sinon, connaitriez-vous un autre moyen d'exporter une grande masse de
lignes

vers Excel ?

nota : j'avais aussi essayé avec un "" mais les limites sont encore bien
plus basses.

merci
Philou





Avatar
Philou
tout d'abord merci

en fait, dans mon message, j'avais oublié en "nota" de remplir le "" par
"TransferSpreadsheet".
j'avais donc déjà essayé mais là, ce ne sont pas les lignes d'enregistrement
qui sont limitées, mais le nombre de champs.
l'appli doit proposer une centaine de champs exportables. or avec seulement
une vingtaine, j'ai déjà une erreur access "trop de champs définis".

il y a-t-il un argument pour passer outre cette limite ?

Philou


"Raymond [mvp]" a écrit dans le message de
news: e0r#
Bonjour.
Il serait préférable de passer par : TransferSpreadsheet
exemple:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1",
"clients.xls", True, "feuil1"

le maximum de lignes transférables : 65535
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
conf : Access 2000, Excel 2000

bonjour à tous,

je travaille dans mon application sur un module d'export de données vers
Excel.
il peut arriver que le résultat de cet export contienne 50000 lignes.
or, l'esport passe bien (malgré quelques longueurs) avec 14000 ligne
mais


pas avec 17000.

mon code : DoCmd.OutputTo acOutputTable, "MaTable", acFormatXLS

connaitriez-vous les limites de cette action et comment la contrer ?
sinon, connaitriez-vous un autre moyen d'exporter une grande masse de
lignes

vers Excel ?

nota : j'avais aussi essayé avec un "" mais les limites sont encore bien
plus basses.

merci
Philou









Avatar
Raymond [mvp]
Certainement que tu dois atteindre le maximum de la longueur d'une ligne qui
doit être de 4 k si mes souvenirs sont exacts (àvérifier). regarde tes
champs texte et vérifies qu'ils ne soient pas tous à 255 caractères alors
qu'ils n'en demandent que 10 . vérifie aussi si tu as des champs mémo car
ils seront tronqués à 255 caractères.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
tout d'abord merci

en fait, dans mon message, j'avais oublié en "nota" de remplir le "" par
"TransferSpreadsheet".
j'avais donc déjà essayé mais là, ce ne sont pas les lignes
d'enregistrement

qui sont limitées, mais le nombre de champs.
l'appli doit proposer une centaine de champs exportables. or avec
seulement

une vingtaine, j'ai déjà une erreur access "trop de champs définis".

il y a-t-il un argument pour passer outre cette limite ?

Philou


Avatar
Philou
effectivement, je n'avais pas du tout pensé à ça.
je vais donc voir ce que je peux modifier dans mes tables et mon programme.

merci beaucoup

Philou


"Raymond [mvp]" a écrit dans le message de
news:
Certainement que tu dois atteindre le maximum de la longueur d'une ligne
qui

doit être de 4 k si mes souvenirs sont exacts (àvérifier). regarde tes
champs texte et vérifies qu'ils ne soient pas tous à 255 caractères alors
qu'ils n'en demandent que 10 . vérifie aussi si tu as des champs mémo car
ils seront tronqués à 255 caractères.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
tout d'abord merci

en fait, dans mon message, j'avais oublié en "nota" de remplir le "" par
"TransferSpreadsheet".
j'avais donc déjà essayé mais là, ce ne sont pas les lignes
d'enregistrement

qui sont limitées, mais le nombre de champs.
l'appli doit proposer une centaine de champs exportables. or avec
seulement

une vingtaine, j'ai déjà une erreur access "trop de champs définis".

il y a-t-il un argument pour passer outre cette limite ?

Philou






Avatar
Philou
bonjour à Raymond et aux autres,

j'ai modifié mes longueurs de champs.
or, aujourd'hui avec un "TransferSpreadsheet", je ne teste qu'avec un export
contenant 2 champs (nom et prénom) de chacun 50 caractères maxi.
même avec un nombre de ligne très mini (24 enregs), j'ai un bug "Erreur
d'exécution '3190' trop de champs définis".
néanmoins, si je ne choisi que le champ "Nom" pour l'xport, la totalité de
ma table passe bien dans Excel (48717 enregs)

ma syntaxe :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, TableTempName,
"D:temp_contactscontacts_export_test.xls", True, "feuil1"

d'un autre côté, avec la commande "OutputTo", je peux exporter tous mes
champs (un centaine) mais avec peu d'enregs.

que faire ??? cela devient très urgent car le client s'impatiente.

merci encore de continuer à me répondre

Philou


"Raymond [mvp]" a écrit dans le message de
news:
Certainement que tu dois atteindre le maximum de la longueur d'une ligne
qui

doit être de 4 k si mes souvenirs sont exacts (àvérifier). regarde tes
champs texte et vérifies qu'ils ne soient pas tous à 255 caractères alors
qu'ils n'en demandent que 10 . vérifie aussi si tu as des champs mémo car
ils seront tronqués à 255 caractères.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
tout d'abord merci

en fait, dans mon message, j'avais oublié en "nota" de remplir le "" par
"TransferSpreadsheet".
j'avais donc déjà essayé mais là, ce ne sont pas les lignes
d'enregistrement

qui sont limitées, mais le nombre de champs.
l'appli doit proposer une centaine de champs exportables. or avec
seulement

une vingtaine, j'ai déjà une erreur access "trop de champs définis".

il y a-t-il un argument pour passer outre cette limite ?

Philou






Avatar
Raymond [mvp]
Heureusement que je suis là mon philou !

Étendue : Variant facultatif. Expression chaîne qui correspond à une
plage
valide de cellules ou au nom d'une plage de la feuille de calcul. Cet
argument n'est valable que pour une importation. Laissez cet argument vierge
pour importer la feuille de calcul entière. Lorsque vous effectuez une
exportation vers une feuille de calcul, vous devez laisser cet argument
vierge. Si vous tapez une plage, l'exportation échoue.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, TableTempName,
_
"D:temp_contactscontacts_export_test.xls", True

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
bonjour à Raymond et aux autres,

j'ai modifié mes longueurs de champs.
or, aujourd'hui avec un "TransferSpreadsheet", je ne teste qu'avec un
export

contenant 2 champs (nom et prénom) de chacun 50 caractères maxi.
même avec un nombre de ligne très mini (24 enregs), j'ai un bug "Erreur
d'exécution '3190' trop de champs définis".
néanmoins, si je ne choisi que le champ "Nom" pour l'xport, la totalité de
ma table passe bien dans Excel (48717 enregs)

ma syntaxe :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
TableTempName,

"D:temp_contactscontacts_export_test.xls", True, "feuil1"

d'un autre côté, avec la commande "OutputTo", je peux exporter tous mes
champs (un centaine) mais avec peu d'enregs.

que faire ??? cela devient très urgent car le client s'impatiente.

merci encore de continuer à me répondre

Philou



Avatar
Philou
MEEEERCI Raymond !!

effectivement, heureusement que vous êtes là !

ce coup-ci, je pense être arrivé à mes fin.
châpeau à vous à peut-être à bientôt


--
Philou



"Raymond [mvp]" a écrit dans le message de
news: #
Heureusement que je suis là mon philou !

Étendue : Variant facultatif. Expression chaîne qui correspond à une
plage
valide de cellules ou au nom d'une plage de la feuille de calcul. Cet
argument n'est valable que pour une importation. Laissez cet argument
vierge

pour importer la feuille de calcul entière. Lorsque vous effectuez une
exportation vers une feuille de calcul, vous devez laisser cet argument
vierge. Si vous tapez une plage, l'exportation échoue.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
TableTempName,

_
"D:temp_contactscontacts_export_test.xls", True

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de
news:
bonjour à Raymond et aux autres,

j'ai modifié mes longueurs de champs.
or, aujourd'hui avec un "TransferSpreadsheet", je ne teste qu'avec un
export

contenant 2 champs (nom et prénom) de chacun 50 caractères maxi.
même avec un nombre de ligne très mini (24 enregs), j'ai un bug "Erreur
d'exécution '3190' trop de champs définis".
néanmoins, si je ne choisi que le champ "Nom" pour l'xport, la totalité
de


ma table passe bien dans Excel (48717 enregs)

ma syntaxe :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
TableTempName,

"D:temp_contactscontacts_export_test.xls", True, "feuil1"

d'un autre côté, avec la commande "OutputTo", je peux exporter tous mes
champs (un centaine) mais avec peu d'enregs.

que faire ??? cela devient très urgent car le client s'impatiente.

merci encore de continuer à me répondre

Philou