Requete

petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 26 nov. 2006 à 13:42
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 26 nov. 2006 à 21:20
Salut j'ai un probleme avec une requete sql c'est a dire

 Set rr = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALmoin ,nticket from ticket WHERE ticket.nticket=" & toc & " and ticket.opa='-' group by nticket")

dans ma table ticket j'ai pas un champ nticket qui est en + ou - celon l'operation voule
c'est a dire que si c'est une entre dans ma caisse c'est en + et si je doit rendre de l'argent c'est en -
avec mes ticket j'ai
par exemple
reprise vidange = -4.50?
vendre un casier = 9.00? + vidange 4.5 ?
donc j'ai une ligne avec
1 er ligne de mon ticket      -4.50?
2iem ligne  de mon ticket   +9.00?
3iem ligne de mon ticket    +4.50?
= ma requete total des + puis total des -
et je fait 13.50? - 4.50? = 9.00?
Mais si j'ai pas de moin dans un ticket la valeur de rr!ticket est inexistante donc erreur
avez vous une solution
Merci

Caisse = caisse enregistreuse de shop

16 réponses

TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
26 nov. 2006 à 14:18
Bonjour,
Il faut tester la propriété .EOF de ton recordset

dim montantnegatif as integer
....
if rr.EOF  then
    montantnegatif=0
else
   montantnegatif=rr!totalMOIN
   
end if
rr.close

Jcbé[^]
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 17:51
Salut,

il se peut q' un un moment donné tu n' as ni "+"  ni "-"
et donc ton champ est Null.
Or avec un Null tu ne peux pas effectuer des opérations arithmétiques.
Vérifies dans ce sens pour voir
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 18:15
salut ,chaibat05
si il y a toujour quelque chose soit un + soit un - il n'y a jamais de champs null
si tu a une autre solution

Merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 18:28
désolé !
je viens de comprendre ...
la solution de TMONOD est valable dans ce cas.
(le champ n' as pas pu être généré)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 18:38
même pas !
il faudra donner la structure de ta table pour qu' on puisse
faire la différence entre cequi est généré de ce qui ne l' est pas
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 19:05
EXEMPLE :

nticket  codebar      description      prix                 operation
5          123456        coca            1.50?                    +
5          123456        coca            1.50?                    +   
5          654321        casier           4.50?                    -
5          654321        casier           4.50?                    -

donc ma requete pour les + = 3.00?                                  les -  9.00?  - 6.00?

Masi si j'ai
5          123456        coca            1.50?                    +
5          123456        coca            1.50?                    +   
5          654321        casier           4.50?                    +
5          654321        casier           4.50?                    +
j'ai une erreur car j'ai pas de - pour la  requete
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 19:21
testes ceci :
Set rr = db.OpenRecordset("select SUM(IIF(Ticket.operation="+", _
Ticket.prix, - Ticket.prix) _
As TOTAL WHERE TOTAL<0 GROUP BY nticket)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 19:26
pour avoir toujours un résultat ,
enlèves le
WHERE TOTAL<0
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 19:46
Set rr = db.OpenRecordset("select SUM(IIF(ticket.opa=" + ", ticket.prix_vente, - ticket.prix_vente)As TOTAL GROUP BY nticket")

sa marche pas il me dit operateur absent
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 20:02
Set rr = db.OpenRecordset("select SUM(IIF(ticket.opa="+", ticket.prix_vente,ticket.prix_vente *-1) As TOTAL GROUP BY nticket")
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 20:05
pardon,
Set rr = db.OpenRecordset("select SUM(IIF(ticket.opa='+', ticket.prix_vente,ticket.prix_vente *-1) As TOTAL GROUP BY nticket")
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 20:10
la meme chose erreur operateur absent

jutilise sa moi

 Set rd = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALPlus ,nticket from ticket WHERE ticket.nticket=" & toc & " and ticket.opa='+'  group by nticket")
   

Set rr = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALmoin ,nticket
from ticket WHERE ticket.nticket=" & toc & " and ticket.opa='-' group by nticket")

sa fonctionne si il y a des - dans les ticket
sinon sa plante
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 20:16
voici un liens tu pourra voir le code
http://www.rafb.net/paste/results/efnkN089.html
encore merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 20:33
depuis le début ce toc me chiffonnait !
c' est du texte et donc il ajouter une quote de part et d' autre...
Set rr = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALmoin ,nticket
from ticket WHERE ticket.nticket like ' " & toc & "' and ticket.opa ='-' group by nticket")

et fais un On Error Goto ...avant rs!TOTAL
et pas après comme dans ton code
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
26 nov. 2006 à 21:11
la requete que tu vient de me donné est la même que celle qui est dans mon code sauf que tu rajoute like Mais sa fonctionne comme la mienne ,


et quand il y a pas de - dans une ligne de mon numero de ticket(toc) sa fait exactement la meme erreur


 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 nov. 2006 à 21:20
voici ton code
 
   Set rd = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALPlus ,nticket from ticket WHERE ticket.nticket=" & toc & " and ticket.opa='+'  group by nticket")
    Set rr = db.OpenRecordset("select SUM(ticket.TOTAL) As TOTALmoin ,nticket from ticket WHERE ticket.nticket=" & toc & " and ticket.opa='-' group by nticket")

il manque des quotes avant et après  =" & toc & "
ce qu ' il faut c' est ='" & toc & "'
0
Rejoignez-nous