Amélioration du code

amigna Messages postés 53 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 18 août 2008 - 12 févr. 2008 à 12:57
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 14 févr. 2008 à 10:14
Bonjour

je suis entrain de développer un logiciel de gestion des pharmacies. la pharmacie travail 24h/24h beaucoup de personne peuvent intervenir dans la journée et la nuit je voudrais faire un filtre pour connaitre les ventes de chaque personne filtre entre deux dates, date début date fin. et filtre entre deux heures différentes heures début heure fin. j'utilise VB 6.0 base de donnée access.
j'ai trouvé le code pour déterminer date début date fin qui marche trés bien.
je voudrais si quelqu'un peut nous aider à faire le code entre deux heures différentes heure début heure fin pour connaitre les ventes d'une personne durant des heures.
voila le code.
les champs sont: Datevente, Libellémedicament, Quantité, Prix

Private Sub Cmdliste_Click()
Dim strliste As String
strliste = "Dim strliste As String"
strliste "SELECT Vente.DateVente, LotStock.LibelleMedicament, ventemed.Quantité, Vente.MontantVente FROM Vente INNER JOIN (LotStock INNER JOIN ventemed ON LotStock.CodeMedicament ventemed.codemed) ON Vente.NumeroVente = ventemed.numVente"
Adodc1.RecordSource = strliste
Adodc1.Refresh
End Sub

Private Sub CmdOK_Click()
On Error GoTo rech
Dim strQuery As String
strQuery "SELECT Vente.DateVente, LotStock.LibelleMedicament, ventemed.Quantité, Vente.MontantVente FROM Vente INNER JOIN (LotStock INNER JOIN ventemed ON LotStock.CodeMedicament ventemed.codemed) ON Vente.NumeroVente = ventemed.numVente where Vente.DateVente between # " & Year(Txtdate1.Text) & "/" & Month(Txtdate1.Text) & "/" & Day(Txtdate1.Text) & " # and # " & Year(Txtdate2.Text) & "/" & Month(Txtdate2.Text) & "/" & Day(Txtdate2.Text) & " # "
Adodc1.RecordSource = strQuery
Adodc1.Refresh
Exit Sub
rech:
MsgBox Err.Description
End Sub

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 févr. 2008 à 15:56
Year(Txtdate1.Text) & "/" & Month(Txtdate1.Text) & "/" & Day(Txtdate1.Text)
se dit:
Format$(Txtdate1.Text , "YYYY\/MM\/DD")

pour l'heure... ajoutes la simplement :

#2008/02/12 15:53:08#

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
BIGDAMSBIG Messages postés 27 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 25 février 2008
14 févr. 2008 à 10:00
bonjour

pour l'heure.... s'il ajoute l'heure dans sa requete
ca ne marchera pas.
je veux connaitre tous les champs de l'année 2000 a 2006
comprit entre 15/00/00 et 16:00:00

requete sql entre #2000/00/ 15:00:00# et #2006/02/12 16:00:00#

elle prendra toute les dates comprisent entre celles- ci y compris
2002/00/ 11:00:00 par exemple ce qui n'est pas le but de la requete

methode debutant avec code lourdos sans between
avec 2 champ date1 et date2 type text dans acess
avec 4 variables as string dans vb
et qui marche
filtrage dans where:
sql = " SELECT date1, date2,produitmedicament frOM Table1 _
where date1>'" & Jmin "' and date1 <'" & JMAX & "' and date2 >'" & Hmin & " ' and date2 <'" & HMax & " 'order by date1"

je sais qu'il y a mieux comme code et forcemment plus simple ne
connaissant pas le sql et le vb mais c'est pour donner un coup
de main pour le fitre et sur ma machine sa marche.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 févr. 2008 à 10:14
on doit pouvoir faire en gros:

...
WHERE YEAR(Champ1) BETWEEN 2000 AND 2006
AND HOUR(Champ1) BETWEEN 15 AND 16

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous