Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lire la valeur d'une liste déroulante

7 réponses
Avatar
Jean-Georges
Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub

7 réponses

Avatar
LiR
Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub





Avatar
Jean-Georges
La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM [Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub







Avatar
LiR
Alors tu peux utiliser ceci :

Private Sub Imprimer_Click()

Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='" & Me.cboNomFamille & '", dbOpenSnapshot)

If Not RstTable.EOF then

Select case RstTable!Prestation
Case "OK"
DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal
Case "Debut"
'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal
End Select

End If

RstTable.Close

End Sub


A noter que si le nom de la famille peut contenir une apostrophe, ça ne
marche pas.
Si tel est la cas, il faut doubler les apostrophes (éventuelles) du texte de
la liste :

Utiliser Replace(Me.cboNomFamille,"'","''") au lieu de Me.cboNomFamille





La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM [Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub












Avatar
Jean-Georges
Merci
Il y une erreur de compilation ,erreur de syntaxe dans la ligne:

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]=' "& Me.cboNomFamille&" ',dbOpenSnapshot)

Je ne trouve pas l'erreur

"LiR" a écrit dans le message de news:

Alors tu peux utiliser ceci :

Private Sub Imprimer_Click()

Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='" & Me.cboNomFamille & '", dbOpenSnapshot)

If Not RstTable.EOF then

Select case RstTable!Prestation
Case "OK"
DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal
Case "Debut"
'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal
End Select

End If

RstTable.Close

End Sub


A noter que si le nom de la famille peut contenir une apostrophe, ça ne
marche pas.
Si tel est la cas, il faut doubler les apostrophes (éventuelles) du texte
de
la liste :

Utiliser Replace(Me.cboNomFamille,"'","''") au lieu de Me.cboNomFamille





La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM [Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub














Avatar
LiR
Pas évident à voir...

1. Mettre un esace avant et aprèset chaque &
2. Attention de ne pas mettre d'espace entre les apostrophes et les
guillemets...

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='" & Me.cboNomFamille & "',dbOpenSnapshot)

Autre truc bizarre (rien à voir avec l'erreur de compilation) :
Ta requête s'appelle Stagiaires Requête?
Tu devrais la mettre entre crochets :

Set RstTable = Db.OpenRecordset("SELECT prestation FROM [Stagiaires Requête]
WHERE [NomFamille]='" & Me.cboNomFamille & "',dbOpenSnapshot)

Ca donne quoi?


Merci
Il y une erreur de compilation ,erreur de syntaxe dans la ligne:

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]=' "& Me.cboNomFamille&" ',dbOpenSnapshot)

Je ne trouve pas l'erreur

"LiR" a écrit dans le message de news:

Alors tu peux utiliser ceci :

Private Sub Imprimer_Click()

Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='" & Me.cboNomFamille & '", dbOpenSnapshot)

If Not RstTable.EOF then

Select case RstTable!Prestation
Case "OK"
DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal
Case "Debut"
'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal
End Select

End If

RstTable.Close

End Sub


A noter que si le nom de la famille peut contenir une apostrophe, ça ne
marche pas.
Si tel est la cas, il faut doubler les apostrophes (éventuelles) du texte
de
la liste :

Utiliser Replace(Me.cboNomFamille,"'","''") au lieu de Me.cboNomFamille





La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM [Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub



















Avatar
LiR
Il y avait surtout l'oubli de la fermeture des guillemets (tout à la fin du
code SQL) :

Set RstTable = Db.OpenRecordset("SELECT prestation FROM [Stagiaires Requête]
WHERE [NomFamille]='" & Me.cboNomFamille & "'", dbOpenSnapshot)

Mea culpa, je les avais oublié dans ma première proposition!
Là c'est bon je pense!


Merci
Il y une erreur de compilation ,erreur de syntaxe dans la ligne:

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]=' "& Me.cboNomFamille&" ',dbOpenSnapshot)

Je ne trouve pas l'erreur

"LiR" a écrit dans le message de news:

Alors tu peux utiliser ceci :

Private Sub Imprimer_Click()

Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires Requête
WHERE [NomFamille]='" & Me.cboNomFamille & '", dbOpenSnapshot)

If Not RstTable.EOF then

Select case RstTable!Prestation
Case "OK"
DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal
Case "Debut"
'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal
End Select

End If

RstTable.Close

End Sub


A noter que si le nom de la famille peut contenir une apostrophe, ça ne
marche pas.
Si tel est la cas, il faut doubler les apostrophes (éventuelles) du texte
de
la liste :

Utiliser Replace(Me.cboNomFamille,"'","''") au lieu de Me.cboNomFamille





La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM [Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub



















Avatar
Jean-Georges
Super ça marche bien

Merci beaucoup

Jean-Georges


"LiR" a écrit dans le message de news:

Il y avait surtout l'oubli de la fermeture des guillemets (tout à la fin
du
code SQL) :

Set RstTable = Db.OpenRecordset("SELECT prestation FROM [Stagiaires
Requête]
WHERE [NomFamille]='" & Me.cboNomFamille & "'", dbOpenSnapshot)

Mea culpa, je les avais oublié dans ma première proposition!
Là c'est bon je pense!


Merci
Il y une erreur de compilation ,erreur de syntaxe dans la ligne:

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]=' "& Me.cboNomFamille&" ',dbOpenSnapshot)

Je ne trouve pas l'erreur

"LiR" a écrit dans le message de news:

Alors tu peux utiliser ceci :

Private Sub Imprimer_Click()

Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='" & Me.cboNomFamille & '", dbOpenSnapshot)

If Not RstTable.EOF then

Select case RstTable!Prestation
Case "OK"
DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal
Case "Debut"
'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal
End Select

End If

RstTable.Close

End Sub


A noter que si le nom de la famille peut contenir une apostrophe, ça ne
marche pas.
Si tel est la cas, il faut doubler les apostrophes (éventuelles) du
texte
de
la liste :

Utiliser Replace(Me.cboNomFamille,"'","''") au lieu de Me.cboNomFamille





La liste est sur le même formulaire
Son nom: cboNomFamille
J'utilise le texte issu de: SELECT [Paye Requête].NomFamille FROM
[Paye
Requête];

Merci

"LiR" a écrit dans le message de news:

Bonjour,

- La liste déroulante est-elle dans le même formulaire que le bouton
Imprimer?
- Quel est le nom de la liste déroulante?
- Quelle est la colonne de la liste contenant le texte à utiliser?


Bonjour

Je voudrai remplacer [NomFamille]='toto' par le nom nom d'une liste
déroulante.

Par avance merci
jg

Private Sub Imprimer_Click()
Dim Db As DAO.Database
Dim RstTable As DAO.Recordset
Set Db = CurrentDb

Set RstTable = Db.OpenRecordset("SELECT prestation FROM Stagiaires
Requête
WHERE [NomFamille]='toto'")
If RstTable("Prestation") = "OK" Then

DoCmd.OpenReport "Facture", acViewNormal, "", "", acNormal

End If

If RstTable("Prestation") = "Debut" Then

'DoCmd.OpenReport "Facture1", acViewNormal, "", "", acNormal

End If
RstTable.Close
End Sub