Macro de vérification insertion dans une base de donnée
Fermé
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
-
Modifié par Odenelle le 24/04/2015 à 01:33
Odenelle Messages postés 102 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 18 mars 2016 - 25 avril 2015 à 00:05
Odenelle Messages postés 102 Date d'inscription samedi 19 novembre 2011 Statut Membre Dernière intervention 18 mars 2016 - 25 avril 2015 à 00:05
A voir également:
- Macro de vérification insertion dans une base de donnée
- Formules excel de base - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Insertion liste déroulante excel - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
3 réponses
Bonjour,
1) Je ne peux que te conseiller de lire attentivement de lire le dossier Mérise et les méthodes de construction des BDD.
2) Pour aller vite, il vaudrait mieux avoir une table Clients, une table Véhicules, une table Locations.
Après pour savoir les voitures disponibles, il te suffit d'avoir une requête qui détermine les voitures ni louées ni réservées, et inversement celles qui sont ou louées ou réservées. La seule difficulté est de trouver l'écriture du critère.
Bonne suite
1) Je ne peux que te conseiller de lire attentivement de lire le dossier Mérise et les méthodes de construction des BDD.
2) Pour aller vite, il vaudrait mieux avoir une table Clients, une table Véhicules, une table Locations.
Après pour savoir les voitures disponibles, il te suffit d'avoir une requête qui détermine les voitures ni louées ni réservées, et inversement celles qui sont ou louées ou réservées. La seule difficulté est de trouver l'écriture du critère.
Bonne suite
Re-...
Je maintiens que la seule méthode passe par une requête qui sélectionne les véhicules libres, à moins que tu cherches une méthode qui indique un par un si un véhicule est disponible ou non, mais cela va être très rapidement très mal-pratique. Pour le reste tu pourras toujours intégrer ta requête dans une procédure VBA ou une macro, mais tu n'en resteras pas moins obligé de passer par une requête comme je l'ai dit. J'avais eu une fois à sélectionner dans une liste, les personnes hospitalisées à un moment donné sachant qu'ont été saisies les dates d'entrée et de sortie. Ce n'est pas facile mais on y arrive en réfléchissant correctement et par essais successifs.
Je maintiens que la seule méthode passe par une requête qui sélectionne les véhicules libres, à moins que tu cherches une méthode qui indique un par un si un véhicule est disponible ou non, mais cela va être très rapidement très mal-pratique. Pour le reste tu pourras toujours intégrer ta requête dans une procédure VBA ou une macro, mais tu n'en resteras pas moins obligé de passer par une requête comme je l'ai dit. J'avais eu une fois à sélectionner dans une liste, les personnes hospitalisées à un moment donné sachant qu'ont été saisies les dates d'entrée et de sortie. Ce n'est pas facile mais on y arrive en réfléchissant correctement et par essais successifs.
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
20
Modifié par Odenelle le 24/04/2015 à 15:41
Modifié par Odenelle le 24/04/2015 à 15:41
Re,
Oui je suis d'accord qu'a un moment donné il va falloir utiliser une requête pour récupérer les immatriculations des véhicules disponibles. Cette requête, je ne peux l'utiliser qu'une fois mes dates saisie pour pouvoir comparer, il va falloir jongler sur les conditions faire un truc du genre :
SELECT L.N°IMMAT
FROM LOUER L
WHERE (nouvelEnregistrement.DateDeb =< L.DateDeb And nouvelEnregistrement.DateFin =< L.DateDeb)
OR
(nouvelEnregistrement.DateDeb >= L.DateFin And
nouvelEnregistrement.DateFin >= L.DateDeb);
Seulement mon problème c'est surtout au niveau du VBA où de la macro je n'en ai jamais fais sous Access, et même si je connais le langage et je ne vois vraiment pas comment structurer, comment faire pour bloquer l'enregistrement et pour comparer mon n°IMMAT du nouvel enregistrement avec ceux que je récupérerai dans ma requête..
Oui je suis d'accord qu'a un moment donné il va falloir utiliser une requête pour récupérer les immatriculations des véhicules disponibles. Cette requête, je ne peux l'utiliser qu'une fois mes dates saisie pour pouvoir comparer, il va falloir jongler sur les conditions faire un truc du genre :
SELECT L.N°IMMAT
FROM LOUER L
WHERE (nouvelEnregistrement.DateDeb =< L.DateDeb And nouvelEnregistrement.DateFin =< L.DateDeb)
OR
(nouvelEnregistrement.DateDeb >= L.DateFin And
nouvelEnregistrement.DateFin >= L.DateDeb);
Seulement mon problème c'est surtout au niveau du VBA où de la macro je n'en ai jamais fais sous Access, et même si je connais le langage et je ne vois vraiment pas comment structurer, comment faire pour bloquer l'enregistrement et pour comparer mon n°IMMAT du nouvel enregistrement avec ceux que je récupérerai dans ma requête..
Re-...
Fais les choses dans l'ordre, svp!
Commence par la méthode de sélection des voitures libres. Après il sera grandement temps de te préoccuper du moyen d'entrer le véhicule choisi dans la liste des véhicules déjà loués ou réservés. Pour cela tu auras besoin d'un formulaire, à construire, et du code VBA pour ouvrir ce formulaire.
Mais dans l'immédiat, tu ne peux pas espérer quoique ce soit sans la requête de sélection.
nb: comme dit Castours, tu dois te débrouiller pour n'utiliser un identifiant de tes véhicules qu'une seule fois. Mais tu peux utiliser le N° Minéralogique aussi bien qu'un N°Auto, la seule chose importante est d'être sûr qu'il est rigoureusement unique pour chaque voiture.
Bonne suite
Fais les choses dans l'ordre, svp!
Commence par la méthode de sélection des voitures libres. Après il sera grandement temps de te préoccuper du moyen d'entrer le véhicule choisi dans la liste des véhicules déjà loués ou réservés. Pour cela tu auras besoin d'un formulaire, à construire, et du code VBA pour ouvrir ce formulaire.
Mais dans l'immédiat, tu ne peux pas espérer quoique ce soit sans la requête de sélection.
nb: comme dit Castours, tu dois te débrouiller pour n'utiliser un identifiant de tes véhicules qu'une seule fois. Mais tu peux utiliser le N° Minéralogique aussi bien qu'un N°Auto, la seule chose importante est d'être sûr qu'il est rigoureusement unique pour chaque voiture.
Bonne suite
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
20
24 avril 2015 à 19:26
24 avril 2015 à 19:26
ça marche je vais faire mon possible, merci pour le coup de main Tessel
castors
>
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
24 avril 2015 à 23:48
24 avril 2015 à 23:48
Bonsoir
Il y a quelque temps, j'avais une base ou j'utilisai la case a cocher lors d'edition de cartes d'adhésion sur une liste d'adhérents, Lorsque la carte etait imprimée et cochée, je validai a l'aide d'un bouton action qui m'était a jour la table des adhérents avec cartes. Cette action, par une requete enlever l'adherent de la liste du faite qu'il etait cocher. Peut etre pourrais tu te baser sur ce principe.
Il y a quelque temps, j'avais une base ou j'utilisai la case a cocher lors d'edition de cartes d'adhésion sur une liste d'adhérents, Lorsque la carte etait imprimée et cochée, je validai a l'aide d'un bouton action qui m'était a jour la table des adhérents avec cartes. Cette action, par une requete enlever l'adherent de la liste du faite qu'il etait cocher. Peut etre pourrais tu te baser sur ce principe.
Odenelle
Messages postés
102
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
18 mars 2016
20
25 avril 2015 à 00:05
25 avril 2015 à 00:05
C'est sympa de proposer castors mais en fait je suis en pleine période d'examens et je ne peux plus consacrer de temps à ce projet :s, d'autant plus que mon prof m'a dit que vouloir faire cette vérif allait trop loin et qu'il préfère que l'on se concentre sur les partiels. Merci quand même et bonne continuation !
Modifié par Odenelle le 24/04/2015 à 14:17
Ma base contient en effet une table client, une table véhicule et une table location.
Je connais la méthode Merise (je suis en Master de Système d'information), et cette base a été modélisée par mes professeurs experts en Base de données.
L'idée de la requête pour remplir la liste déroulante j'y ai pensé mais le problème c'est que je dois comparer avec les dates de début et de fin de la location, date qui ne seront donc renseignée qu'une fois que l'utilisateur aura rempli le nouvel enregistrement...
Je crois donc que la seule façon de faire et d'écrire une macro pré-insertion sur ma table louer, c'est la que je coince :s
24 avril 2015 à 18:39
Il faudrait qu'une immatriculation d'un vehicule soit utilisée qu'une seule fois. Lorsque le vehicule est loué on ne le trouve que dans la location. lorsqu'il est disponible il revienne dans la table disponible. pour un programmeur vba cela doit etre possible
24 avril 2015 à 19:25