besoin d'un conseil

Le
natou
Bonjour,
j'ai cr dans access une base de facturation qui ne sert
que deux jours par an. L'entreprise ou je travaille
organise un WE par an une vente exceptionnelle de nos
produits des prix trs abordables, j'installe donc 4 pc
que je nomme "caisses" et sous access j'ai fait un petit
programme de facturation, et chaque anne j'ai des
problmes, car vu les prix de ventes, a se bouscule la
porte d'entre et nos caissires ne choment pas, si on
arrte pas le pc entre deux, lors de l'envoi de la facture
et du duplicata sur l'imprimante le systme donne un
message d'erreur de mmoire insuffisante et lorsque l'on
redmarre je me retrouve avec une facture avec les lignes
doubles voires triples, et je suis oblige d'intervenir
manuellement pour supprimer les lignes de la facture et de
la refaire, mais quand vous avez 2heures de file d'attente
ce n'est pas vident, j'ai refais grce votre aide en
vba, entirement ma base en VBA cette anne esprant que
a ne planterais pas, mais si pour certaines machines le
plantage arrivait au bout de 20 factures, pour d'autres
50, 100 factures suivant la puissace de la machine (j'en
avais 2 en windows 98, et 2 en win2000pro)j'avais
pens qu'avec un compactage entre deux a marcherait mais
non idem les autres annes et en plus le compactage me
faisait redmarrer mes numros de facture "0" car
j'avais utilis l'incrmentation automatique, donc je me
suis retrouve avec plusieures factures portant le mme
numro, bon a ce n'est pas trop grave, mais comment
viter ce plantage de mmoire insuffisante lors de
l'impression, voici ce qui se passe comme vennement
lorsque la caissire effectue son clic sur envoi de
facture :
Dim stDocName As String
stDocName = "req architempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "Facture"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Duplicata"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Req archivage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp corps facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp entte facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "supparchitempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.OpenForm "formouverture"
DoCmd.Close acForm, "entteformulaire"
merci si vous avez une ide
NATOU
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5008911
Bonjour.

le seul et unique conseil que je te donnerai est de lancer tes impressions
comme ceci:
DoCmd.OpenReport stDocName, acNormal, , , acDialog
au lieu de
DoCmd.OpenReport stDocName, acNormal, acEdit
Que veut dire acEdit ?

Sinon, et si tu n'as pas le temps d'attendre, éventuellement, place un
doEvents entre chaque ligne.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" news:182a001c41af1$3906e450$
Bonjour,
j'ai créé dans access une base de facturation qui ne sert
que deux jours par an. L'entreprise ou je travaille
organise un WE par an une vente exceptionnelle de nos
produits à des prix très abordables, j'installe donc 4 pc
que je nomme "caisses" et sous access j'ai fait un petit
programme de facturation, et chaque année j'ai des
problèmes, car vu les prix de ventes, ça se bouscule à la
porte d'entrée et nos caissières ne choment pas, si on
arrête pas le pc entre deux, lors de l'envoi de la facture
et du duplicata sur l'imprimante le système donne un
message d'erreur de mémoire insuffisante et lorsque l'on
redémarre je me retrouve avec une facture avec les lignes
doublées voires triplées, et je suis obligée d'intervenir
manuellement pour supprimer les lignes de la facture et de
la refaire, mais quand vous avez 2heures de file d'attente
ce n'est pas évident, j'ai refais grâce à votre aide en
vba, entièrement ma base en VBA cette année espérant que
ça ne planterais pas, mais si pour certaines machines le
plantage arrivait au bout de 20 factures, pour d'autres
50, 100 factures suivant la puissace de la machine (j'en
avais 2 en windows 98, et 2 en win2000pro)......j'avais
pensé qu'avec un compactage entre deux ça marcherait mais
non idem les autres années et en plus le compactage me
faisait redémarrer mes numéros de facture à "0" car
j'avais utilisé l'incrémentation automatique, donc je me
suis retrouvée avec plusieures factures portant le même
numéro, bon ça ce n'est pas trop grave, mais comment
éviter ce plantage de mémoire insuffisante lors de
l'impression, voici ce qui se passe comme évennement
lorsque la caissière effectue son clic sur envoi de
facture :
Dim stDocName As String
stDocName = "req architempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "Facture"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Duplicata"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Req archivage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp corps facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp entête facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "supparchitempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.OpenForm "formouverture"
DoCmd.Close acForm, "entêteformulaire"
merci si vous avez une idée
NATOU
natou
Le #5008751
Merci Raymond, j'ignore ce que veut dire "acEdit" j'ai
recopié bêtement je l'avoue cette ligne par contre je vais
modifier et faire des tests car je dois dire que samedi
matin cela m'a posé bien des soucis et comme les personnes
qui éditaient les factures ne connaissent pas access je
devais rester en permanence à proximité j'espère que cela
va règler mon pb j'ai un an pour voir ça MERCI
-----Message d'origine-----
Bonjour.

le seul et unique conseil que je te donnerai est de
lancer tes impressions

comme ceci:
DoCmd.OpenReport stDocName, acNormal, , , acDialog
au lieu de
DoCmd.OpenReport stDocName, acNormal, acEdit
Que veut dire acEdit ?

Sinon, et si tu n'as pas le temps d'attendre,
éventuellement, place un

doEvents entre chaque ligne.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" dans le message de

news:182a001c41af1$3906e450$
Bonjour,
j'ai créé dans access une base de facturation qui ne sert
que deux jours par an. L'entreprise ou je travaille
organise un WE par an une vente exceptionnelle de nos
produits à des prix très abordables, j'installe donc 4 pc
que je nomme "caisses" et sous access j'ai fait un petit
programme de facturation, et chaque année j'ai des
problèmes, car vu les prix de ventes, ça se bouscule à la
porte d'entrée et nos caissières ne choment pas, si on
arrête pas le pc entre deux, lors de l'envoi de la facture
et du duplicata sur l'imprimante le système donne un
message d'erreur de mémoire insuffisante et lorsque l'on
redémarre je me retrouve avec une facture avec les lignes
doublées voires triplées, et je suis obligée d'intervenir
manuellement pour supprimer les lignes de la facture et de
la refaire, mais quand vous avez 2heures de file d'attente
ce n'est pas évident, j'ai refais grâce à votre aide en
vba, entièrement ma base en VBA cette année espérant que
ça ne planterais pas, mais si pour certaines machines le
plantage arrivait au bout de 20 factures, pour d'autres
50, 100 factures suivant la puissace de la machine (j'en
avais 2 en windows 98, et 2 en win2000pro)......j'avais
pensé qu'avec un compactage entre deux ça marcherait mais
non idem les autres années et en plus le compactage me
faisait redémarrer mes numéros de facture à "0" car
j'avais utilisé l'incrémentation automatique, donc je me
suis retrouvée avec plusieures factures portant le même
numéro, bon ça ce n'est pas trop grave, mais comment
éviter ce plantage de mémoire insuffisante lors de
l'impression, voici ce qui se passe comme évennement
lorsque la caissière effectue son clic sur envoi de
facture :
Dim stDocName As String
stDocName = "req architempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "Facture"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Duplicata"
DoCmd.OpenReport stDocName, acNormal, acEdit
stDocName = "Req archivage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp corps facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "req supp entête facture"
DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName = "supparchitempo"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.OpenForm "formouverture"
DoCmd.Close acForm, "entêteformulaire"
merci si vous avez une idée
NATOU


.



Publicité
Poster une réponse
Anonyme