Souci de mise à jour champ access (sql?)

Signaler
Messages postés
53
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
23 mars 2005
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
hello,

Voila, jai un piti pb : je gère des réservations de salle & matériel (vaisselle etc..).
J'ai donc un ss form pour ajouter du matériel à une réservation de salle. Le souci, c'est que quand j'entre un enregistrement de matos, si ce matériel est déjà réservé à la date que j'entre, ça se voit pas ds mon champ qttdispo, et je peux donc emprunter deux fois 150 assiettes le mm jour, pour un stock initial de 200...QQ1 a une idée pour modifier ma qtt dispo lorske ce matériel est déjà emprunté le jour ou jessaie de lemprunter?

5 réponses

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Si personne t'as repondu c que personne n'a compris ta question !!

Désolé mais faut le dire !

peux tu donné la structure des tes tables utilisé avec des exemples...
et une explication précise de ton SOUCI MERCI

:big)

It@li@
Messages postés
53
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
23 mars 2005

oki lol
dsl pour cette explication ;o)

Je vais tenter d'exposer mon pb un peu mieux :
mes tables :
MATERIEL ( Designation, n°, stock initial, stock final, QttDispo,etc...)
LOUERMATERIEL ( DateEmprunt, LieuEmprunt, QttEmpruntee,etc..)
LOCATION( DateDebut,DateFin,etc...)

Pour une location ayant pour date de début le 28/06/04 :stock initial d'assiettes de 200 donc qttsipo stockinitial 200
J'emprunte 150 assiettes pr le 28/06/04

Pour une seconde location ayant pour date de début le 28/06/04:
J'emprunte 150 assiettes car mon champ qttdispo affiche tjrs 200.

En pratique , c'est impossible. Je cherche donc à mettre à jour mon champ qttdispo, pour ne pas emprunter le mm matériel en qtt supérieure au stock initial le mm jour.

En espérant avoir été un peu plus claire....
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Si g bien compris tu veux modifier le champ QttDispo,
tu es sous vb avec une Base ACCESS
tu travaille en ADO ou DAO
as tu déja fait des requétes SQL c tu comment ça fonctionne ?

It@li@
Messages postés
53
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
23 mars 2005

vb sous base access oui. ADO ou DAO, aucune idée :(. J'ai déjà fait des requêtes sql oui, mais des petites. j'ai d'ailleurs tenté celle ci :

Dim db As Database
 Set db = CurrentDb()
 db.Execute ("Update [MATERIEL],[LOUERMATERIEL],[LOCATION] Set [QttDispo1]= (stockinitial+entrees-qttempruntee) WHERE DateDebutLoc = DateEmprunt")


mais ça ne fonctionne pas.
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
ok alors on va faire de la DAO

coche la case Projet...Références : Microsoft DAO 3.51 Object Library

Ensuite dans ton code :

Set db = OpenDatabase(CheminBase)Set Rqdb.OpenRecordset("SELECT * MATERIEL WHERE Designation '" & Nom & "'")
If Rq.RecordCount <> 0 Then ' si c trouvé
Rq.Edit
Rq("QttDispo")=NouvelleValeur
Rq.update
End If
Set Rq= Nothing
Set db = Nothing

CheminBase= Chemin complet de ta Base Ex : "c:\ITALIA\Italia.mdb"

Nom = Nom de l'Objet à filtrer
Ex : " Assiettes

NouvelleValeur=Ta Nouvelle Valeur
Ex : 50

It@li@