DataGrid

Fermé
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 - Modifié par Whismeril le 22/05/2015 à 06:58
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 - 22 mai 2015 à 00:34
Bonjour ,

J'ai un problème avec ma DataGrid, que je n'arrive pas à contourner.
Je vous expose la situation

j'ai conçu une DataGrid ( nommé DGConsultNom)

sur cettre DataGrid à 3 colonnes, s'affiche la liste des noms classés par ordre alphabétique

Sur La Colonne 1 : Nom Complet
sur la Colonne 2 : N° de la carte d'identité
sur la Colonne 3 : la Matricule

cette datagrid est conçue pour faciliter à l'opérateur la sélection de la personne si il ne connait pas sa matricule

le code ecris est comme suite:

Private DGConsultNom_Click ()

Dim L, C as integer

L=Val(DGConsultNom.Row)
C=Val(DGConsulNom.Col)


if DGConsultNom.Row = L  then

DGConsultNom.Row = L
DGConsultNom.Col = C+2


'FPointage est une autre feuille destinée à la saisie du pointage des ouvriers
'CmbMatricule est un objet de la feuille FPointage 

FPointage.CmbMatricule = DGConsultNom

end if

end sub


Avec ce code tout marche bien à condition de cliquer sur la marge gauche de la DataGrid
si par erreur on clique sur une autre colonne, le VB renvoie un message d'erreur

ma question est comment faire pour que le VB6 ignore tout click sur la surface de la DataGrid, à part sur sa marge gauche

A propos, je travaille toujours sur le VB6 avec Ado et l'access

Merci d'avance pour votre aide

EDIT: Précision du langage dans la coloration syntaxique.

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
19 mai 2015 à 09:18
Bonjour,

Private Sub DGConsultNom_SelChange(Cancel As Integer)
End Sub


Serait le plus approprie, car actif seulement si selection ligne
0
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 1
19 mai 2015 à 09:52
Bonjour
Toute ma reconnaissance pour votre reponse
Une fois essayée je vous tiendrais au courant du résultat

Mes respects
0
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 1
21 mai 2015 à 18:51
Bonjour

J'ai essayé votre proposition et elle marche bien.
Seulement; en poussant un peu je me suis
confronter à un embarras.
Quant je mets à la fin de la procédure

unload me

le vb6 me renvoie une drôle d'interface

normalement j'ai conçue deux feuilles (Form )

1- Feuille de saisie du pointage
2- Feuille avec DtaGrid

la démarche est lorsque je clique sur le boutton "Afficher" qui est placé
sur la feuille du Pointage; la feuille avec DataGrid s'affiche

et lorsque je sélectionne la ligne voulue de la datagrid ( SelChange ) et je clique, les données s'affichaient sur les zones concernées de la feuilles du Pointage, et en même temps la feuille de DataGrid disparait avec ( Unload me ) qui est écrit à la fin de l'évenement (SelChange )


pour contourner ce problème j'ai utilisé la propriété (Visible=False)

mais elle ne me plait pas

je préfère décharger la feuille à Datagrid , mais je n'y arrive pas

Merci d'avance pour tes conseils
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
21 mai 2015 à 18:59
Re,

pas tout compris, mais remplacez unload me par me .hide
0
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 1
22 mai 2015 à 00:27
Bonjour

Tout d'abord je vous remercie pour votre réponse
je m'explique :

mon code est comme suite:


quant j'ouvre la feuille du pointage, automatiquement la feuille à DG s'affiche

private sub DGTableauPointage_SelChange ( Cancel as Integer )

DGTableauPointage.col = 0

Fpointage.CmbMatricule=DGTableauPointage


SQLs="select * from TablePointage where ( Societe='" & cstr(VSociete) &"' and Matricule = " & cint( Fpointage.CmbMatricule) &") "

if rs.stateadopen then rs.close
rs.open SQLs, DB, adopenkeyset, adlockPessemestic

Fpointage.LblNomComplet = rs![NomComplet]

rs.close

hide.me

end sub



quand je clique sur la ligne choisie, le matricule s'affiche dans le ComboBox et le nom complet s'affiche sur le Label consacré au nom
en même temps la feuille à DG devient invisible ( car Hide fait la même chose que Visible )

seulement quant je modifie et je clique sur modifier. La modification n'apparait pas sur la DG que lorsque celle ci est déchargée et rechargée
même si j'ai utilisé sur le bouton Modifer :

SQLs="select * from TablePointage where ( Societe='" & cstr(VSociete) &"'  ) "

if rs.stateadopen then rs.close
rs.open SQLs, DB, adopenStatic
0

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

Posez votre question
mohalesage Messages postés 147 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 31 décembre 2015 1
22 mai 2015 à 00:34
Re

Pardon, j'ai trouvé l'astuce
à la fin du bouton Supprimer ou Modifier j'ai ajouter

Unload FTableauPointage

comme en cliquant sur le boutton Afficher

la DG s'affiche avec la mise à jour

Merci
0