Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
[PB 10.5][XP]
Bonjour a tous!
Voila mon probleme. J'ai une datawindow avec deux champs dropdownlist.
Lorsque je selectionne une item dans le premier champs, je fais un retrieve de la deuxieme dddw car sa liste depend du premier item selectionner. Et la j'ai une erreur :
DATAWINDOW ERROR
Database Transaction information not available
Call Settrans or Settransobject function
J'ai mis un settransobject, un coup, avant le deuxieme retrieve puis apres et ca ne marche pas.
Quelqu'un a une idée
If dwo.name = "code_produit" then dw_produit.getchild("code_produit", ldw_child3) li_num=ldw_child3.Find ( "code_produit = '"+ this.gettext() + "'", 1, ldw_child3.rowcount()) if li_num > 0 then dw_produit.setitem(1,"code_produit",ldw_child3.getitemstring(li_num,"code_produit")) end if if retour = 0 then wf_protect_dw_produit(2,0,0,2,2,0,0,0,0) dw_produit.settransobject( SQLCA) //initialisation des formats en fonction du code produit dw_produit.getchild("code_format", ldw_child2) if ldw_child2.retrieve(datetime(date(g_date_jour)),data)=0 then ldw_child2.insertrow(0) end if //dw_produit.settransobject( SQLCA) end if
Dernière modification par hellkinder (06-11-2006 10:03:40)
Hors ligne
Je precise qu'avec le debugger, on constate que l'erreur intervient exactement sur le retrieve...
Dernière modification par hellkinder (06-11-2006 10:02:49)
Hors ligne
l'erreur est sur quel dw ?
dw_produit ?
ldw_child3 ?
ou ldw_child2 ?
Hors ligne
sur dw_produit
Mais attends une minute car je crois que je viens de faire l'erreur la plus conne du monde... je te tiens au jus
Hors ligne
Ben non...je croyais qu'il avait un conflit car une requete portait le meme nom que ma dddw. mais non... donc des idées?
Hors ligne
ca plante à quel moment de la ligne du script ?
sinon
If dwo.name = "code_produit" then dw_produit.getchild("code_produit", ldw_child3) li_num=ldw_child3.Find ( "code_produit = '"+ this.gettext() + "'", 1, ldw_child3.rowcount()) if li_num > 0 then dw_produit.setitem(1,"code_produit",ldw_child3.getitemstring(li_num,"code_produit")) end if if retour = 0 then wf_protect_dw_produit(2,0,0,2,2,0,0,0,0) // dw_produit.settransobject( SQLCA) //initialisation des formats en fonction du code produit dw_produit.getchild("code_format", ldw_child2) ldw_child2.settransobject(sqlca) if ldw_child2.retrieve(datetime(date(g_date_jour)),data)=0 then ldw_child2.insertrow(0) end if //dw_produit.settransobject( SQLCA) end if
Hors ligne
Et vous savez pas ce qu'il m'a dit? Il m'a dit :
BANCO !
Merci beaucoup Pick Ouic
Est ce que tu peux me dire, de manière générale, à quel moment doit-on placer cette fameuse fonction settransobject?
Bye
Hors ligne
dw_produit.getchild("code_format", ldw_child2)
ldw_child2.settransobject(sqlca)
avant de faire un retrieve dans une child que tu viens de declarer, il faut toujours faire un settransobject.
de toute facon, dans une dw, le settransobject passe en premier avant le retrieve.
Hors ligne
Merci beaucoup pour toutes ces infos.
Hors ligne