youplaboom69
Messages postés37Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 octobre 2006
-
13 juil. 2005 à 12:49
youplaboom69
Messages postés37Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 octobre 2006
-
13 juil. 2005 à 14:43
Bonjour a tous!!
Je viens ici en désespoire de cause ou presque. Voila le topo:
Je dois créer un état. Bon jusque la ça va ;-)
J'ai créé une commande avec VB qui alimente mon état.
Le truc c'est que dans mon état je voudrais faire apparaitre le resultat d'un calcul. Jusque la ça va aussi :-D
je modiufie ma commande et ça roule
Maintenant, je ne voudrais afficher le resultat que s'il est supérieur à 0. Et la ça va beaucoup moins bien... :'(
ValeurC = valeurA - valeurB si valeurC > 0
Je vois pas du tout comment faire. En SQL, je pense pas que ça soit possible (du moins pas avec VB6.0).
Je voudrais donc savoir comment je pourrais faire pour obtenir le resultat que je souhaite. Plutot une requete SQL ou petit bout de code VB qui me ferait ça bien? Ou alors est ce qu'il est possible de faire les calcules directement sur l'état en mettant le calcul dans une zone .
Mais je vois pas du tout comment le mettre en place.
Si qqn a une idée même pas top ça me serait super utile...et j'en serais tres reconnaissant
Merci d'avance
A voir également:
Tres urgent!! Construction d'un état avec SQL (pas débutant)
youplaboom69
Messages postés37Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 octobre 2006 13 juil. 2005 à 14:43
bon ben voila....
Merci pour ton aide....ça s'appel de l'emulsion intellectuelle collective!!
Donc suiffit de mettre la fermeture du recordset en optimiste et pis ça marche tout seul!!
Bilan:
On fait sa requete, on travail sur les données que l'on veut, et on affiche le resultat
En gros ça donne
'Ouverture de la requete
maSource.maRequete [param]
'les opérations sur le recordset
while not ....
OPERATIONS
Wend
'Affichage dans le report
MonRapport.show
Et voila c'est tout con en fait!! C'est trop facil le VB
Et moi qui voulait me prendre la tete avec des requetes SQL...j'ai même envisagé de faire un Trigger....Alala
youplaboom69
Messages postés37Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 octobre 2006 13 juil. 2005 à 14:28
Bon des precisions....
C'est parti
Je travail avec VB 6.0 SP5. Mon etat se construit a partir d'une commande SQL (qui a une commande fille ms ça c'est du détail). C'est pas du crystal report (je crois pas que ça soit possible avec VB 6). Dans mon code, pour afficher l'état en question je fais:
en sachant que:
- sourceDeDonnées: ben c'est ma source des données (la connexion en gros)
- infoEmploye : c'est la commande SQL
- mdlCommun.idExercice: c'est un parametre passé a ma requete
- dtrListeEmploye: c'est mon datareport
Je me demande si c'est pas possible d'ajouter la vérification dans le code en faisant un truc du style
While not rsinfoEmploye.EOF (le recordset associé a la commande)
valeurC = valeurA - valeurB
if (valeurC < 0) then
valeurC = 0
end if
Wend
'ajouter la valeurC dans l'état
dtrListeEmploye.maZone.text = valeurC
Mais ça marche pas...j'ai pas acces a dtrListeEmploye.maZone...
L'autre solution c'est de travailler la requete SQL mais la ça devient galere...
Et puis tant qu'a faire si je peux avoir mon "0" c'est aussi bien ms je me contenterai d'un " " sans que ça ne me cause le moindre soucis moral
Merci pour tout
youplaboom69
Messages postés37Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention19 octobre 2006 13 juil. 2005 à 14:34
Attention j'ai une idée....je sais pas si c'est possible....
Si entre le moment ou je remplit le recordset et le moment ou je rentre les valeurs dans le report, je changeais les valeurs de certains champs....
En gros si je fais ça:
sourceDeDonnées.infoEmploye mdlCommun.idExercice
While Not sourceDeDonnées.rsinfoEmploye.EOF
valeurC = sourceDeDonnées.rsinfoEmploye.Fields("valeurA") - sourceDeDonnées.rsinfoEmploye.Fields("valeurA")
If (valeurC < 0) Then
sourceDeDonnées.rsinfoEmploye.Fields("valeurC") = 0
End If
sourceDeDonnées.rsinfoEmploye.MoveNext
Wend
dtrListeEmploye.Show
Moi ça me parait plus accessible en tout cas...
Reste a savoir si je peux modifier les valeurs du recordset....je crois que c'est possible ms il faut que je cherche comment....si qqn peut m'aider a ce niveau la??