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 :

Requête et table


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut Requête et table
    Bonjour, voilà j'ai un petit problème avec une des tables de ma base de donnée. En effet dans cette table j'ai plusieur champs: Matricule, Nom... et un qui s'appel Nombre d'heures.

    Cette table est alimentée à l'aide d'un formulaire, lorsque je rentre mes infos dans mon formulaire et que j'actualise ces dernières, je les retrouve dans ma table, mais pas le nombre d'heures !

    Mon formulaire est créée à partir d'une requête dans laquelle le champs Nombre d'heures est calculé. Voici ce que j'ai écris dans ma requête:
    Nombre d'heures: Table.[Nombre de jours]*8,5
    Ceci me calcul bien le nombre d'heure quand je rentre mes données dans mon formulaire, mais quand je retourne dans ma table les données correspondantes au nombres d'heures n'y sont pas.

    Je voudrai savoir si c'est à cause de ça ou pas et comment y remédier.

    Merci

  2. #2
    Membre habitué Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Vérifie le type de ton champ nombre d'heure, etant donné que tu multiplies par 8.5 tu dois le mettre en double.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Ben je viens de mettre le champ en réel double et ça ne marche toujours pas

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Dans le formulaire, la source de la zone de texte NbHeure doit être le champ Heure de la table et non une formule calculée.

    Par contre pour que lorsque l'utilisateur saisisse un nombre de jour cela se calcul directement dans la zone de texte NbHeure il te faut passer par VBA.

    Sur l'évènement Aprés Maj :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub NBJour_AfterUpdate()
    Me.NBHeure = NBJour * 8.5
    End Sub
    Ne sont stockés dans les tables que les controles dont la sources est un champ de la dite table (ou requête)

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Je précise que le calcul se fait dans un sous form.

    Donc si j'ai bien compris, dans ma requête qui me sert à faire mon sous form je ne met pas le calcul, je met celui ci dans l'évènement après MAJ ?

  6. #6
    Membre habitué Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Points : 144
    Points
    144
    Par défaut
    Oui tout a fait

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Une petite question dans ma table mon champ s'intitule: Nombre d'heures.

    Dans le VBA je dois l'écrire d'une certaine façon, par exemple entre guillemets ou non ?

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Ce n'est pas le nom du champ dans la table mais celui de la zone de texte dans le formulaire.

    D'autre part, par principe, on évitera tout ce qui est espace et caractères spéciaux à l'excpetion de _

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Ca ne marche pas, j'ai mis un print de mon formulaire. En rouge c'est le nombre de jours que je saisie en bleu le nombre d'heures qui se calcul automatiquement. J'ai mis l'évènement dans l'étiquette nombre de jours (en rouge donc)

    Et lorsque je regarde soit dans la requête qui m'a servi à faire se form et ses sous form soit dans ma table il y a toutes les données sauf le nombre d'heures.
    Images attachées Images attachées  

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Je me demandais si je ne devais pas changer le Me du code car l'etiquette ou est calculé l'heure se trouve sur un autre sous form mais dans le même formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Nbre_de_jours_AfterUpdate()
    Me.Nbre_heures = Nbre_de_jours * 8.5
    End Sub

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    J'ai vraiment besoin d'aide, car le fait que les données n'ayent pas dans ma table après saisie dans le formulaire bloc tout mon travail.

    N'y aurait il pas une ame charitable par ici ???

  12. #12
    Membre habitué Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Points : 144
    Points
    144
    Par défaut
    Quand tu fais un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Nbre_heures = Nbre_de_jours * 8.5
    Me est un raccourci qui suppose que ton champ qui suit est dans le formulaire courant.

    Si ce n'est pas le cas, tu dois remplacer cette ligne par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms!Nom_de_ton_formulaire!Nbre_heures = Nbre_de_jours * 8.5

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Merci de ton aide, je vais essayer desuite.

  14. #14
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Heu... il me dit qu'il ne trouve pas mon formulaire qui doit être mis à jours, pourtant j'ai bien écris son nom. Vu que c'est un sous form c'est possible que soit du à ça ? Si oui ça marche si je remplace Forms! par Sousforms! ???

    Edit: Il me dit qu'il ne trouve pas le champs Saisie_OETP_03, alors que ce n'est pas un champ mais le nom de mon sous form.

    Mois j'ai écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!Saisie_OETP_03!Nbre_heures = Nbre_de_jours * 8.5

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour les syntaxes d'appel de sous-formulaires, ca lire ce tuto de Loufab.

    Starec

  16. #16
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 18
    Points
    18
    Par défaut
    Bon c'est pas grave je laisse tomber je n'arrive pas a arranger ce problème.

    Merci pour vos aides.

    Aurevoir

Discussions similaires

  1. NuméroAuto dans une requête création table
    Par JimmyB dans le forum Access
    Réponses: 1
    Dernier message: 08/03/2006, 00h40
  2. Ajout Résultat Requête dans Table en VBA
    Par lito74 dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 16h43
  3. requête : même Table utulisée plusieurs fois
    Par nico2280 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/11/2005, 17h04
  4. Réponses: 4
    Dernier message: 25/10/2005, 21h42
  5. Requête sur table à double clés primaires
    Par darkian dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/03/2005, 18h28

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