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.Histo_Operation 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.Histo_Operation 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

Statistiques des forums

Discussions
312 571
Messages
2 089 805
Membres
104 276
dernier inscrit
helenevellocet