Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2007, 12h09   #1
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 204
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 204
Points : 32
Points : 32
Par défaut Inventaire et fiches de stocks

Je réalise actuellement une base de données de fiches d'inventaires dont voici le MCD :
Le but de cette base est qu'à partir d'une table "immo" non renseignée sur le MCD, on extrait 5 enregistrements, pris aléatoirement, par "cost center". Cette requête sert à un inventariste qui remplit une fiche d'inventaire. Le souci c'est qu'on ne veux pas que des ITEM déjà inventoriés reviennent à l'éxécution de la requête.
Je recherche donc le moyen de régler ce problème. Peut-être qu'au niveau de la requête, on peut récupérer les numéros générés et supprimer les lignes correspondantes dans la base immo. Ou alors les recopier dans une autre table, avec comme condition pour l'execution de la requête que les ITEM générés ne soient pas dans cette deuxième table...

Qu'en pensez vous ?

P.S.
La requête d'extraction :
Code :
1
2
3
4
5
6
SELECT TOP 5 *
FROM [Base Immo]
WHERE ((([Base Immo].[test 2])=(SELECT TOP 1 [Test 2]
FROM [Base Immo]
ORDER BY rnd(IMOFF))))
ORDER BY Rnd(IMOFF);
Zak Blayde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 12h48   #2
Membre Expert
 
Inscription : juin 2003
Messages : 1 203
Détails du profil
Informations personnelles :
Localisation : Sénégal

Informations forums :
Inscription : juin 2003
Messages : 1 203
Points : 1 413
Points : 1 413
Citation:
Envoyé par Zak Blayde
... Le souci c'est qu'on ne veux pas que des ITEM déjà inventoriés reviennent à l'éxécution de la requête.
...
Il suffit d'ajouter dans ta requête un
Code :
1
2
 
Where [Base Immo].NuméroId Not In (Select NuméroId From Fiche)
PS : NuméroId doit être remplacé par un champ valide.
De plus, je penses qu'il faut même inclure une date, ou une période dans la sous requête pour permettre des inventaires par période ou par exercice.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 13h25   #3
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 204
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 204
Points : 32
Points : 32
aaaaaaah c'était bien plus simple que je pensais ^^. Je n'y ai absolument pas pensé alors que c'était évident. Désolé j'aurai du réfléchir un peu plus.

Merci !
Zak Blayde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2007, 15h23   #4
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 204
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 204
Points : 32
Points : 32
Un nouveau souci vient d'émmerger. Elle est bien belle la méthode précédente mais sa limite, c'est qu'on ne peut lancer qu'une requête à la fois et attendre que ses données soient saisies dans la nouvelle base avant de pouvoir la lancer à nouveau. Hors si on veut lancer 10 personnes dans l'inventaire en même temps, il faut pouvoir lancer 10 fois la requête sans qu'un élément revienne deux fois. J'ai vraiment aucune idée du moyen à mettre en oeuvre... Il faudrait leur affecter un numéro dès la requête...

Vous avez une idée ? Je sèche.
Zak Blayde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h59.


 
 
 
 
Partenaires

Hébergement Web