cs_laglobule
Messages postés29Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 1 août 2002
-
23 juil. 2002 à 12:09
GhostPiwiik
Messages postés11Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention28 septembre 2004
-
30 juin 2004 à 18:59
Jour'
Bon voila ca fait + d une semaine que je bloque sur ce pb et tjs po de reponse :(
J ai une BD qui gere des contrats
Pour chaque contrat, j'ai plusieurs pieces ou prestations
Chaque pieces ou prestations a un prix et un cout pour la société
Or je voudrais connaitre la marge (cad prix-cout) des contrats compris entre 2 dates
Genre quel est le chiffre d affaire entre le 05/04/2002 et le 16/11/2002
Seulement, quelles que soient ces 2 dates, le prog me sort le chiffre d affaire compris entre le 01/01/2002 et ma date_fin, why ?
voici ma source :
Private Sub Image123_Click()
Dim annee_recherche As String
Dim mois_recherche As String
Dim mois As String
Dim dbf As Database
Dim tuple As Recordset
Dim requete As String
Dim date_debut As String
Dim date_fin As String
Dim chiffre_affaire As Long
Dim marge As Long
Dim i As Integer
Dim code_contrat As String
If (IsNull(Forms![Résultat - calcul du CA pour un mois donné]![Modifiable118].Value) Or (IsNull(Forms![Résultat - calcul du CA pour un mois donné]![Modifiable116].Value))) Then
MsgBox "Un champ n'a pas été rempli... :("
Else
annee_recherche = Forms![Résultat - calcul du CA pour un mois donné]![Modifiable118].Value
mois_recherche = Forms![Résultat - calcul du CA pour un mois donné]![Modifiable116].Value
mois = mois_recherche
Select Case mois_recherche
Case "Janvier"
date_debut = CDate("01/01/" & annee_recherche)
date_fin = CDate("31/01/" & annee_recherche)
Case "Février"
date_debut = CDate("01/02/" & annee_recherche)
date_fin = CDate("28/02/" & annee_recherche)
Case "Mars"
date_debut = CDate("01/03/" & annee_recherche)
date_fin = CDate("31/03/" & annee_recherche)
Case "Avril"
date_debut = CDate("01/04/" & annee_recherche)
date_fin = CDate("30/04/" & annee_recherche)
Case "Mai"
date_debut = CDate("01/05/" & annee_recherche)
date_fin = CDate("31/05/" & annee_recherche)
Case "Juin"
date_debut = CDate("01/06/" & annee_recherche)
date_fin = CDate("30/06/" & annee_recherche)
Case "Juillet"
date_debut = CDate("01/07/" & annee_recherche)
date_fin = CDate("31/07/" & annee_recherche)
Case "Août"
date_debut = CDate("01/08/" & annee_recherche)
date_fin = CDate("31/08/" & annee_recherche)
Case "Septembre"
date_debut = CDate("01/09/" & annee_recherche)
date_fin = CDate("30/09/" & annee_recherche)
Case "Octobre"
date_debut = CDate("01/10/" & annee_recherche)
date_fin = CDate("31/10/" & annee_recherche)
Case "Novembre"
date_debut = CDate("01/11/" & annee_recherche)
date_fin = CDate("30/11/" & annee_recherche)
Case "Décembre"
date_debut = CDate("01/12/" & annee_recherche)
date_fin = CDate("31/12/" & annee_recherche)
Case Else
MsgBox "Le mois que vous venez d'insérer est incorrect..."
End Select
If tuple.RecordCount = 0 Then
MsgBox "Il n'y a aucun contrat d'enregistré pour cette période..."
Else
With tuple
.MoveLast
.MoveFirst
End With
For i = 1 To tuple.RecordCount
marge = tuple("Prix").Value - tuple("Cout").Value
chiffre_affaire = chiffre_affaire + marge
tuple.MoveNext
Next i
tuple.Close
Set tuple = Nothing
dbf.Close
MsgBox "Chiffre d'affaire sur la période comprise entre le " & CStr(date_debut) & " et le " & CStr(date_fin) & " : " & vbCrLf & vbCrLf & vbTab & CStr(chiffre_affaire) & " €"
End If
cs_laglobule
Messages postés29Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 1 août 2002 23 juil. 2002 à 12:34
A vrai dire, je bosse sous access (logiciel que j ai ouvert la premiere fois de ma vie il y a 2 semaines), je ne connais po trop le VB et je ne sais absolument pas faire ce que tu me demandes....
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 8 juil. 2003 à 10:54
met tes variables de date au format date, ça devrait etre mieux, puis, utilise la commande format(ma_date,"yy") pour comparer des date voici un bout de code qui devrait t'aider un peu (c'est un chronometre qui utilise la date systeme car le timer est trop imprécis en fait):
Dim debut, coucou, fin As Date
-------------------------------------------------------
Private Sub Command1_Click()
coucou = Format(Now(), "d/m/yy h:n:s")
Timer1 = True
End Sub
-------------------------------------------------------
Private Sub Timer1_Timer()
debut = Format(Now(), "d/m/yy h:n:s")
fin = CDate(debut) - CDate(coucou)
Label1.Caption = debut
Text1.Text = Format(CDate(fin), "h")
Text2.Text = Format(fin, "n")
Text3.Text = Format(fin, "s")
End Sub
ps : en espèrant avoir été clair, je te souhaite plein de petites date à gerer
nb : soit plus précis dans tes sujets
;)
David de lAVAL
Vous n’avez pas trouvé la réponse que vous recherchez ?