Bonjour,

je fais une requête qui me permet de remplir le champ d'une table Soudure à partir d'un champ d'une table Piece.
le problème est que dans mon dataRow, il n'arrive pas à récupérer tous les champs.

voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
 
    Private Function UpdateDataSource(ByRef SourcesRows As DataRowCollection) As Boolean
        UpdateDataSource = True
        If VerifString(Me.Destination.SourceName) And VerifString(Me.Destination.TableName) And _
           VerifString(Me.Destination.ProductionDate) And VerifString(Me.Destination.RelationedIdentifier) Then
            Dim cSource As Productys.Structure.Classes.Source_de_Donnees = CurrentProjet.BDD(Me.Destination.SourceName)
            'Si la source de données a bien été trouvée
            If Not cSource Is Nothing Then
                'Récupération du provider
                Dim PrvDest As Productys.Structure.Classes.Provider = Providers(cSource.ProviderName)
                If Not PrvDest Is Nothing Then
                    Dim UpdtCmd As String = "UPDATE  " & EntreCrochets(Me.Destination.TableName, PrvDest) & " SET " & EntreCrochets(Me.Destination.RelationedIdentifier, PrvDest) & " = "
                    'Pour chaque lignes de la table source
                    For Each row As DataRow In SourcesRows
                        Try
                            'Création de la requete d'insertion du champ unique dans la table destination
                            Dim SQLCmd As String = UpdtCmd & "'" & row(Me.Source.UniqueIdentifier) & "' "
                            SQLCmd &= " WHERE " & EntreCrochets(Destination.ProductionDate, PrvDest) & " BETWEEN " & _
                                SetSQLDateTimeFormat(row(Me.Source.StartDate), cSource) & " AND " & _
                                SetSQLDateTimeFormat(row(Me.Source.StopDate), cSource) & ""
                            If Me.Source.SecondIdentifier <> "" And Me.Destination.SecondField <> "" Then
                                SQLCmd &= " AND " & EntreCrochets(Destination.SecondField, PrvDest) & " = " & row(Me.Source.SecondIdentifier) & ""
                            End If
                            If Me.UpdateOnlyNull Then
                                SQLCmd &= " AND " & Destination.RelationedIdentifier & " IS NOT NULL "
                            End If
                            'Execution de la requete de mise à jour
                            If Not PrvDest.ExecuteQuery(cSource, SQLCmd, Nothing) Then
                                UpdateDataSource = False
                            End If
                        Catch ex As Exception
                            UpdateDataSource = False
                        End Try
                    Next
                End If
            End If
        End If
        Return UpdateDataSource
    End Function

le problème se pose sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
If Me.Source.SecondIdentifier <> "" And Me.Destination.SecondField <> "" Then
                                SQLCmd &= " AND " & EntreCrochets(Destination.SecondField, PrvDest) & " = " & row(Me.Source.SecondIdentifier) & ""
end if
pour la partie row(Me.Source.SecondIdentifier), quand je regarde les champs que contient row, il n'en trouve que 3 au lieu de 6.

si quelqu'un à une idée, je ne sais vraiement pas d'où ça peut venir.

merci d'avance