Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..)
Le but étant de n'imprimer QUE les contrats des contacts visible dans ma
liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint()
Dim NumContrat
Dim Tcontrat As String
Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Bénévole/défrayé" Then
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Chauffeur" Then
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Saintier
Bonjour,
Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst If Not .BOF Then .MoveFirst Do Until .EOF
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else
If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else
If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
End If End If End If
Loop End If End With
End Function
De mémoir d'amateur, quand les imbrications de IF sont très compliquées la méthode Case est plus simple, et me semble plus adaptée dans ton exemple. Amicalement François
Bonjour,
Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..)
Le but étant de n'imprimer QUE les contrats des contacts visible dans ma
liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint()
Dim NumContrat
Dim Tcontrat As String
Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Bénévole/défrayé" Then
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Chauffeur" Then
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
End If
End If
End If
Loop
End If
End With
End Function
De mémoir d'amateur, quand les imbrications de IF sont très compliquées
la méthode Case est plus simple, et me semble plus adaptée dans ton
exemple.
Amicalement
François
Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst If Not .BOF Then .MoveFirst Do Until .EOF
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else
If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else
If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
End If End If End If
Loop End If End With
End Function
De mémoir d'amateur, quand les imbrications de IF sont très compliquées la méthode Case est plus simple, et me semble plus adaptée dans ton exemple. Amicalement François
Gilles MOUGNOZ
Bonjour, Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage) Une aide matinale serait la bienvenue ... merci beaucoup, Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset Tcontrat = Me.ContratType Set rst = Me.RecordsetClone With rst If Not .BOF Then .MoveFirst Do Until .EOF If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat" Else If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True End If End If End If Loop End If End With End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués portait sur le même élément. Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois plus efficace et plus lisible. Ici cela donnerait:
Select Case Tcontrat Case "Bénévole": 'ton code Case "Bénévole/défrayé": 'ton code Case "Chauffeur": 'ton code Case Else: ' tous les autres cas non prévus End Select
Bonne continuation
Bonjour,
Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..)
Le but étant de n'imprimer QUE les contrats des contacts visible dans ma
liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint()
Dim NumContrat
Dim Tcontrat As String
Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Bénévole/défrayé" Then
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Chauffeur" Then
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
End If
End If
End If
Loop
End If
End With
End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués
portait sur le même élément.
Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois
plus efficace et plus lisible.
Ici cela donnerait:
Select Case Tcontrat
Case "Bénévole":
'ton code
Case "Bénévole/défrayé":
'ton code
Case "Chauffeur":
'ton code
Case Else:
' tous les autres cas non prévus
End Select
Bonjour, Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage) Une aide matinale serait la bienvenue ... merci beaucoup, Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset Tcontrat = Me.ContratType Set rst = Me.RecordsetClone With rst If Not .BOF Then .MoveFirst Do Until .EOF If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat" Else If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True End If End If End If Loop End If End With End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués portait sur le même élément. Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois plus efficace et plus lisible. Ici cela donnerait:
Select Case Tcontrat Case "Bénévole": 'ton code Case "Bénévole/défrayé": 'ton code Case "Chauffeur": 'ton code Case Else: ' tous les autres cas non prévus End Select
Bonne continuation
fth
Bonjour,
et merci pour la piste...
Il me reste un soucis: pas moyen de limiter l'impression au record selectionné...
j'ai donc modifié comme ceci: Private Function ContratPrintCASE()
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Select Case ContratType
Case "Bénévole": DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True
Case "Bénévole/défrayé": DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True
Case "Chauffeur": DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
'Case Else: ' tous les autres cas non prévus
End Select End If
End Function
puis je fais ceci:
Private Sub BtPrintAll_Click() Dim rst As Recordset Set rst = Me.RecordsetClone
With rst If Not .BOF Then .MoveFirst Do Until .EOF
ContratPrintCASE ' la proc modifiée en CASE
.MoveNext Loop End If End With 'rst.Close: Set rst = Nothing 'Me.Refresh
End Sub
Frustrant ... chte jure!
merci pour tout
Frederic
"Gilles MOUGNOZ" wrote in message news:%
Bonjour, Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage) Une aide matinale serait la bienvenue ... merci beaucoup, Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset Tcontrat = Me.ContratType Set rst = Me.RecordsetClone With rst If Not .BOF Then .MoveFirst Do Until .EOF If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat" Else If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True End If End If End If Loop End If End With End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués portait sur le même élément. Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois plus efficace et plus lisible. Ici cela donnerait:
Select Case Tcontrat Case "Bénévole": 'ton code Case "Bénévole/défrayé": 'ton code Case "Chauffeur": 'ton code Case Else: ' tous les autres cas non prévus End Select
Bonne continuation
Bonjour,
et merci pour la piste...
Il me reste un soucis:
pas moyen de limiter l'impression au record selectionné...
j'ai donc modifié comme ceci:
Private Function ContratPrintCASE()
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Select Case ContratType
Case "Bénévole":
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Case "Bénévole/défrayé":
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Case "Chauffeur":
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
'Case Else:
' tous les autres cas non prévus
End Select
End If
End Function
puis je fais ceci:
Private Sub BtPrintAll_Click()
Dim rst As Recordset
Set rst = Me.RecordsetClone
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
ContratPrintCASE ' la proc modifiée en CASE
.MoveNext
Loop
End If
End With
'rst.Close: Set rst = Nothing
'Me.Refresh
End Sub
Frustrant ... chte jure!
merci pour tout
Frederic
"Gilles MOUGNOZ" <gmougnoz@hotmail.fr> wrote in message
news:%23MLV0ZBcGHA.3856@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..)
Le but étant de n'imprimer QUE les contrats des contacts visible dans ma
liste (après filtrage)
Une aide matinale serait la bienvenue ...
merci beaucoup,
Frédéric
Private Function ContratPrint()
Dim NumContrat
Dim Tcontrat As String
Dim rst As Recordset
Tcontrat = Me.ContratType
Set rst = Me.RecordsetClone
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
If Tcontrat = "Bénévole" Then
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Bénévole/défrayé" Then
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Else
If Tcontrat = "Chauffeur" Then
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
End If
End If
End If
Loop
End If
End With
End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués
portait sur le même élément.
Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois
plus efficace et plus lisible.
Ici cela donnerait:
Select Case Tcontrat
Case "Bénévole":
'ton code
Case "Bénévole/défrayé":
'ton code
Case "Chauffeur":
'ton code
Case Else:
' tous les autres cas non prévus
End Select
Il me reste un soucis: pas moyen de limiter l'impression au record selectionné...
j'ai donc modifié comme ceci: Private Function ContratPrintCASE()
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Select Case ContratType
Case "Bénévole": DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True
Case "Bénévole/défrayé": DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True
Case "Chauffeur": DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
'Case Else: ' tous les autres cas non prévus
End Select End If
End Function
puis je fais ceci:
Private Sub BtPrintAll_Click() Dim rst As Recordset Set rst = Me.RecordsetClone
With rst If Not .BOF Then .MoveFirst Do Until .EOF
ContratPrintCASE ' la proc modifiée en CASE
.MoveNext Loop End If End With 'rst.Close: Set rst = Nothing 'Me.Refresh
End Sub
Frustrant ... chte jure!
merci pour tout
Frederic
"Gilles MOUGNOZ" wrote in message news:%
Bonjour, Dans la procédure suivante, je cafouille dans mes "IF" ( à mon avis..) Le but étant de n'imprimer QUE les contrats des contacts visible dans ma liste (après filtrage) Une aide matinale serait la bienvenue ... merci beaucoup, Frédéric
Private Function ContratPrint() Dim NumContrat Dim Tcontrat As String Dim rst As Recordset Tcontrat = Me.ContratType Set rst = Me.RecordsetClone With rst If Not .BOF Then .MoveFirst Do Until .EOF If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat" Else If Tcontrat = "Bénévole" Then DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True Else If Tcontrat = "Bénévole/défrayé" Then DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True Else If Tcontrat = "Chauffeur" Then DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True End If End If End If Loop End If End With End Function
Bonjour, Frédéric
Sans entrer dans le détail, j'ai vu qu'une partie de tes IFs imbriqués portait sur le même élément. Dans ce cas, il est préférable d'utiliser SELECT CASE qui sera à la fois plus efficace et plus lisible. Ici cela donnerait:
Select Case Tcontrat Case "Bénévole": 'ton code Case "Bénévole/défrayé": 'ton code Case "Chauffeur": 'ton code Case Else: ' tous les autres cas non prévus End Select
Bonne continuation
Gilles MOUGNOZ
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
Bonjour,
et merci pour la piste...
Il me reste un soucis:
pas moyen de limiter l'impression au record selectionné...
....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la
source de ton form et de tes états.
En supposant que ce champ s'appelle "TaClef":
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
fth
Re bonour Gilles,
c'est ce que j'utilise quand je veux imprimer un contrat pour un contact. Est ce valable pour une selection de contact, puis-je l'insérer dans la précédure vue tout à l'heure?
d'avance merci (je désespere un peu ...)
"Gilles MOUGNOZ" wrote in message news:%23kW$
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
Re bonour Gilles,
c'est ce que j'utilise quand je veux imprimer un contrat pour un contact.
Est ce valable pour une selection de contact, puis-je l'insérer dans la
précédure vue tout à l'heure?
d'avance merci
(je désespere un peu ...)
"Gilles MOUGNOZ" <gmougnoz@hotmail.fr> wrote in message
news:%23kW$w7EcGHA.4604@TK2MSFTNGP02.phx.gbl...
Bonjour,
et merci pour la piste...
Il me reste un soucis:
pas moyen de limiter l'impression au record selectionné...
....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la
source de ton form et de tes états.
En supposant que ce champ s'appelle "TaClef":
c'est ce que j'utilise quand je veux imprimer un contrat pour un contact. Est ce valable pour une selection de contact, puis-je l'insérer dans la précédure vue tout à l'heure?
d'avance merci (je désespere un peu ...)
"Gilles MOUGNOZ" wrote in message news:%23kW$
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
fth
..suite...
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
"Gilles MOUGNOZ" wrote in message news:%23kW$
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
..suite...
Voici le code que je met sur l'évenement de mon bouton..
dans le secret espoir qu'il passe d'un record à l'autre ...
et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
"Gilles MOUGNOZ" <gmougnoz@hotmail.fr> wrote in message
news:%23kW$w7EcGHA.4604@TK2MSFTNGP02.phx.gbl...
Bonjour,
et merci pour la piste...
Il me reste un soucis:
pas moyen de limiter l'impression au record selectionné...
....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la
source de ton form et de tes états.
En supposant que ce champ s'appelle "TaClef":
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
"Gilles MOUGNOZ" wrote in message news:%23kW$
Bonjour, et merci pour la piste... Il me reste un soucis: pas moyen de limiter l'impression au record selectionné... ....................................
Re-bonjour, Frédéric
Il faut qu'un champ (de préférence une clef) se trouve à la fois dans la source de ton form et de tes états. En supposant que ce champ s'appelle "TaClef":
Attention à bien mettre toutes les virgules, elles ne sont pas optionnelles!
Bonne continuation
Gilles MOUGNOZ
..suite...
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ? Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas l'enregistrement courant. A la fin de la boucle, il faut ajouter : rst.MoveNext Je ne sais pas si ton problème est là mais ne désespère pas, on avance, non?
Bonne continuation
..suite...
Voici le code que je met sur l'évenement de mon bouton..
dans le secret espoir qu'il passe d'un record à l'autre ...
et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ?
Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas
l'enregistrement courant.
A la fin de la boucle, il faut ajouter : rst.MoveNext
Je ne sais pas si ton problème est là mais ne désespère pas, on avance, non?
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ? Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas l'enregistrement courant. A la fin de la boucle, il faut ajouter : rst.MoveNext Je ne sais pas si ton problème est là mais ne désespère pas, on avance, non?
Bonne continuation
fth
Re! (et re merci aussi) Petit résumé:
j'ai donc modifié mon code bouré de IF par ta solution: Private Function ContratPrintCASE()
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Dim rst As Recordset Set rst = Me.RecordsetClone
With rst Do Until .EOF
Select Case ContratType
Case "Bénévole": DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True
Case "Bénévole/défrayé": DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True
Case "Chauffeur": DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
'Case Else: ' tous les autres cas non prévus
End Select
.MoveNext Loop End With End If
End Function
Le soucis n'est pas de passer d'un record à l'autre mais de n'imprimer que la sélection que j'ai à l'écran. Actuellement, il imprime tout la liste (400 records) alors que je fais des selections (click droit sur un champ-filter) par pacquet de 20 à 50 records (auquels j'appliques qq modifs)
je me demandais si qq chose genre recordset clone ou qui ferait réference a la form en cours ..
..je désepsère toujours Pfff merci de ton aide
Frédéric
"Gilles MOUGNOZ" wrote in message news:
..suite...
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ? Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas l'enregistrement courant. A la fin de la boucle, il faut ajouter : rst.MoveNext Je ne sais pas si ton problème est là mais ne désespère pas, on avance, non?
Bonne continuation
Re! (et re merci aussi)
Petit résumé:
j'ai donc modifié mon code bouré de IF par ta solution:
Private Function ContratPrintCASE()
If ContratSend = True Then
MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Dim rst As Recordset
Set rst = Me.RecordsetClone
With rst
Do Until .EOF
Select Case ContratType
Case "Bénévole":
DoCmd.OpenReport "RptContratBenevole", acViewPreview
Me.ContratSend = True
Case "Bénévole/défrayé":
DoCmd.OpenReport "RptContratBenevDef", acViewPreview
Me.ContratSend = True
Case "Chauffeur":
DoCmd.OpenReport "RptContratChauffeur", acViewPreview
Me.ContratSend = True
'Case Else:
' tous les autres cas non prévus
End Select
.MoveNext
Loop
End With
End If
End Function
Le soucis n'est pas de passer d'un record à l'autre mais de n'imprimer que
la sélection que j'ai à l'écran.
Actuellement, il imprime tout la liste (400 records) alors que je fais des
selections (click droit sur un champ-filter) par pacquet de 20 à 50 records
(auquels j'appliques qq modifs)
je me demandais si qq chose genre recordset clone ou qui ferait réference a
la form en cours ..
..je désepsère toujours Pfff
merci de ton aide
Frédéric
"Gilles MOUGNOZ" <gmougnoz@hotmail.fr> wrote in message
news:uXivJVFcGHA.864@TK2MSFTNGP05.phx.gbl...
..suite...
Voici le code que je met sur l'évenement de mon bouton..
dans le secret espoir qu'il passe d'un record à l'autre ...
et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ?
Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas
l'enregistrement courant.
A la fin de la boucle, il faut ajouter : rst.MoveNext
Je ne sais pas si ton problème est là mais ne désespère pas, on avance,
non?
j'ai donc modifié mon code bouré de IF par ta solution: Private Function ContratPrintCASE()
If ContratSend = True Then MsgBox "Contrat déjà rédigé", vbInformation, "Contrat"
Else
Dim rst As Recordset Set rst = Me.RecordsetClone
With rst Do Until .EOF
Select Case ContratType
Case "Bénévole": DoCmd.OpenReport "RptContratBenevole", acViewPreview Me.ContratSend = True
Case "Bénévole/défrayé": DoCmd.OpenReport "RptContratBenevDef", acViewPreview Me.ContratSend = True
Case "Chauffeur": DoCmd.OpenReport "RptContratChauffeur", acViewPreview Me.ContratSend = True
'Case Else: ' tous les autres cas non prévus
End Select
.MoveNext Loop End With End If
End Function
Le soucis n'est pas de passer d'un record à l'autre mais de n'imprimer que la sélection que j'ai à l'écran. Actuellement, il imprime tout la liste (400 records) alors que je fais des selections (click droit sur un champ-filter) par pacquet de 20 à 50 records (auquels j'appliques qq modifs)
je me demandais si qq chose genre recordset clone ou qui ferait réference a la form en cours ..
..je désepsère toujours Pfff merci de ton aide
Frédéric
"Gilles MOUGNOZ" wrote in message news:
..suite...
Voici le code que je met sur l'évenement de mon bouton.. dans le secret espoir qu'il passe d'un record à l'autre ... et uniquement dans les records sélectionnés..
Je rêve?
Merci
Frederic
Euh... il est où, le code ? Bon, en relisant ton code initial, j'ai vu que tu ne changeais pas l'enregistrement courant. A la fin de la boucle, il faut ajouter : rst.MoveNext Je ne sais pas si ton problème est là mais ne désespère pas, on avance, non?
Bonne continuation
Gilles MOUGNOZ
Re! (et re merci aussi) Petit résumé: j'ai donc modifié mon code bouré de IF par ta solution: ...
Si tu reviens sur ma réponse de 16:18, je te donnais une solution: il faut ajouter un paramètre à tes OpenReport. Bien sûr, il faut adapter à ton cas, je ne connais pas la structure de tes tables. Dans ton code, sélectionne un OpenReport et tapes sur F1, tu devrais trouver quelques infos utiles... Regarde aussi si les sites de Raymond et 3Stone s'ils ne propose pas un petit didactitiel sur le sujet.
Bon et long week-end et à mardi !
Re! (et re merci aussi)
Petit résumé:
j'ai donc modifié mon code bouré de IF par ta solution:
...
Si tu reviens sur ma réponse de 16:18, je te donnais une solution: il faut
ajouter un paramètre à tes OpenReport.
Bien sûr, il faut adapter à ton cas, je ne connais pas la structure de tes
tables.
Dans ton code, sélectionne un OpenReport et tapes sur F1, tu devrais trouver
quelques infos utiles...
Regarde aussi si les sites de Raymond et 3Stone s'ils ne propose pas un
petit didactitiel sur le sujet.
Re! (et re merci aussi) Petit résumé: j'ai donc modifié mon code bouré de IF par ta solution: ...
Si tu reviens sur ma réponse de 16:18, je te donnais une solution: il faut ajouter un paramètre à tes OpenReport. Bien sûr, il faut adapter à ton cas, je ne connais pas la structure de tes tables. Dans ton code, sélectionne un OpenReport et tapes sur F1, tu devrais trouver quelques infos utiles... Regarde aussi si les sites de Raymond et 3Stone s'ils ne propose pas un petit didactitiel sur le sujet.