Problême sur acces

petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 20 févr. 2008 à 07:19
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 21 févr. 2008 à 08:35
Bonjour , voici mon petit problême sur ce code si dessous , 
je fait une requete pour le total des plus et une dans le total des moins dans des tickets de caisse.
Quand il n'y a rien dans le Total des plus j'ai une erreur.
J' ai essayer avec ISNULL mais sa ne fonctionne pas , avez-vous une autre idée.

Merci
 
 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")
  On Error GoTo erreur3

If IsNull(rd!totalplus) Then MsgBox "erreur"

If rr!TOTALmoin > 0 Then
MSFlexGrid1.Text = Format(rd!totalplus, "###0.00") - Format(rr!TOTALmoin, "###0.00")
Else
MSFlexGrid1.Text = Format(rd!totalplus, "###0.00")
End If

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 févr. 2008 à 09:03
ton code est étrange...

tu demande un group by nticket

donc, tu souhaite avoir le cumul pour chacun des groupes...

et tu fais ce genre de choses :
Format(rd!totalplus, "###0.00") - Format(rr!TOTALmoin, "###0.00")

quel lien entre le champ nTicket de chacun de ces deux recordset ?

autre chose, on ne calcule pas a partir de Strings...
Format(rd!totalplus - rr!TOTALmoin, "###0.00")

(penses a FormatCurrency ou FormatNumber)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 févr. 2008 à 09:12
tu pourrais ne faire qu'une requète :

SELECT SUM(plus.total) - (SELECT SUM(moins.total) FROM ticket moins WHERE moins.opa = '-')
FROM ticket plus
WHERE plus.opa = '+'
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
20 févr. 2008 à 21:12
Salut,
places le IsNull dans l' expression de Format$
MSFlexGrid1.Text =
Format$( IIf(IsNull(rd!totalplus),0, rd!totalplus)- IIf(IsNull(rd!totalmoins),0, rd!totalplus) ,  "###0.00"  )

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
20 févr. 2008 à 21:14
un copier coller raté !

Format$( IIf(IsNull(rd!totalplus),0, rd!totalplus)- IIf(IsNull(rr!TOTALmoin),0, rr!TOTALmoin) ,  "###0.00"  )

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
0

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

Posez votre question
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
21 févr. 2008 à 08:35
Bonjour et merci
j'ai essayer vos deux solutions mais aucune ne fonctionne
avec la tienne libre_max il me dit "erreur d' automatisation"

et avec la tienne Renfield il ne me fait pas d'erreur mais il ne me donne pas non plus quelque chose

Merci
0
Rejoignez-nous