Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Je cherche le moyen de retourner dynamiquement la liste des tables utilisées dans une datawindow.
Quelqu'un pourrait-il m'aider ?
Merci d'avance
Hors ligne
Salut
Il faut analyser
<DW Control Name>.Object.DataWindow.Table.SQLSelect
ou si la table est updatable tu as
<DW Control Name>.Describe("DataWindow.Table.UpdateTable")
Hors ligne
Récupère la syntaxe SQL avec un dwcontrol.GetSQLSelect ( ), puis extrait la partie de string retournée comprise entre "FROM" et "WHERE"
Pour info complémentaire:
Aide PB a écrit:
When you define a DataWindow, PowerBuilder stores a PowerBuilder SELECT statement (PBSELECT) with the DataWindow. If a database is connected and SetTransObject has been called for the DataWindow, then GetSQLSelect returns the SQL SELECT statement. Otherwise, GetSQLSelect returns the PBSELECT statement.
You can also use Describe to obtain the SQL SELECT statement. The DataWindow object's Table.Select property holds the information.
Hors ligne
Hors ligne
Il n y a pas plus simple, du style un attribut qui renvoie la liste des tables séparées par un point virgule ?
Hors ligne
en effet, histoire de ne pas se taper tout le sql, je pensais qu'il existait p-e un attribut donnant la liste des tables utilisées ...
sinon, on fera du décryptage (pas tjs simple en cas de jointures, d'unions ou autres)
merci pour vos réponses
Hors ligne