#1 Sat 11 May 2013 11:22
- IG
- Participant occasionnel
- Date d'inscription: 1 Mar 2013
- Messages: 20
cmd_tableau
Bonjour a tous;
- je travail en VBA / arcgis 9.3
J'ai crée un formulaire avec une liste déroulante et une liste texte et autre controls:
- 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 (type station/code(s) )
merci d'avance
Hors ligne
#2 Tue 14 May 2013 11:01
- IG
- Participant occasionnel
- Date d'inscription: 1 Mar 2013
- Messages: 20
Re: cmd_tableau
Bonjours a tous voila mon code j'ai crée la table mais j'arrive pas à récupérer mes données d'après ma table
==> voila mon code:
aidez moi pour qu'il soit fonctionnel!
Code:
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
End With
'Remplir la table des qualites des Stations
Remplir_Table_Qualite
'Fonction de Remplissage de la table des qualites des retenues des barages
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
______________________________________________________________________________________________________________________
Public Sub Remplir_Table_Qualite()
Dim s As Integer
Dim Nom_oued As String
Dim Nom_Station As String
Dim NIRE As String
TypeStation = ""
For s = 1 To pNIRECollection.Count
N_IRE = pNIRECollection.Item(s)
For i = 0 To lbx_N°IRE.ListCount - 1
If lbx_N°IRE.Selected(i) = True Then
thequery = "N_IRE = " & lbx_N°IRE.List(i) & " "
Set pQueryFilter = New QueryFilter
pQueryFilter.WhereClause = thequery
Do Until pRowDataParametresStationsQualite Is Nothing
TypeStation = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Type_Station"))
Set pFCursorDataParametresStationsQualite = pFClassDataParametresStationsQualite.Search(pQueryFilter1, False)
Set pFeatureDataParametresStationsQualite = pFCursorDataParametresStationsQualite.NextFeature
Do Until pFeatureDataParametresStationsQualite Is Nothing
Nom_Station = pFeatureDataParametresStationsQualite.value(pFeatureDataParametresStationsQualite.Fields.FindField("Nom_Station"))
Set pFeatureDataParametresStationsQualite = pFCursorDataParametresStationsQualite.NextFeature
Loop
Set pFCursorDataParametresStationsQualite = pFClassDataParametresStationsQualite.Search(pQueryFilter, False)
Set pFeatureDataParametresStationsQualite = pFCursorDataParametresStationsQualite.NextFeature
Do Until pFeatureDataParametresStationsQualite Is Nothing
Nom_oued = pFeatureDataParametresStationsQualite.value(pFeatureDataParametresStationsQualite.Fields.FindField("Nom_Oued"))
Set pFeatureDataParametresStationsQualite = pFCursorDataParametresStationsQualite.NextFeature
Loop
Do Until pFeatureDataParametresStationsQualite Is Nothing
NIRE = pFeatureDataParametresStationsQualite.value(pFeatureDataParametresStationsQualite.Fields.FindField("N_IRE"))
Set pFeatureDataParametresStationsQualite = pFCursorDataParametresStationsQualite.NextFeature
Loop
'Sélection des mesures de la station
Set pCursorDataParametresStationsQualite = pTableDataParametresStationsQualite.Search(pQueryFilter, False)
Set pRowDataParametresStationsQualite = pCursorDataParametresStationsQualite.NextRow
'theGlobalColeurIndex = 0
'theGlobalText = "A sec"
If pTableDataParametresStationsQualite.RowCount(pQueryFilter) > 0 Then
'Enregistrer les paramètres de mesure
Set pRowDataParametresStationsQualite = pTableDataParametresStationsQualite.CreateRow
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Annee")) = pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Date_Prelevement"))
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("N_IRE")) = NIRE
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Num_Campagne")) = lbx_N°IRE.List(i)
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Oued")) = Nom_oued
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Station")) = Nom_Station
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("Nom_Station")) = TypeStation
'Etat de la qualité globale
pRowDataParametresStationsQualite.value(pRowDataParametresStationsQualite.Fields.FindField("IQ_Text")) = theGlobalText
'Enregistrement des valeurs
pRowDataParametresStationsQualite.Store
End If
Set pRowDataParametresStationsQualite = pCursorDataParametresStationsQualite.NextRow
Loop
End If
Next i
Next s
End SubDernière modification par IG (Tue 14 May 2013 11:04)
Hors ligne


