#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 Sub
Dernière modification par IG (Tue 14 May 2013 11:04)
Hors ligne