IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

mise à jour avec conditions [AC-97]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut mise à jour avec conditions
    Bonjour.

    Je suis un gros débutant partant de zéro avec aucun apprentissage de Access ou de SQL.
    Malgré tout, j'ai créé une table et j'ai réussi à effectuer diverses requêtes (quand on cherche et qu'on se casse la tête...).
    Maintenant je bloque sur un problème, et mes recherches ne suffisent plus, j'ai vraiment besoin d'aide de personnes qui connaissent bien sql.

    Voici mon soucis : j'ai donc une table avec les champs ID, D1, F1, D2, F2, D3, F3, jusque D52, F52. D et F sont des dates associées entre elles (D1-F1, D2-F2...). Certaines sont remplies, d'autres non.
    Ce que j'aimerais, c'est une commande sql qui insère des dates dans le premier couple D-F libre pour un ID bien déterminé. Donc en gros, si D1 est libre, insérer dans D1-F1, sinon si D2 est libre, insérer dans D2-F2, ..., when ID = 1 par exemple.

    Pensez-vous que ce soit possible ? Et si oui, pouvez-vous m'aider ou me mettre sur la voie ?
    Merci d'avance.

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Burolec,

    Une usine à gaz en perspective...

    Je pense qu'il y a, de base, une erreur de conception. Mais je peux me tromper, ne connaissant pas ton contexte.

    Perso, j'aurais opté pour une table :
    T1 :
    - Id_T1 (clé primaire, numéro auto)
    - ID_dont_tu_parles_dans_ton_post (permet le regroupement)
    - Date_T1
    - F_T1

    Ensuite, les "trous" sont facilement détectables pour un couple ID_dont_tu_parles_dans_ton_post / Date_T1.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse. Une belle usine à gaz en effet.
    Le contexte, c'est comme une location de voiture. Cela me paraissaît un défi intéressant pour débuter, mais je vois que le morceau est trop gros à croquer. Et c'est suite à la demande d'un ami qui en aurait l'utilité, et je précise que je lui offre grâcieusement, donc pas de business pour moi là-dedans.

    En réalité, dans la table, il y a aussi un numéro automatique qui sert de clé primaire. ID représente les voitures, et les couples D-F les dates de début et de fin de location. Mais voilà, il peut y avoir plusieurs locations de la même voiture dans une année. En fait, créer la table était un jeu d'enfant. Ensuite ça a été plus dur. J'ai réussi à écrire une requête qui m'affiche les voitures disponibles entre deux dates que je rentre, et une autre requête qui efface les dates de location qui sont inférieures à la date actuelle (ce qui n'est pas trop mal pour un débutant). Mais voilà, pour insérer les réservations, je cale.

    Et je ne comprends pas quand tu parles de Date_T1 et de F_T1, et de couple ID-Date.

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Burolec
    Une belle usine à gaz en effet.
    ==> le projet, en lui-même, n'est pas une usine à gaz. En revanche, avec ta structure de table tu t'y dirige fortement : en effet, tu prends ta table Access comme un gros fichier Excel, c'est à dire en créant autant de colonne que de date (52 en tout, si j'ai bien compris, donc, peut-être, des semaines).

    Je te suggère de consulter les tutos de ce forum pour avoir les bases de construction d'une base de données.

    Sinon, vu ton contexte, je te suggère :

    Table Voitures :
    - Id_Voiture (clé primaire, numéro auto)
    - Nom
    ...

    Table Locations :
    - Id_Location (clé primaire, numéro auto)
    - Id_Voiture
    - Date_Debut
    - Date_Fin
    ...

    Relations :
    Voitures 1-----n Locations, via Id_Voiture.

    Et ceci, sans parler des clients et autres.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Eh bien merci de ta réponse. Je vais consulter les tutos et revoir le projet au début. J'en apprendrai plus comme ça. Merci encore

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    OK, bon courage.

    La structure des tables présentée peut résoudre une problématique simple.

    N'oublies pas le bouton "Résolu" pour solder le fil.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Requête mise à jour avec condition IN
    Par buzz73 dans le forum VBA Access
    Réponses: 19
    Dernier message: 30/07/2009, 12h03
  2. [MySQL] Mise à jour avec une condition sur une vue
    Par thor76160 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/03/2009, 01h00
  3. [Requête/SQL]Mise à jour avec condition
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 22/04/2007, 23h14
  4. Réponses: 3
    Dernier message: 22/12/2005, 17h47
  5. Mise à jour avec jointure
    Par taupain dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/07/2004, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo