IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Calculfied dans un report [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut Calculfied dans un report
    Bonjour,

    Pour la creatin d'un rapport je souhaite decoupe une chaine en fonctionne de sa longueur et renvoye un caractere.
    La fonction ci dessous fonctionne bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    =iif(
    	Len(Fields!BatchNumber.Value) = 9,
    	GetChar(Fields!BatchNumber.Value, 8),
    			"?"
    )
    Par contre, lorsque j'essaye d'en imbriquer plusieurs cela ne fonctionne plus que pour la derniere verification.
    (Ici pour les chaines de 12 caracteres ca fonctionne, mais les chaines de 9 caracteres me renvoye erreurs...)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    =iif(
    	Len(Fields!BatchNumber.Value) = 9,
    	GetChar(Fields!BatchNumber.Value, 8),
    	iif(
    			Len(Fields!BatchNumber.Value) = 12,
    			GetChar(Fields!BatchNumber.Value, 10),
    			"?"
    	)
    )
    Quelqu'un aurai une idee?

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Par défaut
    Bonjour,

    Je crains n'avoir pas bien compris ton problème mais déjà "Len" vient du VB6 et est obsolète, en VB.Net on utilise le .length.

    Mais je ne comprends pas bien ta question;
    Si la chaine contient 9 caractères tu veux afficher le 8ème et sie elle contient 12 tu veux afficher le 10ème?

    Comme ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Dim Chaine As String = Fields!BatchNumber.Value
            If Chaine.Length = 9 Then
                MessageBox.Show(Chaine.ToCharArray(7, 1))
            ElseIf Chaine.Length = 12 Then
                MessageBox.Show(Chaine.ToCharArray(9, 1))
            End If

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    oui, c'est bien ca que je veux.
    Le probleme c'est que je travaille sur un rapport.
    Dans lequel j'insere un calcfield et dans ce calcfield je n'ai acces que a la touche fonction (fx) ou les possibilite de code sont tres limite.
    (pas de cast par exemple)

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Par défaut
    Il n'y a pas de rapport avec VB.NET donc (la présente section) ???

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    ben, le code c'est bien du vb?
    Sinon dans quel section je dois poser cette question?

    merci

    PS : Aprioi je viens de voir que je dois pouvoir avoir acces au code du report.
    (clic droit / propriete)

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Par défaut
    Re:

    Ca ressemble à du VB avec les accolades du C...
    Voilà ce qui arrive quand on met un "C Daziste" a coder en VB

    Bon, ceci étant dit, on se concentre sur la logique et la méthode nécessaire pour résoudre ton problème.
    Compte-tenu que nous savons pas trop comment interpréter ce langage et que ça ressemble plus à VB6 /Cxx et que nous sommes pas sur qu'en VB.net ça fonctionne (car c'est complètement différent)... Va pour la solution en VB6!

    Je pense que ceci devrait résoudre ton problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Dim Chaine As String = "ton texte"
     =IIf((Len(Chaine) = 9 Or Len(Chaine) = 12), GetChar(Chaine, ((Len(Chaine) - 1) - Int(Len(Chaine) / 12))), "?")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forms]Code EAN128 dans un report, ou dans un form?
    Par Aeternus dans le forum Forms
    Réponses: 9
    Dernier message: 20/02/2007, 13h38
  2. Problème de fréquence incompatible dans un Report
    Par Aeternus dans le forum Reports
    Réponses: 6
    Dernier message: 14/12/2004, 15h34
  3. Ajouter un champs dans un Report
    Par nora_ora dans le forum Reports
    Réponses: 7
    Dernier message: 09/12/2004, 17h24
  4. [RAVE] Bitmap dans un Report
    Par El blérot dans le forum Rave
    Réponses: 3
    Dernier message: 29/10/2004, 13h55
  5. [CR] Comment trouver un champs dans un report ??
    Par Madduck dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 18/09/2003, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo