Erreur dans mon code infopath
Bonjour chers amis developpeur,j'ai deux zones de listes modifiables.
-La première zone de liste modifiable est lié au libelle de la table Structure de la base de données SQL.
CREATE TABLE [dbo].[Structure](
[Id_structure] [int] IDENTITY(1,1) NOT NULL,
[Libelle] [varchar](50) NULL,
CONSTRAINT [PK_Structure] PRIMARY KEY CLUSTERED
(
[Id_structure] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Unités](
[Id_Unite] [int] IDENTITY(1,1) NOT NULL,
[Libell] [varchar](50) NULL,
[Id_structure] [int] NULL,
CONSTRAINT [PK_Unités] PRIMARY KEY CLUSTERED
(
[Id_Unite] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Lorsque je sélectionne le champ1qui est la première zone de liste modifiable,je veux afficher les éléments dans champs 2qui est la deuxième liste modifiable.
lorsque je sélectionne un élément du champ1,il m'affiche un seul élément dans le champ2 alors que je voudrais avoir tous les éléments.
j'ai besoin de votre concours.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Public Sub champ1_Changed(ByVal sender As Object, ByVal e As XmlEventArgs)
' Tapez votre code ici pour modifier la source de données principale.
Dim A As String
'recuperation des champs
Dim myNav As XPathNavigator = Me.MainDataSource.CreateNavigator()
Dim Aa As XPathNavigator = myNav.SelectSingleNode("/my:mesChamps/my:champ1", Me.NamespaceManager)
Dim Bb As XPathNavigator = myNav.SelectSingleNode("/my:mesChamps/my:champ2", Me.NamespaceManager)
A = Aa.Value
'creation de la connexion a la base de donnees
Dim myConnection As New SqlConnection
Dim recherchagent, Libelle, Unite As String
Dim agentCommand As SqlCommand
Dim myReader As SqlDataReader
myConnection.ConnectionString = "Data Source=PEMCODEV\SQLEXPRESS;Initial Catalog=papa;Integrated Security=True"
'ouverture de la connexion
myConnection.Open()
'Effectuer ici des opérations sur la base
recherchagent = "SELECT Libelle,Libell FROM Structure,Unités WHERE Libelle='" + A + "'AND Structure.Id_structure=Unités.Id_structure "
agentCommand = New SqlCommand(recherchagent, myConnection)
myReader = agentCommand.ExecuteReader()
Dim i As Integer
For i=1 to 100
While (myReader.Read())
Unite = myReader.GetValue(i)
myNav.SelectSingleNode("/my:mesChamps/my:champ2", Me.NamespaceManager).SetValue(Unite)
'Unite = ""
End While
next i
'Fermeture de la connexion
myConnection.Close()
End Sub |