Hello
je coince sur un truc tout bête, j'ai besoin en Lotus Script de déterminer le type d'une colonne dans une vue (numerique/texte/Date) mais je ne trouve rien qui me donne une info claire et fiable
une petite idée ?
Merci
Hello
je coince sur un truc tout bête, j'ai besoin en Lotus Script de déterminer le type d'une colonne dans une vue (numerique/texte/Date) mais je ne trouve rien qui me donne une info claire et fiable
une petite idée ?
Merci
Essaie Datatype(la vlauer dans ta colonne de ta vue) de mémoire ça doit le faire.
Oui je pense aussi que le type de la colonne c'est le type des valeurs dedans.
Il y a un "type" d'affichage de la colonne, mais c'est une préférence d'affichage, ça ne préfigure probablement pas ce qui est dans la liste des valeurs.
Pas bête le DataType j'y avais pas pensée
mais j'ai fais autrement, en parsant le XML de la vue
Public Function ViewColonneType(wvwView As NotesView, wDBtarget As NotesDatabase) As Variant
Dim Doc As NotesDocument
Dim exporter As NotesDXLExporter
Dim XML As String
Dim vrValue As Variant
Dim nbUBound As Integer
Dim i As Integer
Dim Array () As String
Dim Decimal As String
Dim Temp As String
On Error GoTo CatchError
ViewColonneType = Null
If wvwView Is Nothing Then
Error 9999,"wvwView is Nothing"
Exit Function
End If
If wDBtarget Is Nothing Then
Error 9999,"wDBtarget is Nothing"
Exit Function
End If
If Session Is Nothing Then
Set Session = New NotesSession
End If
Set Doc = DocSearchByUNID(wvwView.Universalid,wDBtarget,"","")
If Doc Is Nothing Then
Error 9999,"Doc is Nothing for UNID : "+wvwView.Universalid
Exit Function
End If
Set exporter = session.CreateDXLExporter
XML = LCase(exporter.Export(Doc))
Set Doc = Nothing
Set exporter = Nothing
If Trim(XML) = "" Then
Error 9999,"XML is Empty"
Exit Function
End If
Decimal = ""
vrvalue = Split(XML,"decimalsym='")
If IsArray(vrValue) = True Then
If IsEmpty(vrValue) = False Then
If UBound(vrValue) > 0 Then
Decimal = StrLeft(vrValue(1),"'")
End If
End If
End If
vrValue = Null
vrValue = Split(XML,"<column ")
XML = ""
If IsArray(vrValue) = False Then
vrValue = Null
Exit Function
ElseIf IsEmpty(vrvalue) = True Then
vrValue = Null
Exit Function
End If
nbUbound = UBound(vrValue)
If nbUbound < 2 Then
vrValue = Null
Exit Function
End If
vrValue(0) = ""
ReDim Array(1 To nbUbound)
Temp = ""
For i = 1 To nbUbound
If InStr(vrValue(i),"datetimeformat") > 0 Then
If InStr(vrValue(i),"show='datetime'") > 0 Then
Temp = "DT"
ElseIf InStr(vrValue(i),"show='date'") > 0 Then
Temp = "D"
ElseIf InStr(vrValue(i),"show='time'") > 0 Then
Temp = "T"
Else
Temp = "DT"
End If
Array(i) = "D"+";"+Temp
else
If InStr(vrValue(i),"numberformat") > 0 Then
If InStr(vrValue(i),"varying='true'") > 0 Then
Temp = "V"
Else
Temp = StrLeft(StrRight(vrValue(i),"digits='"),"'")
If Trim(Temp) = "" Then
Temp = "0"
End If
End If
Array(i) = "N;"+Decimal+";"+Temp
Temp = ""
Else
Array(i) = "T"
End If
End if
Temp = ""
Next
vrValue = Null
ViewColonneType = Array
Erase Array
Exit Function
CatchError:
MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
ViewColonneType = Null
Exit Function
End Function
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager