Méthode QueryTables.Add (Excel)
Crée une table de requêtes.
Syntaxe
expression. Ajouter (Connexion, Destination, Sql)
Expression Variable qui représente un objet QueryTables .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Connection | Requis | Variant | Source de données pour la table de requêtes. Il peut s'agir d'un des éléments suivants :
|
Destination | Obligatoire | Range | Cellule dans l'angle supérieur gauche de la plage de destination de la table de requêtes (plage dans laquelle la table de requêtes résultante sera placée). La table de destination doit figurer sur la feuille de calcul contenant l'objet QueryTables spécifié par l'expression. |
Sql | Facultatif | Variant | Chaîne de requête SQL à exécuter sur la source de données ODBC. Cet argument est facultatif lorsque vous utilisez une source de données ODBC (si vous ne le spécifiez pas ici, vous devez le définir à l’aide de la propriété Sql de la table de requête avant l’actualisation de la table). Vous ne pouvez pas utiliser cet argument si un objet QueryTable, un fichier texte, ou un objet Recordset ADO ou DAO est spécifié comme source de données. |
Valeur renvoyée
Objet QueryTable qui représente la nouvelle table de requête.
Remarques
Une requête créée par cette méthode n’est pas exécutée tant que la méthode Refresh n’est pas appelée.
Exemple
Cet exemple crée une table de requêtes basée sur un recordset ADO. L'exemple conserve les paramètres de tri et de filtrage de colonne, ainsi que les informations sur la disposition pour assurer la compatibilité descendante.
Dim cnnConnect As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Set cnnConnect = New ADODB.Connection
cnnConnect.Open "Provider=SQLOLEDB;" & _
"Data Source=srvdata;" & _
"User ID=testac;Password=4me2no;"
Set rstRecordset = New ADODB.Recordset
rstRecordset.Open _
Source:="Select Name, Quantity, Price From Products", _
ActiveConnection:=cnnConnect, _
CursorType:=adOpenDynamic, _
LockType:=adLockReadOnly, _
Options:=adCmdText
With ActiveSheet.QueryTables.Add( _
Connection:=rstRecordset, _
Destination:=Range("A1"))
.Name = "Contact List"
.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
Cet exemple importe un fichier texte de largeur fixe dans une nouvelle table de requêtes. La première colonne du fichier texte, d'une largeur de 5 caractères, est importée comme texte. La seconde colonne du fichier texte a une largeur de quatre caractères et est ignorée. Le reste du fichier texte est importé dans la troisième colonne au format Général.
Set shFirstQtr = Workbooks(1).Worksheets(1)
Set qtQtrResults = shFirstQtr.QueryTables.Add( _
Connection := "TEXT;C:\My Documents\19980331.txt",
Destination := shFirstQtr.Cells(1,1))
With qtQtrResults
.TextFileParsingType = xlFixedWidth
.TextFileFixedColumnWidths := Array(5,4)
.TextFileColumnDataTypes := _
Array(xlTextFormat, xlSkipColumn, xlGeneralFormat)
.Refresh
End With
Cet exemple crée une table de requêtes sur la feuille de calcul active.
sqlstring = "select 96Sales.totals from 96Sales where profit < 5"
connstring = _
"ODBC;DSN=96SalesData;UID=Rep21;PWD=NUyHwYQI;Database=96Sales"
With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:=Range("B1"), Sql:=sqlstring)
.Refresh
End With
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour