Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de taille... de requête!!!!

  • Initiateur de la discussion Julien
  • Date de début
J

Julien

Guest
Salut à tous,

J'ai crée une connection ODBC à partir d'Excel sur une base de données Oracle. Jusqu'ici, tout va bien... Selement voilà, j'ai l'impression qu'Excel n'envoie qu'une partie des requêtes car je pense que son buffer d'émission est vérouillé à un certain nombre de caractères (la requête)... D'où mon problème... J'ai besoin de de faire des requêtes plus longues (requêtes qui marchent à partir d'Oracle)!!!!


Help!!!!

Exemple qui marche :

Range("A10").Select
Selection.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER={Microsoft ODBC pour Oracle};UID=toto;PWD=toto;SERVER=Q;", _
Destination:=Range("A10"))
.CommandText = Array( _
"SELECT .*" & Chr(13) & "" & Chr(10) & "FROM OP.Histperation H" & Chr(13) & "" & Chr(10) & "WHERE (H.DATE_Operation >= {ts '" & annee_d & "-" & mois_d & "-" & jour_d & " 00:00:00'}) AND (H.DATE_OPERATION <= {ts '" & annee_f & "-" & mois_f & "-" & jour_f & " 00:00:00'}) And ((H.POSTE like 'DVD%') Or (H.POSTE like 'Livre%') Or (H.POSTE like 'CD%') Or (H.POSTE like 'Cassette%'))")
.Name = "Lancer la requête"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With


Exemple qui ne marche pas :

Range("A10").Select
Selection.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER={Microsoft ODBC pour Oracle};UID=toto;PWD=toto;SERVER=Q;", _
Destination:=Range("A10"))
.CommandText = Array( _
"SELECT Historique.*" & Chr(13) & "" & Chr(10) & "FROM OP.Histperation Historique" & Chr(13) & "" & Chr(10) & "WHERE (Historique.DATE_Operation >= {ts '" & annee_d & "-" & mois_d & "-" & jour_d & " 00:00:00'}) AND (Historique.DATE_OPERATION <= {ts '" & annee_f & "-" & mois_f & "-" & jour_f & " 00:00:00'}) And ((Historique.POSTE like 'DVD%') Or (Historique.POSTE like 'Livre%') Or (Historique.POSTE like 'CD%') Or (Historique.POSTE like 'Cassette%'))")
.Name = "Lancer la requête"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

Merci.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…