déterminer le dernière indice d'un champ multivalué

déterminer le dernière indice d'un champ multivalué

Messagepar Michael DELIQUE » 22 Juil 2005 à 14:13

(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
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers Gestion des champs