Lorsque j'imprime mes horaires, certains d'entres elles sont vides et
n'a aucune p=E9riode de plac=E9es alors je voudrais ne pas imprimer ces
pages pour rien. Je pourrais mettre mon compteur de p=E9riodes dans ma
requ=EAte principale mais =E7a ralentirait beaucoup l'impression alors je
veux savoir si ca peut se faire autrement c'est =E0 dire dans l'=E9tat
m=EAme.
Voici le code dans mon =E9tat sur l'=E9v=E9nement au formatage de la section=
d=E9tail.
Merci
Private Sub D=E9tail_Format(Cancel As Integer, FormatCount As Integer)
ViderTablo ("pr")
NOHM_ =3D Me.NoHm
req =3D "SELECT Hm.Programme, Hm.ann=E9e, hm.session, Hm.S=E9rie,
HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe,
Periodes.NoProf, Periodes.P=E9riode, Periodes.Local, Hm.NoHm,
Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours
INNER JOIN Jumelages ON HmCours.NoHmCours =3D Jumelages.NoHmCours) ON
Hm.NoHm =3D Jumelages.NoHm) ON Periodes.NoHmCours =3D HmCours.NoHmCours
WHERE (((Hm.NoHm)=3D " & NOHM_ & ")) ORDER BY periodes.P=E9riode"
Set dbs =3D CurrentDb
Set rst =3D dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une p=E9riode alors on
imprime l'horaire
rst.MoveFirst
Do While Not rst.EOF
'MsgBox rst!P=E9riode
Me.Controls("pr" & rst!P=E9riode).Value =3D Me.Controls("pr" & rst!
P=E9riode).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4,
3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst!
Local & vbCrLf
rst.MoveNext
Loop
else ' Sinon ne pas imprimer la page
--- CANCELLER LA PAGE --- ???
End If
"AfterBoy" Lorsque j'imprime mes horaires, certains d'entres elles sont vides et n'a aucune période de placées alors je voudrais ne pas imprimer ces pages pour rien. Je pourrais mettre mon compteur de périodes dans ma requête principale mais ça ralentirait beaucoup l'impression alors je veux savoir si ca peut se faire autrement c'est à dire dans l'état même.
Voici le code dans mon état sur l'événement au formatage de la section détail. Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) ViderTablo ("pr") NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série, HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe, Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm, Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on imprime l'horaire rst.MoveFirst Do While Not rst.EOF 'MsgBox rst!Période Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst! Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4, 3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst! Local & vbCrLf rst.MoveNext Loop else ' Sinon ne pas imprimer la page --- CANCELLER LA PAGE --- ??? End If
End Sub
Salut,
Elle est basé sur quoi, ton état ?
Je pense qu'il serait mieux de travailler avec un état et sous-état...
"AfterBoy"
Lorsque j'imprime mes horaires, certains d'entres elles sont vides et
n'a aucune période de placées alors je voudrais ne pas imprimer ces
pages pour rien. Je pourrais mettre mon compteur de périodes dans ma
requête principale mais ça ralentirait beaucoup l'impression alors je
veux savoir si ca peut se faire autrement c'est à dire dans l'état
même.
Voici le code dans mon état sur l'événement au formatage de la section
détail.
Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
ViderTablo ("pr")
NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série,
HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe,
Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm,
Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours
INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON
Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours
WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on
imprime l'horaire
rst.MoveFirst
Do While Not rst.EOF
'MsgBox rst!Période
Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst!
Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4,
3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst!
Local & vbCrLf
rst.MoveNext
Loop
else ' Sinon ne pas imprimer la page
--- CANCELLER LA PAGE --- ???
End If
"AfterBoy" Lorsque j'imprime mes horaires, certains d'entres elles sont vides et n'a aucune période de placées alors je voudrais ne pas imprimer ces pages pour rien. Je pourrais mettre mon compteur de périodes dans ma requête principale mais ça ralentirait beaucoup l'impression alors je veux savoir si ca peut se faire autrement c'est à dire dans l'état même.
Voici le code dans mon état sur l'événement au formatage de la section détail. Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) ViderTablo ("pr") NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série, HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe, Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm, Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on imprime l'horaire rst.MoveFirst Do While Not rst.EOF 'MsgBox rst!Période Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst! Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4, 3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst! Local & vbCrLf rst.MoveNext Loop else ' Sinon ne pas imprimer la page --- CANCELLER LA PAGE --- ??? End If
End Sub
AfterBoy
Bon finalement j'ai placé mon critère qui compte les périodes dans ma requete principale et ca fonctionne merci.
On 21 mai, 20:19, "3stone" wrote:
Salut,
Elle est basé sur quoi, ton état ?
Je pense qu'il serait mieux de travailler avec un état et sous-état...
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
"AfterBoy" Lorsque j'imprime mes horaires, certains d'entres elles sont vides et n'a aucune période de placées alors je voudrais ne pas imprimer ces pages pour rien. Je pourrais mettre mon compteur de périodes dans ma requête principale mais ça ralentirait beaucoup l'impression alors je veux savoir si ca peut se faire autrement c'est à dire dans l'état même.
Voici le code dans mon état sur l'événement au formatage de la secti on détail. Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) ViderTablo ("pr") NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série, HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe, Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm, Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on imprime l'horaire rst.MoveFirst Do While Not rst.EOF 'MsgBox rst!Période Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst! Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4, 3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst! Local & vbCrLf rst.MoveNext Loop else ' Sinon ne pas imprimer la page --- CANCELLER LA PAGE --- ??? End If
End Sub
Bon finalement j'ai placé mon critère qui compte les périodes dans ma
requete principale et ca fonctionne merci.
On 21 mai, 20:19, "3stone" <home@sweet_home.be> wrote:
Salut,
Elle est basé sur quoi, ton état ?
Je pense qu'il serait mieux de travailler avec un état et sous-état...
--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)
"AfterBoy"
Lorsque j'imprime mes horaires, certains d'entres elles sont vides et
n'a aucune période de placées alors je voudrais ne pas imprimer ces
pages pour rien. Je pourrais mettre mon compteur de périodes dans ma
requête principale mais ça ralentirait beaucoup l'impression alors je
veux savoir si ca peut se faire autrement c'est à dire dans l'état
même.
Voici le code dans mon état sur l'événement au formatage de la secti on
détail.
Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
ViderTablo ("pr")
NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série,
HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe,
Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm,
Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours
INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON
Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours
WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on
imprime l'horaire
rst.MoveFirst
Do While Not rst.EOF
'MsgBox rst!Période
Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst!
Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4,
3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst!
Local & vbCrLf
rst.MoveNext
Loop
else ' Sinon ne pas imprimer la page
--- CANCELLER LA PAGE --- ???
End If
Bon finalement j'ai placé mon critère qui compte les périodes dans ma requete principale et ca fonctionne merci.
On 21 mai, 20:19, "3stone" wrote:
Salut,
Elle est basé sur quoi, ton état ?
Je pense qu'il serait mieux de travailler avec un état et sous-état...
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
"AfterBoy" Lorsque j'imprime mes horaires, certains d'entres elles sont vides et n'a aucune période de placées alors je voudrais ne pas imprimer ces pages pour rien. Je pourrais mettre mon compteur de périodes dans ma requête principale mais ça ralentirait beaucoup l'impression alors je veux savoir si ca peut se faire autrement c'est à dire dans l'état même.
Voici le code dans mon état sur l'événement au formatage de la secti on détail. Merci
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) ViderTablo ("pr") NOHM_ = Me.NoHm
req = "SELECT Hm.Programme, Hm.année, hm.session, Hm.Série, HmCours.Groupe, HmCours.NoCours, Periodes.NoHmCours, hmcours.Groupe, Periodes.NoProf, Periodes.Période, Periodes.Local, Hm.NoHm, Jumelages.Conflit FROM Periodes INNER JOIN (Hm INNER JOIN (HmCours INNER JOIN Jumelages ON HmCours.NoHmCours = Jumelages.NoHmCours) ON Hm.NoHm = Jumelages.NoHm) ON Periodes.NoHmCours = HmCours.NoHmCours WHERE (((Hm.NoHm)= " & NOHM_ & ")) ORDER BY periodes.Période"
Set dbs = CurrentDb Set rst = dbs.OpenRecordset(req)
If rst.RecordCount > 0 Then ' SI il y a plus d'une période alors on imprime l'horaire rst.MoveFirst Do While Not rst.EOF 'MsgBox rst!Période Me.Controls("pr" & rst!Période).Value = Me.Controls("pr" & rst! Période).Value & Left(rst!NoCours, 3) & "-" & Mid(rst!NoCours, 4, 3) & "-" & Mid(rst!NoCours, 7, 2) & " " & rst!Groupe & " " & rst! Local & vbCrLf rst.MoveNext Loop else ' Sinon ne pas imprimer la page --- CANCELLER LA PAGE --- ??? End If