géré un formulaire vide

Le
Guy du Lac
Bonjour à tous,

j'ai un bouton me permettant de lancer plusieurs requetes différentes pour
le même formulaire. Je voudrais pouvoir exécuter du code si mon recordsource
est vide. Mais je vois pas comment je pourrais écrire cette condition, Voici
le code de ma procédure

Dim req1, req2, req3, req4, req5, req6
req1 = "SELECT [charte de compte].* FROM [charte de compte]"

Select Case lechoix
Case 0 ' recherche tous
req2 = " "
req3 = ""
req4 = "ORDER BY [charte de compte].gl_code;"

Case 1 ' recherche par type de compte ex: revenu
If [Forms]![fiche]![Combo31] = "F" Then
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo40]))"
Else
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo60]))"
End If
req3 = " "
req4 = "ORDER BY [charte de compte].gl_code;"


Case 2 ' recherche par titre de compte

req2 = "WHERE ((([charte de compte].TITRE) Like '*" &
[Forms]![charte de compte]![Text57] & "*'))"
req3 = " "
req4 = "ORDER BY [charte de compte].titre;"

Case 3 ' recherche par GL
req2 = "WHERE ((([charte de compte].gl_code) = [Forms]![charte de
compte]![Text50])) Or "
req3 = "((([charte de compte].gl_code) > [Forms]![charte de
compte]![Text58])) "
req4 = "ORDER BY [charte de compte].gl_code;"

Case 4 ' inventaire

req2 = "WHERE ((([charte de compte].liste_inventaire) = 'O')) "
req3 = " "
req4 = "ORDER BY [charte de compte].TITRE;"

End Select

req5 = req1 + req2 + req3 + req4
Me.RecordSource = req5
Me.RecordSource

--
Merci à l'avance,
Guy du Lac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6317231
Hello Guy !

C'est quoi ce Me.RecordSource vide à la fin du code ?

Pour ce qui concerne ton problème, si j'ai bien compris, tu veux tester
si le résultat renvoyé par ton recordsource est vide, c'est bien ça ?
Dans ce cas,

If Me.RecordsetClone.RecordCount=0 Then
'Code à exécuter
End If

En ce jour mémorable du vendredi 07/09/2007, tu as émis l'idée
suivante:
Bonjour à tous,

j'ai un bouton me permettant de lancer plusieurs requetes différentes pour
le même formulaire. Je voudrais pouvoir exécuter du code si mon recordsource
est vide. Mais je vois pas comment je pourrais écrire cette condition, Voici
le code de ma procédure

Dim req1, req2, req3, req4, req5, req6
req1 = "SELECT [charte de compte].* FROM [charte de compte]"

Select Case lechoix
Case 0 ' recherche tous
req2 = " "
req3 = ""
req4 = "ORDER BY [charte de compte].gl_code;"

Case 1 ' recherche par type de compte ex: revenu
If [Forms]![fiche]![Combo31] = "F" Then
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo40]))"
Else
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo60]))"
End If
req3 = " "
req4 = "ORDER BY [charte de compte].gl_code;"


Case 2 ' recherche par titre de compte

req2 = "WHERE ((([charte de compte].TITRE) Like '*" &
[Forms]![charte de compte]![Text57] & "*'))"
req3 = " "
req4 = "ORDER BY [charte de compte].titre;"

Case 3 ' recherche par GL
req2 = "WHERE ((([charte de compte].gl_code) = [Forms]![charte de
compte]![Text50])) Or "
req3 = "((([charte de compte].gl_code) > [Forms]![charte de
compte]![Text58])) "
req4 = "ORDER BY [charte de compte].gl_code;"

Case 4 ' inventaire

req2 = "WHERE ((([charte de compte].liste_inventaire) = 'O')) "
req3 = " "
req4 = "ORDER BY [charte de compte].TITRE;"

End Select

req5 = req1 + req2 + req3 + req4
Me.RecordSource = req5
Me.RecordSource


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Guy du Lac
Le #6317191
Merci Thierry,

Cela fonctionne à merveille. Le me.recordsource était une erreur de
transcription
--
Merci,
Guy du Lac



Hello Guy !

C'est quoi ce Me.RecordSource vide à la fin du code ?

Pour ce qui concerne ton problème, si j'ai bien compris, tu veux tester
si le résultat renvoyé par ton recordsource est vide, c'est bien ça ?
Dans ce cas,

If Me.RecordsetClone.RecordCount=0 Then
'Code à exécuter
End If

En ce jour mémorable du vendredi 07/09/2007, tu as émis l'idée
suivante:
Bonjour à tous,

j'ai un bouton me permettant de lancer plusieurs requetes différentes pour
le même formulaire. Je voudrais pouvoir exécuter du code si mon recordsource
est vide. Mais je vois pas comment je pourrais écrire cette condition, Voici
le code de ma procédure

Dim req1, req2, req3, req4, req5, req6
req1 = "SELECT [charte de compte].* FROM [charte de compte]"

Select Case lechoix
Case 0 ' recherche tous
req2 = " "
req3 = ""
req4 = "ORDER BY [charte de compte].gl_code;"

Case 1 ' recherche par type de compte ex: revenu
If [Forms]![fiche]![Combo31] = "F" Then
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo40]))"
Else
req2 = "WHERE ((([charte de compte].[TYPE DE COMPTE]) =
[Forms]![charte de compte]![Combo60]))"
End If
req3 = " "
req4 = "ORDER BY [charte de compte].gl_code;"


Case 2 ' recherche par titre de compte

req2 = "WHERE ((([charte de compte].TITRE) Like '*" &
[Forms]![charte de compte]![Text57] & "*'))"
req3 = " "
req4 = "ORDER BY [charte de compte].titre;"

Case 3 ' recherche par GL
req2 = "WHERE ((([charte de compte].gl_code) = [Forms]![charte de
compte]![Text50])) Or "
req3 = "((([charte de compte].gl_code) > [Forms]![charte de
compte]![Text58])) "
req4 = "ORDER BY [charte de compte].gl_code;"

Case 4 ' inventaire

req2 = "WHERE ((([charte de compte].liste_inventaire) = 'O')) "
req3 = " "
req4 = "ORDER BY [charte de compte].TITRE;"

End Select

req5 = req1 + req2 + req3 + req4
Me.RecordSource = req5
Me.RecordSource


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






Thierry (ze Titi)
Le #6317181
Cela fonctionne à merveille.
Merci pour le retour ! Bonne continuation !


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Publicité
Poster une réponse
Anonyme