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 6 et antérieur Discussion :

Affichage des éléments d'un MSFLEXGRID


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Affichage des éléments d'un MSFLEXGRID
    Bonjour à tous et à toute,

    Je dévéloppe actuellement une application sur la gestion des notes avec VB.6.
    Dans mon application j'utilise deux frames :l'un qui contient un MsFlexGrid pour un affichage global des données, et l'autre qui contient des TexteBox pour l'affichage en détail d'une donnée. Je voudrais que lorsqu'on clique sur un élément du Flexgrid, celui ci s'affiche en détail dans l'autre frame.

    Mais voilà, lorsque je lance le programme tout tourne normalement. Mais lorsque je clique sur une ligne du Flexgrid le compilateur m'affiche:
    "Erreur d'exécution 3001"
    "Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres"

    Et lorsque je clique sur débogage c'est cette ligne qui est mise en jaune:
    rspost.Find "[ID_POSTE]=" & val

    je vous mets ci dessous toute la procedure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private Sub Rechercher(val As String)
    If Not Trim(val) = "" Then
        rspost.MoveFirst
        rspost.Find "[ID_POSTE]=" & val
            If rspost![flag] = True Then
                cmdSuppL.Enabled = False
                CmdRestL.Enabled = True
            Else
                cmdSuppL.Enabled = True
                CmdRestL.Enabled = False
            End If
       Afficher
    End If
    End Sub
     
    Private Sub mfgFRS_Click()
        Rechercher (mfgFRS.TextMatrix(mfgFRS.Row, 0))
    End Sub
    Quelqu'un pourrait-il me dire ce qui cloche là dedans?
    J'espère avoir été assez précis. Je reste à votre disposition pour plus amples explications.
    Merci

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonjour,

    commence par changer le nom de ta variable ... val étant un mot réservé VB ( c'est une fonction ... voir )

  3. #3
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Le changement du nom de variable ne résolu pas le pbs. Le compilateur m'affiche toujours le meme message.

    J'ai eu des éléments de réponses dans ma quête mais je cogne une fois de plus face à un nouveau mur.
    voici le nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    PrivateSub Rechercher(val AsString)
    IfNot Trim(val) = ""Then rspost.MoveFirst
        rspost.Find"[ID_POSTE]=""&val&"
            If rspost![flag] = TrueThen
                cmdSuppL.Enabled = False
                CmdRestL.Enabled = True
            Else
                cmdSuppL.Enabled = True
                CmdRestL.Enabled = False
            EndIf
       Afficher
    EndIf
    EndSub
     
    PrivateSub mfgFRS_Click()
        Rechercher (mfgFRS.TextMatrix(mfgFRS.Row, 0))
    EndSub
     
    code
    Il fallait tenir compte du type de t ID_POSTE qui texte dns notre cas.
    c'est pourkoi il faut convertir val qui reçois une valeur numérique.

    mais le nouveau probleme se situe maintenant dans la ligne juste ne dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If rspost![flag] = TrueThen
    le compilateur m'affiche: "Erreur d'exécution 3021"
    BOF ou EOF est égal à true ou l'enrégistrement actuel a été supprimé. L'opération demandée nécessite un enrégistrement actuel.

    Alors que je n'est dans ma table que 3 données pour le moment.
    Merci de bien vouloir me guider

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    1°) Tu traite le MSFlexGrid comme une feuille excel
    2°) Je ne vois aucune fonction relative à un Grid !!!.
    La fonction Row, par exemple n'est pas une fonction FlexGrid.
    Sélectionne ton FlexGrid et tape F1, toutes les fonctions serront disponnibles et presque toutes avec des exemples.
    A+

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub MSFlexGrid1_Click()
      MsgBox MSFlexGrid1.TextMatrix(MSFlexGrid1.MouseRow, MSFlexGrid1.MouseCol)
    End Sub
    A toi de jouer avec, maintenant.

    Bonne continuation...

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    du fait que l'ont clique sur le grid les propriétés Row et Col sont déja définies, il est plus simple d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub MSFlexGrid1_Click()
        MsgBox MSFlexGrid1.Text
    End Sub
    ou pour employé la fonction TextMatrix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       MSFlexGrid1.textMatrix( 3 , 6 ) = "Test"
    Permet de placer du texte ou valeur dans une cellule sans déplacer les valeurs de Col et Row

    A+

  7. #7
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par LeForestier Voir le message
    Bonjour,
    2°) Je ne vois aucune fonction relative à un Grid !!!.
    La fonction Row, par exemple n'est pas une fonction FlexGrid.
    Sélectionne ton FlexGrid et tape F1, toutes les fonctions serront disponnibles et presque toutes avec des exemples.
    A+
    ha bon tu es sur d'avoir la bonne version de MSFlexGrid ?? Je pense plutot que c'est l'utilisation qui n'est pas bonne, mais tout ca a ete ratraper plus bas.

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Citation Envoyé par sovo Voir le message
    ha bon tu es sur d'avoir la bonne version de MSFlexGrid ?? Je pense plutot que c'est l'utilisation qui n'est pas bonne, mais tout ca a ete ratraper plus bas.
    Bonsoir à tous,
    Tu à raison Sovo, c'est plutôt un lapsus la façon dont il employais row n'était pas bonne, mais apparement cela à été édité.

    Pour répondre à overdoze,
    Tu dit que tu à changer le nom de la variable mais je constate quand même que tu emploi toujours val en string, et comme te le faisait remarquer ouskel'n'or, c'est un mot réservé de VB, tant que tu ne changeras pas ça, ça n'ira pas.
    A+

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/01/2008, 17h14
  2. affichage des éléments d'un tableau
    Par boula dans le forum C
    Réponses: 8
    Dernier message: 11/07/2007, 20h23
  3. affichage des éléments d'une liste horizontalement
    Par progamer54 dans le forum JSF
    Réponses: 7
    Dernier message: 16/04/2007, 11h34
  4. Réponses: 4
    Dernier message: 09/08/2006, 12h05
  5. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 08h50

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