[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 24/03/2011 : 16:37  Sujet n° 439  formulaire pour effacer en masse

le 14/12/2010 : 09:42
par Marc

Anonyme

visiteur

Bonjour,suite au sujet no .412,maintenant je souhaiterais pouvoir effacer de la base certains enregistrements,mais je voudrais le faire en masse,c'est à dire saisir plusieur codebarre dans un formulaire et les effacer d'un seul coup,donc je cherche à construire un formulaire qui me permettrait de creer une ligne supplémentaire automatiquement comme dans un sous formulaire est-ce possiblemerci Marc
Ecrire à Marc  sujet clos  Haut
Réponse n° 1
--------
le 14/12/2010 : 17:01
par 3Stone

Anonyme

Administrateur

Bonjour,

Comme déjà dit et répété, je ne peux valider l'approche que tu as choisie.
 
Citation : Marc

mais je voudrais le faire en masse,c'est à dire saisir plusieur codebarre dans un formulaire et les effacer d'un seul coup

 
En fait, un nouvel exemple qui illustre cela.

Pour mettre ta méthode en oeuvre, il faut donc un formulaire (continu), ainsi qu'une table temporaire pour la mémorisation. Ensuite, pour effacer "d'un seul coup", il faut en réalité une requête qui supprimera effectivement les enregistrements en comparant son code barre avec ceux de la table temporaire.
Autrement dit, faire compliqué au lieu de faire simple...

A la place, il suffit de supprimer directement l'enregistrement qui correspond au code scanné. Bien que, là aussi c'est contraire aux bons principes. On "empile" les événements, on crée des entrées et des sorties... et en cas d'erreur ou mauvaise manipulation, on possède les moyens pour corriger.
Enregistrer et ensuite supprimer ne laisse aucune trace... et ne permet donc aucune vérification, ni correction.

Je me souviens de tes premiers questionnements sur le sujet où j'avais déjà précisé que l'analyse et donc toute l'approche, n'était pas optimale, loin s'en faut.

Pour reprendre des exemples réels :
  • On scanne les membres qui se présentent au club. Si la trace de l'arrivé suffit, on scarnne uniquement à l'arrivée et on mémorise la date et l'heure.
  • On scanne des produits destinés à la vente. Il faut donc scanner à l'arrivée et à la sortie. Mais on ne scanne pas chaque boite de petits pois! On scanne pour connaitre le produit et on sauve une quantité et la date/heure. A la sortie, c'est le produit, la quantité et la date/heure.

Pour ce que j'ai vu et compris de ta base, tu scannes un code que tu saucisonnes pour en extraire les différentes information, pour ensuite sauver ces extraits dans une table. Lorsque tu souhaites supprimer un enregistrement (une bobine, en fait) je pense que cela ne réprésente plus un enregistrement précis de ta table...
Je devine aussi, que tu traites une série de boites identiques...  mais...

 
Citation :

je cherche à construire un formulaire qui me permettrait de creer une ligne supplémentaire automatiquement comme dans un sous formulaire est-ce possible

 
Cette question me laisse perplexe n
Tu as créé un formulaire continu pour les enregistrer... fais de même (dans une table temporaire) pour mémoriser ceux que tu souhaites supprimer !
Ou est la difficulté ?  Sauf à remarquer qu'une mauvaise organisation des données conduit inévitablement dans le mur, ou pour le moins pousse à créer une usine à gaz qui ne fonctionnera pas de manière satisfaisante d

Cordialement,
Pierre(3stone)
  clos par 3Stone le 24/03/2011 : 16:37  Haut
Réponse n° 2
--------
le 14/12/2010 : 22:59
par Marc

Anonyme

visiteur

Bonsoir,

merci d'avoir pris le temp pour me répondre ,j'ai déja créer une petite base qui fonctionne avec form,sous form et encore sous form,mais le pb que je rencontre c'est que certains utilisateurs,ne font pas attention et font des erreurs ex:je rentre 10 dans la base et je fais pas attention à la qté dans le carton et il y en a 11.

c'est pour ça que je voudrais tout scanner et je précise que chaque boite est unique c'est une ref différente à chaque fois,je vais essayer de voir une autre approche de cette façon de faire

Marc

Ecrire à Marc   clos par 3Stone le 24/03/2011 : 16:37  Haut
Réponse n° 3
--------
le 15/12/2010 : 14:40
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation : Marc

je précise que chaque boite est unique c'est une ref différente

 
Donc, il ne faut pas hésiter, c'est ce code complet qu'il faut sauver dans la table et ne rien scinder!

Dans l'exemple que tu m'avais fait parvenir, tu scinde en "Code", "Emul", "Axe", "Boite1", etc.

En fait, en prenant l'exemple de "Emul", j'imagine que cela désigne "Emulsion", il te faudrait une table "T_Emulsions" avec au moins 2 champs:
[EMU_Code] : qui liste tous les différents codes existants
[EMU_Description] : qui affiche les infos de cette émultion

Même chose pour le code "Axe" et les autres valeurs nécessaire.

Ensuite, une table des "T_Mouvements" avec une clé primaire qui peut être un simple NumeroAuto, le champ CodeBarre, un champ DateHeureIN, un champ DateHeureOUT,  éventuelement un champ "Operateur", etc.

Lorsque tu recois ou réceptionne une boite de bobines, il suffit de scanner chaque bobine, le champ dateheure permet d'afficher dans un formulaire continu toutes les bobines du jour, de la veille, ou ce que l'on souhaite...

Pour "sortir" les bobines, on va simplement rechercher le code qui doit donc forcément exister parmis les entrées et y sauver la DateHeureOUT.
Là aussi, l'affichage des "sorties" du jour est simplisime...

Selon les besoins, on peut également créer un enregistrement pour l'entrée et un second enregistrement pour la sortie... on veillera alors à remplacer les champs DateHeureIN et DateHeureOUT par un seul champ DateMouvement et un champ "Mouvement" qui spécifie si c'est une entrée ou une sortie...

Ceci est basé sur ce que j'ai pu deviner de tes besoins... mais c'est justement l'analyse préalable indispensable qui permet de faire ces choix.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 24/03/2011 : 16:37  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut