Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2004, 15h53   #1
Invité de passage
 
Inscription : septembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 19
Points : 4
Points : 4
Par défaut [CR]pb avec n° de semaine

Bonjour,

Je fait un etat dans lequel j'affiche une qte par semaine.
Dans ma bdd j'ai le n° de semaine et je voudrais indiquer en plus la date de debut de semaine et la date de fin.
Comment faire cela SVP
julien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 16h27   #2
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Voilà 3 fonctions en VB6 que tu dois pouvoir traduire en Crystal et qui pourront t'être utiles :

Code :
1
2
3
4
5
6
FUNCTION DateSemaine(ByVal A AS Integer, ByVal S AS Integer, J AS Integer) AS Date
    Dim NJ&, Js%
    NJ = NombreDate(Format(Abs(A), "0000") & "0101") & Mid("-", Sgn(A) + 2)   ' Jour de l'an
    Js = Int(7.0001 * FP(NJ / 7)) + 1             ' Jour de la Semaine
    DateSemaine = DateNombre(NJ - Js + 7 * (S - 1) + 7 * Abs(Js >= 4) + J)
End Function
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FUNCTION NombreDate(ByVal Jour) AS Long
    Dim J%, M%, A%
    Dim NJ&
 
    IF VarType(Jour) = vbDate Then
       Jour = Format(Jour, "YYYYMMDD")
    End IF
 
    J = Val(Mid(Jour, 7, 2))
    M = Val(Mid(Jour, 5, 2))
    A = Val(Mid(Jour, 9, 1) & Mid(Jour, 1, 4))
 
    IF M < 3 Then A = A - 1: M = M + 12
    NJ = Int(A * 365.25) + Int(30.6 * (M + 1)) + J - 63 - 365
    IF NJ > 577747 Then NJ = NJ + 2 - Int(A / 100) + Int(Int(A / 100) / 4)
    NJ = NJ - 694388 + 63 + 365 - 2 ' -693962
    NombreDate = NJ
 
End Function
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
FUNCTION DateNombre(ByVal NJ AS Long) AS Date
    Dim J%, M%, A%
    Dim N&
    NJ = NJ + 693962
    IF NJ > 577737 Then     ' Grégorien
       A = Int((NJ + 365) / 365.2425)
       N = Int(A * 365.25) - 305 - Int(A / 100) + Int(Int(A / 100) / 4) + 2
    Else                    ' Julien
       A = Int((NJ + 365) / 365.25)
       N = Int(A * 365.25) - 305
    End IF
    N = NJ - N + 1
    NJ = N
    IF N < 1 Then N = N + 365 + Abs(AnneeBissextile(A))
    M = Int((N - 0.5) / 30.61) + 3
    J = N - Int(30.6 * (M - 3) + 1.5) + 1
    IF NJ < 1 Then IF M > 12 Then M = M - 12 Else A = A - 1
'    DateNombre = Format(Abs(A), "0000") & Format(M, "00") & Format(J, "00") & Mid("-", Sgn(A) + 2)
    DateNombre = DateSerial(A, M, J)
End Function
Bon courage ...
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 16h44   #3
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Excuse moi ..
Ma réponse est un peu hors sujet ...
Car tu as tout ce qu'il faut en crystal :
DateValue, WeekDay.
Pour arriver à faire ce que tu veux ...
Ma réponse s'adresse plutôt au développeur qui n'utilise pas crystal et qui ne dispose pas des fonctions précitées ....
Faut que j'arrête de trainer à la taverne, ca m'embrouille l'esprit ...
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 17h24   #4
Invité de passage
 
Inscription : septembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 19
Points : 4
Points : 4
Ben en fait c'est le contraire que je veux.
J'ai le n° de semaine et je veux le transformer en 2 dates (1er jour et dernier jour.
Ex:
sem 1 du 05/01/2004 au 11/01/2004
sem 2 du 12/01/2004 au 18/01/2004 etc...
julien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 17h52   #5
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
C'est bien là le rôle de la fonction DateSemaine
A=Année
S=Semaine
J=Jour de 1 à 7
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2004, 18h25   #6
Invité de passage
 
Inscription : septembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 19
Points : 4
Points : 4
Désolé mais je ne comprend pas, la WeekDay transforme une date en semaine. non ?
Moi c'est le contraire je veux transformé un numero de semaine en date jj/mm/aaaa.
Si on peut faire ça avec WeekDay, peux-tu m'eclairer sur la syntaxe STP.
julien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 09h22   #7
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Je ne parle pas de la fonction intrinsèque Crystal WeekDay, mais de la fonction que je t'ai envoyé en VB6 qui elle transforme bien un numéro de semaine en date ....
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 11h09   #8
Invité de passage
 
Inscription : septembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 19
Points : 4
Points : 4
Au risque de paraître nullos, comment fais-tu pour créer une nouvelle fonction dans crystal... + je ne suis pas sur de savoir la traduire de VB6 en crystal... desolé
julien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 11h11   #9
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Tu bosses en quel langage ?? :
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 11h18   #10
Invité de passage
 
Inscription : septembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 19
Points : 4
Points : 4
???? Tu me pose une colle, j'utilise tout simplement crystal 8.5 pour créer des etats à partir d'une bdd sql server 2000... c'est tout ce que je peut te dire
julien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2004, 11h35   #11
Modérateur
 
Avatar de L.nico
 
Homme Nicolas LAURET
Chef de projet en SSII
Inscription : novembre 2003
Messages : 1 024
Détails du profil
Informations personnelles :
Nom : Homme Nicolas LAURET
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 1 024
Points : 1 744
Points : 1 744
Tu ne peux pas créer de DLL à l'extérieur de crystal ...
Tu ne peux pas créer de fonctions dans Crystal (possible en Version 10) ...
Je ne sais pas si les fonctions créées en SQL2000 peuvent être utilisées
dans crystal ...
T'es un peu bloqué ....
Il ne te reste plus qu'à transformer ces fonctions en formules Crystal en utilisant des variables globales à la place des paramètres ...
Mais c'est un peu galère ...
Tu ne vois vraiment pas comment faire ??
__________________
Modérateur Business Intelligence / Windev

A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
L.nico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h57.


 
 
 
 
Partenaires

Hébergement Web