MSQUERY - Top X des enregistrements

Le
Frederic Revol
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches

Pouvez-vous m'aider?

Merci,

Fred
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #16690601
J'ai bien l'impression que tu dois passer par du code :

Évidemment, tu dois adapter la requête et le nom du fichier
dans le code suivant....

C'est dans la définition de la chaîne de caractères "Requête"
que tu restreins le nombre d'enregistrements que tu désires.
"Select TOP 30" .....

Via l'interface de la feuille de calcul, il n'y a pas de propriétés qui
permettent de définir ce que tu désires !

Si tu éprouves de la difficulté à écrire toute la procédure, si tu pars
l'enregistreur de macro.... elle traduira pour toi l'essentiel des lignes
de commande.... tu n'auras plus qu'à faire un peu de ménage !!!

'---------------------------------------
Sub Test()

Dim Requête As String
Requête = "Select TOP 30 Champ1, Champ2 From NomDeZone Order by champ1 asc "

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Fichiers Excel;DBQ=c:Requete_MsQuery_Date.xls;" & _
"DefaultDir=c:;DriverIdy0;MaxBufferSize 48;PageTimeout=5;" _
, Destination:þuil3.Range("c1"))
.CommandText = Array(Requête)
.Name = "Denis"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
End Sub
'---------------------------------------



"Frederic Revol" 48bbb6ba$0$2504$
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches...

Pouvez-vous m'aider?

Merci,

Fred
Frederic Revol
Le #16698211
Merci,

Je me lance.

Fred
"michdenis" news:
J'ai bien l'impression que tu dois passer par du code :

Évidemment, tu dois adapter la requête et le nom du fichier
dans le code suivant....

C'est dans la définition de la chaîne de caractères "Requête"
que tu restreins le nombre d'enregistrements que tu désires.
"Select TOP 30" .....

Via l'interface de la feuille de calcul, il n'y a pas de propriétés qui
permettent de définir ce que tu désires !

Si tu éprouves de la difficulté à écrire toute la procédure, si tu pars
l'enregistreur de macro.... elle traduira pour toi l'essentiel des lignes
de commande.... tu n'auras plus qu'à faire un peu de ménage !!!

'---------------------------------------
Sub Test()

Dim Requête As String
Requête = "Select TOP 30 Champ1, Champ2 From NomDeZone Order by champ1 asc
"

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Fichiers Excel;DBQ=c:Requete_MsQuery_Date.xls;" & _
"DefaultDir=c:;DriverIdy0;MaxBufferSize 48;PageTimeout=5;" _
, Destination:þuil3.Range("c1"))
.CommandText = Array(Requête)
.Name = "Denis"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With
End Sub
'---------------------------------------



"Frederic Revol" news:
48bbb6ba$0$2504$
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches...

Pouvez-vous m'aider?

Merci,

Fred




Publicité
Poster une réponse
Anonyme