Erreur Général ODBC

Signaler
Messages postés
61
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
6 août 2009
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Bonjour à tous,

Je rencontre un problème conçernant une requête MSQUERY.

Le fichier concerné est de grosse taille ==> 62Mo

Je pense que le problème est lié au volume de mon fichier car lorsque celui-ci était de taille plus raisonnable, la requête passait.

Cela est il dû a une saturation de mémoire ?? pouvez vous me donner une solution ?

Merci d'avance pour votre aide.

Bonne journée à tous et à toutes

ydu

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
sans message d'erreur, sans condition d'aparition de l'erreur, sans code, ça va etre dificile de cerner le problème

Peut-etre une question de timeout

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
61
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
6 août 2009

Tu as raison, voici mon code:

Sheets("PART_Feuil1").Activate
Range("q:x").ClearContents
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=C:\oracle G_Retail\database.xls;DefaultDir=C:\oracle G_Retail;DriverId=790;MaxBufferSize=2048;PageTimeout" _
        ), Array("=5;")), Destination:=Range("q1"))
        .CommandText = Array( _
        "SELECT source_part.`Code Groupe`, source_part.CODNIV, source_part.CODVEND, source_part.TYPNIV, source_part.CODPRD, source_part.PRODC, source_part.OBJANNEE,source_part.CODGPE" & Chr(13) & "" & Chr(10) & "FROM `C:\oracle G_Retail\database`.source_part source" _
        , "_part" & Chr(13) & "" & Chr(10) & "WHERE (source_part.`Code Groupe`=" & code_groupe(x) & ")")
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
Calculate
ActiveSheet.PivotTables("Vend_PART").PivotCache.Refresh
Sheets("PART_Feuil2").Select
ActiveSheet.PivotTables("tcd _VPART").PivotCache.Refresh

En rose la ligne qui pose probleme

Merci d'avance pour votre aide

ydu
Messages postés
61
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
6 août 2009

J'ai vraiment besoin de votre aide tout en sachant bienevidamment que je ne suis pas tout seul

Par avance

Merci

ydu
Messages postés
61
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
6 août 2009

Re

Ne faut il pas activer une trouc sous VBE (Ouitls/Références) ??

ydu
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Je n'ai effectivement pas de réponse. Je ne connais pas les msquery. J'utilise très peu ODBC, et quasiment jamais Excel en base de donnée.

Et comble de malchance, l'aide sur mon pc ne marche plus suite à un update qui a échoué.

Ta requette met-elle beaucoup de temps à s'executer ? genre plus de 15sec ?

C'est peut-etre un timeout à augmenter (je ne connais pas la signification du paramètre PageTimeout dans la chaine de connection).

Pour un fichier Excel, je n'ai aucune idée mais pour une vrai base de données, 62Mo n'est pas énorme. Professionellement je travaille actuellement sur des bases de plus de 12Go sous SQLServer. Mais cela n'est pas comparable avec Excel.

Peut-etre que quelqu'un d'autre saura répondre à ma place.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php