Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bsr
j'ai deux datawindows (j'utilise une seule et même table pour les deux) je saisie des données dans dw_1(en freeform) , puis d'autres dans la dw_2(en grid)
je n'arrive pas à trouver comment faire pour enregistrer mes données correctement dans ma table
je m'explique: dans la dw_1 je fais référence à une seule ligne, dans la dw_2 plusieurs lignes (c'est une grille), je voudrait ajouter les données de dw_1 a chaque ligne de dw_2
ps: j'espere que le choix du titre n'est pas à coté de la plaque cette fois ci
dsl j'ai pas trouvé mieux
Dernière modification par disneb (01-08-2008 13:29:20)
Hors ligne
Bonsoir Disneb,
Un sharedata devrait être approprié pour partager les données entre tes deux datawindows (Si celles-ci sont sur la même fenêtre).
Il te suffit ensuite de faire l'update sur l'une des deux datawindow (définie avec les bonnes update properties).
Hors ligne
le sharedata retourne 1 si ça réussi et -1 dans le cas contraire, je ne sais pas pourquoi ça me retourne -1 ,pourtant j'ai verifier avec les conditions d'utilisation (c'est pas une crosstab, j'ai les memes colonnes vu que c'est une seule table )
qqn pourrait il m'eclairer?
Hors ligne
disneb a écrit:
... j'ai les memes colonnes vu que c'est une seule table ...
Non. Vérifie en comparant les deux DW. Dans 99% des cas, c'est ça
Hors ligne
Je confirme, mêmes colonnes!!!!
Hors ligne
On va passer à l'étape 2
Exporte tes deux DW et envoie les moi par MP (1 dw par MP)
Poste sur le forum ton powerscript où tu fais le sharedata
Hors ligne
disneb a écrit:
Je confirme, mêmes colonnes!!!!
Les clauses SELECT des deux requêtes SQL sont elles identiques? Sinon, ça ne peut pas marcher (NB: seule la clause "WHERE" peut être différente)
Hors ligne
Faut aussi verifier le type de chque colonne (number (x), decimale ...)
Hors ligne
integer n n=dw_head.sharedata(dw_ecriture) messagebox("trace", n)
foon a écrit:
Les clauses SELECT des deux requêtes SQL sont elles identiques? Sinon, ça ne peut pas marcher (NB: seule la clause "WHERE" peut être différente)
j'ai selectionner toutes les colonnes pour eviter les noises mais il m'a semblé avoir lu que les colonnes devaient être les mêmes, même si le select n'est pas pas le même
Hors ligne
disneb a écrit:
j'ai selectionner toutes les colonnes pour eviter les noises mais il m'a semblé avoir lu que les colonnes devaient être les mêmes, même si le select n'est pas pas le même
il me semble aussi qu'il faut que les colonnes soient dans le même ordre !
Hors ligne
Pour être plus précis:
Aide PB a écrit:
The columns must be the same for the DataWindow objects in the primary and secondary DataWindow controls, but the SELECT statements may be different. For example, you could share data between DataWindow objects with these SELECT statements:
Code: mssql
SELECT dept_id FROM dept SELECT dept_id FROM dept WHERE dept_id = 200 SELECT dept_id FROM employeeWHERE clause in secondary has no effect The WHERE clause in the DataWindow object in the secondary DataWindow control has no effect on the number of rows returned. The number of rows returned to both DataWindow controls is determined by the WHERE clause in the primary DataWindow object.
You could also share data with a DataWindow object that has an external data source and columns defined to be like the columns in the primary.
Il faut donc que tu vérifies que tu as le même nombre de colonnes, avec le même nom et le même type, dans ton datasource
Hors ligne
oui, il faut avoir le meme nombre de colonnes, dans le meme ordre... et les meme declarations aussi...
je me suis fait avoir recemment, un varchar(15) et un varchar(5) pour la meme colonne... et la, ca ne fonctionne plus si la donnée fait plus de 5 caracteres...
Hors ligne
finalement c'etait l'ordre!!!!
Hors ligne
disneb a écrit:
Je confirme, mêmes colonnes!!!!
On aurait dû parier : ce ne sont pas les mêmes.
La deuxième colonne ne correspond pas
datetime d'un coté (dat), char(200) de l'autre (int_ecriture)
Hors ligne
shahin a écrit:
On aurait dû parier : ce ne sont pas les mêmes.
La deuxième colonne ne correspond pas
datetime d'un coté (dat), char(200) de l'autre (int_ecriture)
qui dit mêmes colonnes dit pas forcement même ordre
Hors ligne
ça dépend si tu joues au loto ou au tiercé
Hors ligne
PS (J'ai corrigé dans tes messages pour augmenter la visibilité):
Comment utiliser le BBCode
Hors ligne
merci pour la leçon foon
Hors ligne
Foon, elle maitrise les émoticones
Hors ligne
[HS]
Arretes de te foon de sa poire
[HS]
Hors ligne
J'suis méchant, mais j'me soigne
Hors ligne
apparemment je ne suis pas la seule
[HS]
Arretes de te foon de sa poire
[HS]
Hors ligne
M'attaquer à l'admin qui a créé ce site?
Pas fou: étant un lâche servile et assumé, je n'embête que les p'tits nouveaux sans défense
(Bon, j'arrête de polluer ce topic)
Hors ligne
foon a écrit:
J'suis méchant, mais j'me soigne
tu devrais changer de traitement...ça marche pas
Hors ligne
Encore raté pour le BBCode
Hors ligne