Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)

Réponse
 
Outils de la discussion
Vieux 15/08/2008, 11h22   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut repeating table, web service, requete update

Bonjour a tous,

J'ai un probleme casi-similaire au precedent. J'ai trouve une solution a mon probleme, mais elle est un peu scabreuse a realiser.

je vous explique. J'ai dans mon formulaire Infopath une data connexion vers mon webservice effectuant une requete select. cette requete retourne une repeating table. Tout ca fonctionne sans probleme.

ce que je voudrais, c'est renvoyer les donnees de ma repeating table vers mon webservice afin de faire une requete UPDATE.

Pour effectuer ca, j'avais pensais faire une boucle avec comme test d'arret le nbre d'elements ds ma repeating table et d'appeler ma methods update a chaque nouvelle ligne de la repeating table. mais cela est complexe et lourd pour l'execution des donnees.
Je pensais aussi pourquoi ne pas renvoyer ma repeating table a mon webservice et ensuite dans le webservice effectuer la requete.

y a t-il une facon d'optimiser ces enregistrements ?

merci de vos conseils
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/08/2008, 15h31   #2 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: J'peux pas bien dire...
Âge: 24
Messages: 1 609
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Salut,

Comme tu le dis très bien un appel avec beaucoupo de données et plus perfommant que 10 fois un petit appel.

Donc envoi ton noeud parent qui contient tes éléments répétitif et dans ton webservice fait une boucle sur ces élément et insérent les un a un.

++

Thierry
__________________
"Life is short don't forget to inhale"
Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Microsoft Office InfoPath MVP - Mon blog
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/08/2008, 11h59   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

bonjour, je retourne donc mon noeud selectionned ans mon webservice sous format string. Mais petit probleme, il me retourne toutes mes valeurs collees les unes aux autres de cette facon :

Citation:
2087881BeakBane10DELIVERED2087883Midland11N/A2087885THK
Il m'est donc difficile de cerner les balises. Comment faire dans ce cas ?

A l'origine, mon fichier xml qu'Infopath recoit pour afficher mes donnees est tel qui suit :

Code :
 
<blocktotal id_block="2"> /block que j'ai selectionne dans mon code infopath
       <description id="1">
          ....
       </description>
       <description id="2">
          ....
       </description>
</blocktotal>
 

Dernière modification par padawanette ; 19/08/2008 à 13h22
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/08/2008, 13h39   #4 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: J'peux pas bien dire...
Âge: 24
Messages: 1 609
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Salut,

Si je peux pas voir le code que tu as dans ton webservice je ne pourrais jamais te dire qu'es-ce qu'il y a de faux.

Je veux voir les deux codes celui qui envoie et celui qui traite le résultat dans le webservice.
__________________
"Life is short don't forget to inhale"
Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Microsoft Office InfoPath MVP - Mon blog
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/08/2008, 14h26   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Code in Infopath

Code :
 
'select the ID of Description Block thanks to the xml_incrementation using in the button
Dim ID As String = Me.DataSources("xml_incrementation").CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:dataFields/tns:xml_incrementationResponse/tns:xml_incrementationResult/Extra/BlocToSee", NamespaceManager).Value
Dim Area As String = Me.DataSources("Supplier").CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:queryFields/tns:Supplier/tns:area", NamespaceManager).Value
 
'Connect to the data connection to select the infomation
Dim conn As XPathNavigator = Me.DataSources("Supplier").CreateNavigator()
 
'Select the noeuds what we need in function of the BlocToSee field
Dim XPath As String = "/dfs:myFields/dfs:dataFields/tns:SupplierResponse/tns:SupplierResult/Supplier/BLOCKTOTAL[@id_block='" + ID + "']"
Dim ligneSelect As XPathNavigator = conn.SelectSingleNode(XPath, NamespaceManager)
 
Dim test As String = ligneSelect.ToString
 
'Dim WsSave As save_infopath.Update = New save_infopath.Update()
'send the data in the webservice in calling the method
'WsSave.UPDATE_Supplier(test)
 
'post my receive data in a text-box
Dim Description As XPathNavigator = Me.MainDataSource.CreateNavigator.SelectSingleNode("/my:myFields/my:result_Supplier", NamespaceManager)
Description.SetValue(test)
 
Sur mon webservice, j'avais creer un code pour un fichier XML et comme ca ne fonctionnais pas, j'ai mis en commentaire du cote infopath l'apel a ma methode et j'ai renvoyer ma data dans une texte box.

Dernière modification par padawanette ; 20/08/2008 à 14h17
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/08/2008, 14h32   #6 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: J'peux pas bien dire...
Âge: 24
Messages: 1 609
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

écoute il existe des méthode qui sont décrit dans l'aide de Visual studio qu'il faudrait consulter avant de poster.

.Value et .toString ne renvoit que la valeur du champ pas les balises.

Tu dois utiliser outerxml ou innerxml je te laisse consulter l'aide pour voir la différence entre ces méthode.

++

Thierry
__________________
"Life is short don't forget to inhale"
Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Microsoft Office InfoPath MVP - Mon blog
virgul est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide