cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007
-
25 juin 2007 à 11:20
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007
-
25 juin 2007 à 14:40
Bonjour,
je voudrais savoir comment récupérer le nombre d'enregistrement retourné par ma requete dans mon code VBA
je vous donne ce que j'ai fait pour le moment pour que vous m'aidiez :D :
ma requete
SELECT *
FROM agence
WHERE date_ouverture BETWEEN formulaires![nb ouv ag entre date]!dateDeb AND formulaires![nb ouv ag entre date]!dateFin;
mon code VBA
Private Sub valider_Click()
Dim nbResultat As Integer
'initialisation pour le test
nbResultat = 5
'conversion de dateTime en date simple
Me.dateDeb = FormatDateTime(Me.dateDeb, vbShortDate)
Me.dateFin = FormatDateTime(Me.dateFin, vbShortDate)
'je vérifie que la date de deb est inférieure a la date de fin
If Me.dateDeb <= Me.dateFin Then
'je compte le nombre d'enregistrement trouvé
formule de calcul a intégrer ICI
'si ce n'est nombre est égal a zéro message sinon affichage des informations
If nbResultat = 0 Then
MsgBox "Aucune ouverture réalisée durant cette période", vbInformation, "Ouverture d'agence"
Else
'mise à jour des données du sous formulaire
Me.sousForm.Requery
Me.sousForm.Visible = True
End If
Else
MsgBox "Veuillez choisir une date de fin supérieure à la date de début!", vbCritical + vbOKOnly, "Intervale de temps incohérent"
End If
End Sub
j'attend vos aide avec hate.
Merci a tous d'avance
A voir également:
Sous-requête ramenant un enregistrement de plus d'une ligne
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 12:26
Donc mon code devrait donner ca :
'je compte le nombre d'enregistrement trouvé
Req = "SELECT * FROM agence WHERE date_ouverture BETWEEN formulaires![nb ouv ag entre date]!dateDeb AND formulaires![nb ouv ag entre date]!dateFin"
Set MaTable = CurrentDb.OpenRecordset(Req, dbOpenDynaset)
nbResultat = MaTable.RecordCount
'si ce n'est nombre est égal a zéro message sinon affichage des informations
If nbResultat = 0 Then
MsgBox "Aucune ouverture réalisée durant cette période", vbInformation, "Ouverture d'agence"
Else
'mise à jour des données du sous formulaire
Me.sousForm.Requery
Me.sousForm.Visible = True
End If
mais j'ai une erreur. il me dit qu'im me manque des paramètres au niveau de cette ligne la :
Set MaTable = CurrentDb.OpenRecordset(Req, dbOpenDynaset)
merci pour votre aide ca fait plaisir de savoir qu'il y a des gens pour me repondre
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 25 juin 2007 à 12:30
Salut,
Essaie peu être
Req = "SELECT * FROM agence WHERE date_ouverture BETWEEN " & dateDeb & " AND " & dateFin
Set MaTable = CurrentDb.OpenRecordset(Req, dbOpenDynaset)
nbResultat = MaTable.RecordCount
'si ce n'est nombre est égal a zéro message sinon affichage des informations
If nbResultat = 0 Then
MsgBox "Aucune ouverture réalisée durant cette période", vbInformation, "Ouverture d'agence"
Else
'mise à jour des données du sous formulaire
Me.sousForm.Requery
Me.sousForm.Visible = True
End If
, ----
[code.aspx?ID=41455 By Renfield]
NOTE: il faudra peu être entourer la valeur des date de # # ou d'autre choses (m'en souvient jamais)
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 12:42
mais c trop bizare ca marche une fois sur deux et meme si je n'ai pas d'enregistrement.
non je pense pas que ca vienne du format de ma date car sans faire ce test là j'utilisé les dates et ca m'affiché les bonnes valeurs.
la je reprend les mêmes dates donc je trouve ca très bizare.
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 12:49
bon en fait ca marche que quand ca veut et ca m'enerve un ti peu la..
parfois avec une certaine date ca ne fonctionne pas
après avec la meme date ca fonction
ensuite quand il n'y a pas de valeur ca ne me met pas le message..
a n'y rien comprendre. si vous avez des petits conseil (sauf me dire d'abandonner) je suis prenneuse ;)
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 25 juin 2007 à 12:54
C'est certain que ça peut fonctionner dans certains cas.
Tout dépend de ta date
Si tu as un format comme je disais et que tu écrives 04/06/2007
SQL va rechercher 06/04/2007 qui peut tout à fait être bon et te retourner des valeurs. Ces valeurs, par contre, ou le nombre d'enregistrements risque d'être erroné
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 13:02
oui je comprend bien
mais quand je selectionne la date 16/04/2007 ca m'affiche des résultats. Or si je raisonne comme tu dit, la date recherché est le 04/16/2007. etant donné que le mois 16 n'existe pas je devrais rien avoir a l'écran tu es d'accord? et l'a j'ai mes resultats.
tu vois pourquoi je trouve ca bizare?
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 13:20
roh la la..il met le format qu'il veut en fait. c'est comme ca lui chante
la je suis perdu complet car quand le choisi la date 05/04/2007 (en format anglais 04/05/2007) je vois des informations qui ont comme date 02/05/2007 donc ca n'est pas trop logique quand meme.
vous voyez ce que je veux dire?!?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 25 juin 2007 à 13:52
Essaie en laissant tomber le format Date et en utilisant des Long
"SELECT * FROM agence WHERE date_ouverture >= " & CLng (formulaires![nb ouv ag entre date]!dateDeb) & " AND
date_ouverture < = " & CLng(
formulaires![nb ouv ag entre date]!dateFin)
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 14:18
oki alors il y a encore un problème
je vais jamais m'en sortir de mon truc la
il n'y a plus de message d'erreur mais il n'y a plus d'informations qui s'affiche non plus lol..
cherie_cheri
Messages postés36Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention16 août 2007 25 juin 2007 à 14:40
non pardonne moi
j'avais fais un gros oublie....
merci pour ton aide a présent ca marche tout comme il faut lol
MERCI A VOUS TOUS
ça fait plaisir de savoir que l'on peut compter sur des gens ;)
a bientot (le moin rapidement possible ce qui signifira qe je n'ai pas de problème :p)