Le contrôle MSFlexGrid

Ghazalati - 12 mai 2013 à 14:08
 Ghazalati - 12 mai 2013 à 19:16
Bonjour a tous;
je travail en VBA (débutante) dans arcgis 9.3
j'ai crée un formulaire avec une liste déroulante et une liste texte et autre contrôles:

quand je sélectionne un type de station dans la liste déroulant j'ai une liste de code de station dans ma liste texte ,
j'ai crée un bouton qui permet le choix de tous les codes ou seulement un code.

- ce que je cherche à réaliser:

j'ai crée une multipage dans le mm formulaire dans laquelle j'ai mis un "Grid"
puis j'ai crée un autre bouton qui permet d'afficher la table (Grid) de ma sélection d'après ma base de données


je veux que le bouton "cmd_tableau" affiche la table attributaire selon les les critère sélectionnés



merci d'avance

2 réponses

ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
12 mai 2013 à 14:55
Bonjour,
Et qu'as-tu au moins tenté d'écrire à cette fin (ton code, conformément au règlement de ce forum) ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
oui bien sur mais je ne sais plus comment récupérer mes champs avec les enregistrement sélectionnés
voila mon code concernant le bouton cmd_tableau

Private Sub cmd_Tableau_Click()


Set pMouseCursor = New MouseCursor
pMouseCursor.SetCursor 2

NIRECount = 0
For i = 0 To lbx_N°IRE.ListCount - 1
If lbx_N°IRE.Selected(i) Then
NIRECount = NIRECount + 1
End If
Next i
MultiPage1.Pages(0).Visible = True
thequery = ""
Status = False

For i = 0 To lbx_N°IRE.ListCount - 1
If lbx_N°IRE.Selected(i) = True Then
'if lbx_N°IRE.List(i) = True Then
Status = True
Exit For
End If
Next i

If Status = False Then
MsgBox "Veuillez sélectionner des N°IRE...."
Exit Sub
End If

'Remplir la grille de qualite globale
MultiPage1.value = 0
Me.Width = 622

Grid1.Clear
With Grid1
Grid1.Row = 0
Grid1.Cols = 6
For i = 0 To Grid1.Cols - 1
Grid1.Col = i
Grid1.CellFontBold = True
Next i
Grid1.Col = 0
Grid1.Text = "Oued"

Grid1.Col = 1
Grid1.Text = "Station"

Grid1.Col = 2
Grid1.Text = "N_IRE"

Grid1.Col = 3
Grid1.Text = "Date"

Grid1.Col = 4
Grid1.Text = "Heur"

Grid1.Col = 5
Grid1.Text = "Qualite_G"

With Grid1
.ColWidth(0) = 1200
.ColWidth(1) = 1200
.ColWidth(2) = 1200
.ColWidth(3) = 1200
.ColWidth(4) = 1200
.ColWidth(5) = 1500
End With

Grid1.Col = 0
Grid1.Text = "Oued"

Grid1.Col = 1
Grid1.Text = "Station"

Grid1.Col = 2
Grid1.Text = "N_IRE"

Grid1.Col = 3
Grid1.Text = "Date"

Grid1.Col = 4
Grid1.Text = "Heur"

Grid1.Col = 5
Grid1.Text = "Q_Globale"


End With
'Vider de la table des qualites des Stations

'Fonction de Remplissage de la table des qualites des retenues des barages
Remplir_Table_Qualite
Traitement = True



Do Until pRowDataParametresStationsQualite Is Nothing
i = i + 1
With Grid1
.Row = i
.Col = 0
'récupération du nom de la station
'N_IRE = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("N_IRE"))

'récupération du Noms des oueds
'Oued = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Oued"))
'Colonne du nom de la station
.Col = 0
'If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Oued"))) Then
'.Text = ""
'Else
'.Text = TheStationName
'End If

'Colonne des nom de des oueds
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Oued"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Oued"))
pCollectionIRE.Add .Text
End If

'Colonne des nom de des stations
.Col = 1
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Station"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Station"))
pCollectionIRE.Add .Text
End If

'Colonne du N'IRE
.Col = 2
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("N_IRE"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("N_IRE"))
pCollectionIRE.Add .Text
End If

'Colonne dela Date
.Col = 3
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Date_Prelevement"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Date_Prelevement"))
End If

'Colonne de l'Heur
.Col = 3
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Heur_Prelevement"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Heur_Prelevement"))
End If

'Colonne Qualite_Globale
.Col = 3
If IsNull(pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("IQ_Text"))) Then
.Text = ""
Else
.Text = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("IQ_Text"))
End If

End With
pRowDataParametresStationsQualite.Store
Set pRowDataParametresStationsQualite = pCursorDataParametresStationsQualite.NextRow
Loop


Grid1.Row = 0
For i = 0 To Grid1.Cols - 1
Grid1.Col = i
For j = 0 To Grid1.Rows - 1
Grid1.Row = j
Grid1.CellFontBold = True
Next j
Next i

cmd_Excel.Enabled = True
cmd_Reduire.Visible = True
cmd_Reduire.Caption = "<<<"
For i = 1 To MultiPage1.Pages.Count - 1
MultiPage1.Pages(i).Visible = False
Next i


End Sub
0