Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour, voila mon probleme rencontre avec PB (6.5 -> 11.5)
Pour faire bref, j'ai une DW avec un select, sans argument, tres simple.
ma DW a un champ dont je souhaite augmenter la borne du nombre de caracteres admis dynamiquement:
Voici ce qui fonctionne:
s_expr_edit_limit = "s_column_1.edit.limit="+string(a_stparm.first_col_width) //first_col_width vaut 20
ret_value=dw_1.Modify(s_expr_edit_limit)
Je peux sans probleme modifier la limite d'edit, mais il m'est impossible de modifier dynamiquement le type du champ tel qu'il est declare dans le source code de la DW:
column=(type=char(20) update=yes ...
Cette propriete n'est accessible qu'en describe, et non en modify...
Quelqu'un a-t-il deja ete confronte a ce probleme?
Ce quelqu'un a-t-il trouve une solution?
Merci.
Hors ligne
je crois qu'il faudrait d'abord le modifier dans la base de données via un curseur dynamique (mais là, je dis peut-être une bêtise)
Hors ligne
Helas, ca ne solutionnera pas mon probleme, car sauf l'utilisation de l'export-import dynamiquement (sans garantie de reussite), le type des champs est defini a la creation de la DW une fois pour toute...
Hors ligne
Salut
pourquoi ne pas definir directement au debut le max que tu pourrais avoir et modifier uniquement limite d'edit ?
Hors ligne
Pour le problème de changement du type, ça semble normal vu que la structure des colonnes de la DW dépend de la structure de la table au moment où on crée la DW.
Maintenant y a peut être moyen de ruser en modifiant le code source de la DW puis de lui réinjecter avec un create()
Le code de la DW tu peux le récupérer avec un describe("datawindow.syntax")
Hors ligne
JCZ a écrit:
Salut
pourquoi ne pas definir directement au debut le max que tu pourrais avoir et modifier uniquement limite d'edit ?
C'est ce que je comptais faire dès le départ, mais mon client très versatile et surtout totalement désorganisé n'a aucune idée de la longueur max des champ (sic!)
Hors ligne
seki a écrit:
Maintenant y a peut être moyen de ruser en modifiant le code source de la DW puis de lui réinjecter avec un create()
Le code de la DW tu peux le récupérer avec un describe("datawindow.syntax")
C'est ce que je craignais...
Je vais voir ce que je peux faire... sachant que je voulais éviter ce genre de complication...mais je pense que je n'aurai pas le choix.
Merci beaucoup
Hors ligne