Est-ce que quelqu'un connaît un moyen de déconstruire une instruction SQL (prendre une instruction SQL select, extraire des colonnes de chaque SELECT, des tables de chaque FOR et chaque JOIN, et des critères de filtrage de chaque WHERE. Je peux ensuite mettre ces données dans une table de nomenclature pour créer une "carte" de la requête), y compris les sous-requêtes, en utilisant VBA? J'ai un projet pour mapper les vues Teradata dans une base de données Access. J'aimerais avoir une méthode automatisée pour le faire.Analyse/déconstruction de SQL avec VBA-Access
Répondre
Vous souhaitez accéder aux sous-structures arbitraires d'une requête SQL (y compris les sous-requêtes SELECT)? Ce dont vous avez besoin est un analyseur complet pour le dialecte SQL d'intérêt.
SQL est un langage assez vaste et compliqué. Il est possible de coder à la main un analyseur de descente récursif pour ce faire, mais c'est beaucoup de travail. Vous seriez probablement mieux avec un générateur d'analyseur et un SQL BNF pour le nourrir.
Mais le fait que vous vouliez faire cela dans VBA laisse entendre que vous ne trouverez probablement pas un tel générateur d'analyseur. Vous devrez peut-être appeler un générateur d'analyseur codé dans une autre langue (par exemple, C#) si vous voulez avoir une chance raisonnable de le faire avec un effort modeste, et aller trouver un analyseur SQL préexistant.
- 1. Comparaison de tableaux avec sql
- 2. Connexion SQL 2008 avec SQL 2005 SSMS
- 3. SQL: Rechercher et remplacer avec SQL?
- 4. Utilisation de requêtes SQL personnalisées avec LINQ to SQL ... Aide
- 5. Dépendance SQL avec SQL Server Express 2005
- 6. Assistance avec instruction SQL
- 7. lutte avec SQL
- 8. SQL - confondu avec agrégats
- 9. avec SQL Query
- 10. Aide avec sql query
- 11. Publipostage avec SQL Server
- 12. Optimiser SQL avec Interbase
- 13. ASP.NET avec SQL
- 14. Combiner SQL avec PHP
- 15. configure apache avec sql
- 16. aide avec alias sql
- 17. Difficulté avec sql requête
- 18. Besoin d'aide avec SQL
- 19. problème avec sql comme
- 20. Moodle avec SQL Server
- 21. avec date CE sql
- 22. Rejoindre table avec sql
- 23. avec SQL Trace
- 24. Aide avec SQL Query
- 25. SQL Cas avec conditions
- 26. Problème avec instruction SQL
- 27. avec la syntaxe SQL
- 28. Data Flating avec SQL
- 29. Syntaxe de table SQL Server avec index
- 30. Coincé avec une requête de jointure SQL
Essayez-vous d'analyser SQL? – BIBD
Je veux prendre une instruction SQL select, extraire des colonnes de chaque SELECT, des tables de chaque FOR et chaque JOIN, et des critères de filtrage de chaque WHERE. Je peux ensuite mettre ces données dans une table de nomenclature pour créer une "carte" de la requête. – DataZombies
Si vous enregistrez une instruction SELECT en tant que Access QueryDef, vous pouvez identifier les champs de sortie en parcourant la collection QueryDef.Fields. Malheureusement, ce n'est qu'un des éléments que vous voulez. Je ne sais pas comment obtenir les autres. – HansUp