Affichage des éléments d'un MSFLEXGRID dans des TEXTEBOX
cs_maww
Messages postés11Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 2 novembre 2008
-
22 août 2007 à 16:10
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
23 août 2007 à 17:12
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:
<!-- BEGIN TEMPLATE: bbcode_code -->
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<!-- / message -->
A voir également:
Affichage des éléments d'un MSFLEXGRID dans des TEXTEBOX
cs_maww
Messages postés11Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 2 novembre 2008 22 août 2007 à 17:22
J'utilise une BD access et mon ID_POSTE est de type texte.
J'ai corriger l'expression avec celle que tu m'a donnée tout à l'heure et maintenant mais maintenant le probleme se situe au niveau de la ligne de code juste en dessous.
Le compilateur m'écris: "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.
Je n'est dans ma table que 3 données pour le moment.
Merci de bien vouloir me guider
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 23 août 2007 à 00:04
Salut,
Je suppose que rspost est un recordset.
Alors montre nous comment tu le declares et
comment tu le rattaches à ta table ou tu dois chercher.
Si c' est lui que tu utlises pour remplir ton MsFlexgrid,
pour la recherche tu dois en déclarer un autre.
<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Vous n’avez pas trouvé la réponse que vous recherchez ?
Private Sub Cmdprecedent_Click()
rsFourni.MovePrevious
If rspost.BOF Then
Cmdprecedent.Enabled = False
Cmdsuivant.Enabled = True
Cmdlast.Enabled = True
Cmdfirst.Enabled = False
Else
Cmdprecedent.Enabled = True
Cmdsuivant.Enabled = True
Cmdlast.Enabled = True
Cmdfirst.Enabled = True
Afficher
End If
End Sub
Private Sub cmdSearch_Click()
On Error GoTo gesterr
Rechercher (txtRecherche.Text)
Exit Sub
gesterr:
MsgBox ("# " & Err.Number & ": Caractère non autorisé")
End Sub
Private Sub Cmdsuivant_Click()
rspost.MoveNext
If rspost.EOF Then
Cmdprecedent.Enabled = True
Cmdsuivant.Enabled = False
Cmdlast.Enabled = False
Cmdfirst.Enabled = True
Else
Cmdprecedent.Enabled = True
Cmdsuivant.Enabled = True
Cmdlast.Enabled = True
Cmdfirst.Enabled = True
Afficher
End If
End Sub
Private Sub CmdSupFiltre_Click()
rspost.Filter = adFilterNone
Initialiser
Afficher
End Sub
Private Sub Form_Load()
Set cnMaconnexion = New Connection
cnMaconnexion.Provider = "Microsoft.jet.OLEDB.4.0"
cnMaconnexion.ConnectionString = "User Id=;Data source = C:\overdoze\Projet.mdb;"
cnMaconnexion.Open
Set rspost = New Recordset
Set rslibel = New Recordset
rspost.Open "select * from Postes_MT", cnMaconnexion, adOpenKeyset, adLockOptimistic
rslibel.Open "SELECT DISTINCT LIB_POSTE FROM Postes_MT", cnMaconnexion, adOpenKeyset, adLockOptimistic
''''''''''''Liste des fonctions utilisées dans le programme''''''''''''''''''''''''''''
¤¤¤¤¤¤¤¤¤ Fonction d'affichage dans des objets bien précis ¤¤¤¤¤¤¤¤¤¤¤
Private Sub Afficher() 'cette procédure sera utiliser plusieurs fois c'est pourkoi on la réalise à part et par la suite on la fait appelle ds d'autres procédure pour éviter la redondance de code
TxtIdpost.Text = rspost![ID_POSTE] 'lè []indique qu'il s'agit d'une requête
TxtLib.Text = rspost![LIB_POSTE]
TxtTyp.Text = rspost![Type]
TxtStatut.Text = rspost![Statut]
TxtEtat.Text = rspost![Etat]
TxtIddepoz.Text = rspost![ID_DEPOSE]
TxtIdpj.Text = rspost![ID_PROJET]
TxtIddpj.Text = rspost![ID_DEPART_PROJET]
TxtCordX.Text = rspost![POINT_X]
TxtCordY.Text = rspost![POINT_Y]
End Sub
¤¤¤¤¤¤¤¤¤Fonction qui Permet d'initialiser le flex grid ¤¤¤¤¤¤¤¤¤¤¤¤¤
Private Sub Initialiser()
mfgFRS.Rows = rspost.RecordCount + 1
i = 1
While Not rspost.EOF 'permet d'initialiser le flexgrid
mfgFRS.TextMatrix(i, 0) = rspost![ID_POSTE]
mfgFRS.TextMatrix(i, 1) = rspost![LIB_POSTE]
mfgFRS.TextMatrix(i, 2) = rspost![Type]
mfgFRS.TextMatrix(i, 3) = rspost![Statut]
rspost.MoveNext
i = i + 1
Wend
End Sub
Private Sub Rechercher(val As String)
If Not Trim(val) = "" Then
rspost.MoveFirst
rspost.Find "[ID_POSTE]=""&val&"
If rspost![flag] = True Then ' c'est ici le probleme
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
cs_Exploreur
Messages postés4822Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201614 23 août 2007 à 09:19
Salut,
Je me demande alors si yu n'as pas un conflit, étant donnée que tu déclare en Public Flag As Boolean....Essaye de changer cette variables par un autre nom pour faire un essai comme : MyFlag As Boolean...
cs_maww
Messages postés11Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 2 novembre 2008 23 août 2007 à 09:31
Désolé mais encore une fois ca coince. Ce que je trouve bizzare c'est que j'ai déjà appliqué cette meme technique dans un autre projet à la difference que là bas ca fonctionne bien mais par contre ici