1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
Private Sub Form_Activate()
Call Form_Load
End Sub
Private Sub Form_Load()
On Error GoTo ErrHandler
Dim StrArgs As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim SQL As String
Dim I As Long
If Not IsNull(Me.OpenArgs) Then
StrArgs = Me.OpenArgs
StrDroits = Split(StrArgs, "¤")(0)
StrRegion = Split(StrArgs, "¤")(1)
StrStatut = Split(StrArgs, "¤")(2)
StrUser = Split(StrArgs, "¤")(3)
Else
Exit Sub
End If
'1) Vidage des combos
'********************
Me.CboNumIncident.RowSourceType = "Liste valeurs"
For I = 0 To (Me.CboNumIncident.ListCount - 1)
Me.CboNumIncident.RemoveItem (0)
Next I
Me.CboRegion.RowSourceType = "Liste valeurs"
For I = 0 To (Me.CboRegion.ListCount - 1)
Me.CboRegion.RemoveItem (0)
Next I
Me.CboSite.RowSourceType = "Liste valeurs"
For I = 0 To (Me.CboSite.ListCount - 1)
Me.CboSite.RemoveItem (0)
Next I
Me.CboVille.RowSourceType = "Liste valeurs"
For I = 0 To (Me.CboVille.ListCount - 1)
Me.CboVille.RemoveItem (0)
Next I
'2 ) Rechergement des combos
'***************************
'Region
SQL = "select distinct Region.NomRegion from Region order by Region.NomRegion"
Set db = DBEngine.Workspaces(0).Databases(0)
Me.CboRegion.RowSourceType = "Liste valeurs"
Me.CboRegion.AddItem ""
If StrRegion <> "NAT" Then
Me.CboRegion.AddItem StrRegion
Else
Me.CboRegion.AddItem "-Tous-"
Set rs = db.OpenRecordset(SQL, DB_OPEN_SNAPSHOT)
While Not rs.EOF
If Not IsNull(rs!NomRegion) Then
Me.CboRegion.AddItem rs!NomRegion
End If
rs.MoveNext
Wend
End If
'Ville
If StrRegion = "NAT" Then
SQL = " select ville.ville, 2 as Position from ville "
SQL = SQL & " union"
SQL = SQL & " select '-Tous-' as ville, 1 as Position from ville"
SQL = SQL & " union"
SQL = SQL & " select '' as ville, 0 as Position from ville"
SQL = SQL & " order by Position, ville"
Else
SQL = "select ville.ville, 1 as Position from Ville where "
SQL = SQL & BuildCriteria("Ville.Region", dbText, StrRegion)
SQL = SQL & " union"
SQL = SQL & " select '' as ville, 0 as Position from ville"
SQL = SQL & " order by Position, ville"
End If
Me.CboVille.RowSourceType = "Table/Query"
Me.CboVille.RowSource = SQL
'Site
If StrRegion = "NAT" Then
SQL = " select Site.Site, 2 as Position from Site "
SQL = SQL & " union"
SQL = SQL & " select '-Tous-' as Site, 1 as Position from site"
SQL = SQL & " union"
SQL = SQL & " select '' as Site, 0 as Position from site"
SQL = SQL & " order by Position, Site"
Else
SQL = "select Site.Site, 1 as Position from Site,Ville where Site.Ville=Ville.Ville "
SQL = SQL & "and " & BuildCriteria("Ville.Region", dbText, StrRegion)
SQL = SQL & " union"
SQL = SQL & " select '' as Site, 0 as Position from Site"
SQL = SQL & " order by Position, Site"
End If
Me.CboSite.RowSourceType = "Table/Query"
Me.CboSite.RowSource = SQL
'Incident
Me.CboNumIncident.RowSourceType = "Liste valeurs"
Me.CboNumIncident.AddItem ""
SQL = "select distinct incident.numincident from incident, site, ville" & _
" where incident.numsite = site.site" & _
" and site.ville = ville.ville "
If StrRegion <> "NAT" Then
SQL = SQL & " and ville.region = '" & StrRegion & "'"
Else
Me.CboNumIncident.AddItem "-Tous-"
End If
SQL = SQL & "order by incident.numincident"
Set rs = db.OpenRecordset(SQL, DB_OPEN_SNAPSHOT)
While Not rs.EOF
If Not IsNull(rs!NumIncident) Then
Me.CboNumIncident.AddItem rs!NumIncident
End If
rs.MoveNext
Wend
ExitHandler:
Set rs = Nothing
Set db = Nothing
Exit Sub
ErrHandler:
'Resume
MsgBox Err.Description, vbExclamation, CstAppName
Resume ExitHandler
End Sub |
Partager