Problème de taille... de requête!!!!(Excel)

Problème de taille... de requête!!!!(Excel) - VB/VBA/VBS - Programmation

Marsh Posté le 22-04-2004 à 09:43:11    

:bounce:  :bounce:  
 
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.
 
 :bounce:  :bounce:

Reply

Marsh Posté le 22-04-2004 à 09:43:11   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed