Microsoft 365 WinSearch VBA | PowerPivot et/ou PowerQuery

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Pour faire écho à la discussion de @patricktoulon, j'ai retrouvé ce fil

J'ai voulu testé sur 365 et W10 64 bits
Et j'ai ce message d'erreur
ERROR_DSO.PNG

Alors tout comme @patricktoulon , je vous invite à tester le code présent dans la discussion de 2013 citée plus haut

La question étant: est-ce que chez vous aussi ce message d'erreur apparait ?

EDITION: Voir le message#57 où apparait PowerPivot dans l'histoire.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

En attendant de remettre le point, ce j'appelle la syntaxe SQL qui fonctionne donne ceci en modifiant le TCD comme suit.
Pivot3.png
Pivot3b.png


Je vais essayer de tester si l'actualisation du TCD est rapide ou pas quand j'ajoute des fichiers dans Documents

@crocrocro
Merci pour avoir relevé la coquille ;)
A l'usage, PowerPivot c'est plus ergonomique pour tester les chaines SQL
et le TCD permets de varier facilement les visualisations
Cela va simplifier mon apprentissage.
 
Dernière édition:

dysorthographie

XLDnaute Accro
Bonjour,
@dysorthographie (qui est plus concise)
PS: je suis étonné que vu ton niveau, tu te laisses allé à utiliser une IA 🤔
Je ne sais pas si cette remarque s'adressait à moi, m'a seule utilisation de ia consiste à la documentation pour expliquer ce que fait le code que je fournir.

Plus rarement la documentation du code proremenent dit, bien qu'il est très difficile de lui interdire de le modifier. Si vous avez les mots clés je suis preneur

A aborder de sujet que je ne metrise pas afin d'obtenir un minimum de compréhension.

Mais en aucun ca pour "pisser" du code ce que je fais beaucoup mieux que luis.

Il est très faible dans ce domaine. Le code qu'il produit mes incompréhensible.

Il serait dommage pour un illettrés comme moi de ce passer de la puissance rédactionnel de ia.

Si mon patron avait convenu ia à l'époque où j'étais encore en activité, il ce sera pas senti obligé de partager son secrétariat avec moi.


Et il a juger que ma productivité valait bien le sacrifice d'une secrétaire.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil


@dysorthographie
Non, je m'adressais pas à toi.

Je suis le conseil de @crocrocro => les tutoriels
Je commence par le début ;)

Et là, @dysorthographie , je m'adresse à toi, est-ce tu as un logiciel à me recommander pour pratiquer le SQL?
(à part Excel) ?
Mes recherches m'ont mené à : DB Browser for SQLite

 

Staple1600

XLDnaute Barbatruc
Re

Voici mes tests du jour pour ce qui concerne WS

SqlB = "SELECT TOP 10 System.ItemUrl FROM SystemIndex WHERE System.Kind = 'picture'"

SqlB = "SELECT TOP 30 System.ItemUrl FROM SystemIndex WHERE System.Kind = 'document'"

SqlB = "SELECT System.ItemName, System.ItemPathDisplay,System.Search.AutoSummary FROM SystemIndex WHERE SCOPE ='C:\Users\STAPLE\Documents' AND System.FileExtension='.bat'"

SqlB = "SELECT TOP 5 System.ItemUrl,System.ItemDate FROM SystemIndex WHERE SCOPE ='C:\Users\STAPLE\Documents' AND System.FileExtension='.xlsx'"

Si j'ajoute System.ItemDate il faut que je reformate la colonne qui reçoit les dates en jj/mm/aaaa hh:mm:ss
Comment faire pour reformater les dates en amont ?

PS: N'hésitez pas à proposer vos exemples de SqlB, des plus simples ou plus complexes
(pour tester avec Windows Search) ;)

Bonne journée
 

jurassic pork

XLDnaute Occasionnel
Avec ma version d'Excel, privé de PowerPivot .
Hello,
crocrocro il me semble que tu travailles sous Excel 2016 et normalement il y a powerpivot sous Excel 2016 mais attention c'est un complément COM :
PowerPivot.png


Sinon j'ai essayé d'utiliser PowerQuery pour faire la même chose qu'avec PowerPivot avec cette requête :
PowerQuery:
= OleDb.Query(
    "Provider=Search.CollatorDSO;Extended Properties='Application=Windows'",
    "SELECT 
System.ItemTypeText,
System.Size, System.ItemFolderNameDisplay,
CAST(System.ItemFolderPathDisplay as DBTYPE_BSTR),
System.DateCreated,
System.DateAccessed,
System.FileExtension,
CAST(System.ItemName AS DBTYPE_BSTR)
FROM SYSTEMINDEX
WHERE SCOPE='file:D:\dev'"
)

mais j'ai une erreur :
DataSource.Error : OLE DB : Aucune message d'erreur disponible, code de résultat : DB_E_ERRORSOCCURRED(0x80040E21).
Détails :
DataSourceKind=OleDb
DataSourcePath=extended properties="Application=Windows";provider=Search.CollatorDSO
Message=Aucune message d'erreur disponible, code de résultat : DB_E_ERRORSOCCURRED(0x80040E21).
ErrorCode=-2147217887


Ami calmant, J.P
 

Staple1600

XLDnaute Barbatruc
Re

Plus d'erreur mais la table reste vide me dit PQ
PowerQuery:
let
Source = OleDb.DataSource("provider=Search.CollatorDSO.1;extended properties=""Application=Windows"""),
Test=OleDb.Query(Source,"SELECT 
System.ItemTypeText,
System.Size, System.ItemFolderNameDisplay,
CAST(System.ItemFolderPathDisplay as DBTYPE_BSTR),
System.DateCreated,
System.DateAccessed,
System.FileExtension,
CAST(System.ItemName AS DBTYPE_BSTR)
FROM SYSTEMINDEX
WHERE SCOPE='C:\Users\STAPLE\Documents\EXCEL'")
in
 Source
Si quelqu'un trouve où le bât blesse, merci à lui.
Faut que j'aille bosser pour de bon cette fois

Bonne journée à tous
 

jurassic pork

XLDnaute Occasionnel
Plus d'erreur mais la table reste vide me dit PQ
PowerQuery:
let
Source = OleDb.DataSource("provider=Search.CollatorDSO.1;extended properties=""Application=Windows"""),
Test=OleDb.Query(Source,"SELECT
System.ItemTypeText,
System.Size, System.ItemFolderNameDisplay,
CAST(System.ItemFolderPathDisplay as DBTYPE_BSTR),
System.DateCreated,
System.DateAccessed,
System.FileExtension,
CAST(System.ItemName AS DBTYPE_BSTR)
FROM SYSTEMINDEX
WHERE SCOPE='C:\Users\STAPLE\Documents\EXCEL'")
in
 Source
Si quelqu'un trouve où le bât blesse, merci à lui.
Faut que j'aille bosser pour de bon cette fois
Hello Staple1600,
tu as mis in Source au lieu de in Test 🫣
et il faut se méfier de PowerPivot qui te crée des connexions
 

crocrocro

XLDnaute Occasionnel
Bonjour le fil,

@jurassic pork :
Hello,
crocrocro il me semble que tu travailles sous Excel 2016 et normalement il y a powerpivot sous Excel 2016
Pas avec Excel 2016 Famille Etudiant :(

@Staple1600
Si j'ajoute System.ItemDate il faut que je reformate la colonne qui reçoit les dates en jj/mm/aaaa hh:mm:ss
Comment faire pour reformater les dates en amont ?
ce qui marche
CAST(System.ItemDate AS DBTYPE_DATE)
à voir ce lien, au cas par cas https://www.ibm.com/docs/fr/informi...8G_12.1.0/com.ibm.oledb.doc/ids_oledb_026.htm

PS: N'hésitez pas à proposer vos exemples de SqlB, des plus simples ou plus complexes
çà peut faire des pages mais comme je te l'ai dit précédemment, le langage SQL est très simple comparé à la syntaxe Excel formules et VBA.
Je donnerai plus tard quelques exemples.
Pour extraire des données avec un SELECT, avec une 20aine de mots clés tu as fait globalement le tour et tu trouveras sur internet des tutos simples;
En connaissant Excel, le parallèle est évident avec la présentation des tableaux (tris, filtres, listes déroulantes ...)
 
Dernière édition:

dysorthographie

XLDnaute Accro
Et là, @dysorthographie , je m'adresse à toi, est-ce tu as un logiciel à me recommander pour pratiquer le SQL?
(à part Excel) ?
Mes recherches m'ont mené à : DB Browser for SQLite
Bonjour,
SQLite est une bonne solution.

Tu peux également télécharger uamp qui est une distribution qui offre une base de données MySQL ainsi qu'un serveur Apache et le tout sur clé USB sous windows.

Il existe également localdb qui est un moteur de base de données SQL serveur très léger.

Excel, pour débuter, peut faire office de base de données.
Il accepte les requêtes SQL type insert, update, inner joint, left joint etc.
 

Statistiques des forums

Discussions
314 244
Messages
2 107 699
Membres
109 906
dernier inscrit
flavie06