ACCESS : DoCmd.OpenForm comment mettre des conditions à mon sens un peu particul [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
27 avril 2007
-
Messages postés
5
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
27 avril 2007
-
Code à améliorer :

Private Sub listeRésultats_DblClick(Cancel As Integer)
   DoCmd.OpenForm "info_livre_disponible", acNormal, , " [id] = " & listeRésultats
 End Sub

Structure :
J'ai conçu un moteur de recherche  SQL qui donne les résultats sous cette forme

[id]   [livre]  [quantité]
1        aze       10
2        zea        5
3        aaa        11
4        eza        0

Le principe de fonctionnement :
Le principe consiste, en cliquant sur un résultat, d'avoir une nouvelle fenetre (formulaire info_livre_disponible) qui reprend les meme donnés que ceux du moteur de recherche avec  quelques champ en plus comme le Résumé par exemple. Mais le formulaire doit être différent selon qu'on a le livre disponible en stock ou pas !!

Ce que je veux avoir :
S'il vous plait aider moi à résoudre mon problème le plus rapidement possible. Il s'agit en fait d'avoir une sorte de condition à intégrer dans mon code pr ouvrir DEUX formulaire selon le cas

>> Si la quantité est > à 0 je garde le code càd le formulaire "info_livre_disponible" s'ouvre et il aura un bouton pr passer la commande du livre

>> Si par contre la quantité est <= 0 un autre formulaire qui portera le nom cette fois ci de "info_livre_non_disponible" qui s'ouvrira dans lequel y aura pas de bouton pr commande.

J'espère que mes explications sont clairs. Aidez moi svp ! en tt cas je crois que la commande DoCmd.OpenForm admet les conditions mé le problème c'est comment vérifier sur la colonne : Quantité (quantité < ou > à 0 ) dans chaque ligne lorsqu'on y clique dessus.

Merci d'avance

2 réponses

Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
Avec une requête.
une fois que tu as trouvé la requête qui te permet de connaitre ta quantité.
Tu n'as plus qu'à faire un Dlookup dessus retournant le résultat de la requête sur l'évènement DblClick de listeRésultats.
Comme ceci:

Private Sub listeRésultats_DblClick(Cancel As Integer)
dim res as integer
res Dlookup("quantité","Livres",id " & Me.listeRésultats)
' champ résultat Table critère
msgbox res
select case res
case > 0: DoCmd.OpenForm "info_livre_disponible", acNormal, , " [id] = " & listeRésultats
case else: DoCmd.OpenForm "info_livre_non_disponible", acNormal, , " [id] = " & listeRésultats
end select
end sub
Messages postés
5
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
27 avril 2007

Merci infiniment. T'as réponse marche à merveille  !

T'as ajouté tous ce qu'il me fallait.
la commande Dlookup pour retirer les variables qu'on désire, plus le select case pour gérer les conditions. Un travail d'expert. Bravo [auteurdetail.aspx?ID=55855 tbbuim1]