Probleme : String >> 255 caracteres ??

Résolu
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006 - 4 janv. 2005 à 21:47
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006 - 5 janv. 2005 à 00:25
Voila , j'ai fait un programme de base de données pour gerer des collections d'albums audio.

Je vient de mettre une option pour changer la casse des textes.
Pour ca j'ai ecrit dans un modul des petites fonctions , elles marchent tres bien sauf que elle ne depassent pas 255 caracteres ???

Public Function CasseMinuscule(Expression As String)
If Len(Expression) < 1 Then Exit Function
CasseMinuscule = Format(Expression, "<")
End Function


Public Function CasseMajuscule(Expression As String)
If Len(Expression) < 1 Then Exit Function
CasseMajuscule = Format(Expression, ">")
End Function

Public Function CasseDeMot(Expression As String)

Dim i As Integer

If Len(Expression) < 1 Then Exit Function
Expression = Format(Expression, "<")
Mid(Expression, 1, 1) = Format(Mid(Expression, 1, 1), ">")
For i = 1 To Len(Expression) If Mid(Expression, i, 1) " " Then Mid(Expression, i + 1, 1) Format(Mid(Expression, i + 1, 1), ">")
Next

CasseDeMot = Expression

End Function

Puis dans mon code j'utilise CasseDeMot(RC!Pistes) par exemple, et ca me retourne seulement les 255 premiers caracteres.

d'ou vien le probleme ?? le type String est pas variable ??

7 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 janv. 2005 à 23:59
UCase renvoit un Variant alors que UCase$ renvoit une String. Comme tu travaille en String, mieux vaut utiliser les version $ de ces fonctions


Christophe R
3
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006
4 janv. 2005 à 22:08
Puis quand je fait ca :

Public Function CasseMajuscule(Expression As String)

MsgBox Expression

If Len(Expression) < 1 Then Exit Function
CasseMajuscule = Format(Expression, ">")

MsgBox CasseMajuscule

End Function

Le premier msgbox me donne l'expression complete , alors que la deuxieme me donnne seulement 255 caractere .....
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 janv. 2005 à 22:15
Et ça, tu connais ?
Msgbox UCase$(Expression) et Msgbox LCase$(Expression) ?


Christophe R
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 janv. 2005 à 22:18
Sinon, si vraiment tu veux utiliser tes fonctions :
1- Donne leur un type retour : Function CasseMajuscule(...) AS STRING
2- La ligne "If Len(Expression) < 1 Then Exit Function" me semble inutile !!


Christophe R
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006
4 janv. 2005 à 22:19
Vi ca marche , ca venait du Format alors ?

et c koi la difference entre UCase et UCase$ ?

Merci
0
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006
4 janv. 2005 à 22:23
desolé pour le "If Len(Expression) < 1 Then Exit Function" , c'est que en fait dans la fonction il y a deux / trois autre choses , la j'avait isolé juste la partie qui posait probléme mais j'ai oublié d'enlever la ligne.

visiblement c l'instruction Format qui etait le probleme , elle peut pas traiter + de 255 caracteres ??
0
cs_Danyz Messages postés 98 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 31 octobre 2006
5 janv. 2005 à 00:25
Merci pour l'explication , c'est cool ;)
0
Rejoignez-nous