|
|
|
|
alain105d, le vendredi 24 février 2006 à 16:33:52Pourrais-tu en dire plus quant à la structure de tes tables?
Je ne trouve pas logique de déplacer les enregistrements d'une table à l'autre. Ne serait-il pas plus simple d'extraire les dates libres à l'aide d'une requête pour n'afficher que les chalets libres. Si tu fais de la location saisonnière comme la dénomination "chalet" me le fait penser (à moins que tu ne sois Suisse? (lol)) ne penses-tu pas illogique de faire d'un formulaire "client" le formulaire principal? ne serait-il pas plus simple de partir d'un tableau affichant tous les chalets libres par date puis, une fois le choix du chalet et de la date effectués d'encoder les données du client... Je ferais une table "chalets" reprenant la description des chalets, une table "location" reprenant les dates de location, une clé externe N°de client et une clé externe N°de chalet et une table "clients" reprenant les coordonnées des clients. A mon avis avec ça tu as tout; |
Bonjour
Merci d’avoir répondu Je suis d’accord ,les tables chalet client et location sont faites comme ca Je déplace les enregistrements de la table location pour les archivés dans une autre table. Le formulaire location reprend chaque client avec le chalet qu’il loue les dates entrée ,de sortie, les charges et le prix a payer Moi je voulais que la personne qui encode les dates de la location ne puisse pas encoder une date qui existe déjà pour un chalet ,normalement elle se base sur la table archive pour voir les date occupées mais si elle se trompe elle fera une deuxiéme reservation ? Je ne sais pas si j’ai bien explique mon probléme Merci
|
Je pense avoir bien compris, mais si tu laissais tous les enregistrements dans la même table, ce serait plus facile de n'afficher dans le formulaire dans lequel tu encodes les nouvelles locations que les périodes libres.
On pourrait par exemple créer un formulaire principal reprenant les chalets avec un sous-formulaire affichant les périodes disponibles et/ou un formulaire de recherche par dates affichant tous les chalets libres à la période voulue. On pourrait ajouter d'autres critères comme la capacité d'accueil... Si les locations sont encodées dans une table distincte, ce n'est plus possible. On peut tout au plus écrire une procédure VB pour vérifier si le chalet est libre et afficher un message d'erreur si ce n'est pas le cas. En fait, dès qu'une période est réservée, elle disparait des possibilités de location et si on veut afficher toutes les réservations, il suffit d'appliquer une requête sélection à la table pour n'afficher que les enregistrements où les dates ne sont pas Null. Comme la table contient une référence au N°de chalet et au N°Client toutes les données peuvent être retrouvées et on n'a pas besoins d'une table archives. |
Merci de vos réponse
J'essaie de resoudre le prob sans changer ma structure ,pour moi toute les dates sont libres sauf celle dans ma table archive Je pensais faire une macro qui compare la date d'entrée et le chalet que l'on entre dans le formulaire et les comparer au enregistrement dans la table archive. J'ai utilisé la condition CpteDom("[Date d'entrée]";"Archive dates";"[Date d'entrée]=Forms![CLIENTS+ SFormulairelocation]![LOCATION Sous-formulaire1]![Date d'entrée]")>0 action bte message dans la macro pour savoir si la date est déja prise cela fonctionne mais si j'essaie d'ajouter la condition pour le chalet je n'est pas assez de caractere (texte trop long) une idée? Merci |
Tu peux faire la même chose en VB sans être limité par le nombre de caractères.
La fct DCount est effectivement une bonne idée. Tant pis pour la structure... |
Bonjour,
Je crois que le VB est la meilleur solution ,mais comme je n’y connais pas grand chose en prog j’ ai converti ma macro ,qui fonctionne seulement avec les dates ,en VB Mais je n’arrive pas a la transformer avec le deuxième critère le nomchalet Voila ma macro convertie sans modif Si quelqu’un a une idée Merci Option Compare Database '------------------------------------------------------------ ' verification_doublon_date ' '------------------------------------------------------------ Function verification_doublon_date() On Error GoTo verification_doublon_date_Err If (DCount("[Date d'entrée]", "Archive dates", "[Date d'entrée]=[Formulaires]![CLIENTS+ SFormulaire]![LOCATION Sous-formulaire1]![Date d'entrée]") > 0) Then Beep MsgBox "attention doublon", vbOKOnly, "" End If verification_doublon_date_Exit: Exit Function verification_doublon_date_Err: MsgBox Error$ Resume verification_doublon_date_Exit End Function
|
Merci beaucoups
Ca marche J'avais essayé avec and mais pas avec cette syntaxe. Salut
|
| 25/12 16h30 | [MacOS] FireFox -- tabulation et formulaire | MacOS |
| 06/02 00h35 | bureautique | Excel |
| 07/12 15h49 | Spider-Player Ripper cd audio gratuit | Audio |
| 05/11 11h52 | [Javascript] Effacer un champ de formulaire lors du clic (focus) | Javascript |
| 17/01 12h21 | [Outlook] Réponse du serveur : 554 Access denied (0x800CCC79) | Microsoft Outlook |
| 26/06 10h58 | Access - Disparition fiches dans formulaire | 7 |
| 06/03 11h15 | Access : Regrouper dans un formulaire | 2 |
| 18/12 10h35 | Access : Export Excel depuis formulaire | 13 |
| 13/12 11h53 | (access) ordre d'affichage formulaires | 10 |
![]() | PHTML Encoder - Comment protéger jalousement le code script de vos pages quand vous avez mis des nuits blanches à les écrire. La solution... | Catégorie: Editeurs HTML Licence: Freeware/gratuit |
![]() | Riva FLV encoder - Riva FLV encoder permet de transcoder vos fichiers vidéo au format advanced Flash Video (FLV). Riva FLV encoder supporte... | Catégorie: Conversion Licence: Freeware/gratuit |
![]() | Firefox Accessibility Extension - Sous Windows il existe déjà une option d'accessibilité pour les personnes à mobilité réduite ou ayant des problèmes de vue.... | Catégorie: Extensions Firefox Licence: Freeware/gratuit |
![]() | K-Lite Codec Pack Full - K-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo.... | Catégorie: Codecs Licence: Open Source |
![]() | Linksys WAP54G Wireless Access | Catégorie: Point d'accès pour réseaux sans fil | 48.65 € Atlanpolis |
![]() | Formula One Arcade | Catégorie: Jeu Playstation | 1.99 € PriceMinister |
![]() | 3Com Wireless 7760 11a/b/g | Catégorie: Point d'accès pour réseaux sans fil | 153.00 € PriceMinister |
![]() | Formula One 06 | Catégorie: Jeu vidéo PSP | 16.99 € La Redoute FR |