(Cette fonction marche aussi pour les champs monovalué)
- Code : Tout sélectionner
Function LastIndiceField(wvrValue As Variant, Byval wChamp As String) As String
'renvois l'indice de la derniere valeur d'un champ.
'ATTENTION LA NUMEROTATION COMMENCE A ZERO
'si le champ est vide = 0
On Error Goto ErreurLastIndiceField
Select Case Ucase(Trim(Typename(wvrValue)))
Case "NOTESUIDOCUMENT"
If wvrValue Is Nothing Then
LastIndiceField = -1
Exit Function
End If
If Trim(wChamp) = "" Then
LastIndiceField = -1
Exit Function
Elseif wvrValue.document.HasItem(wChamp) = False Then
LastIndiceField = -1
Exit Function
End If
lastIndiceField = Ubound(wvrValue.document.GetItemValue(wChamp))
Case "NOTESDOCUMENT"
If wvrValue Is Nothing Then
LastIndiceField = -1
Exit Function
End If
If Trim(wChamp) = "" Then
LastIndiceField = -1
Exit Function
Elseif wvrValue.HasItem(wChamp) = False Then
LastIndiceField = -1
Exit Function
End If
lastIndiceField = Ubound(wvrValue.GetItemValue(wChamp))
Case "NOTESITEM"
If wvrValue Is Nothing Then
LastIndiceField = -1
Exit Function
End If
lastIndiceField = Ubound(wvrValue.values)
Case Else
LastIndiceField = -1
End Select
Exit Function
ErreurLastIndiceField:
Msgbox "(LastIndiceField) Erreur " + Str(Err) + " : " + Cstr(Error)+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
lastIndiceField = -1
End Function