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

Access Discussion :

Valeur par défault = Enregistrement précédent


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut Valeur par défault = Enregistrement précédent
    Bonjour,

    Les données de mon travail son classé par Étape. C'est a dire qu'ils sont liés a plusieurs table qui changent chaque fois que les données évolue a travers une série d'étapes.

    J'aurais besoin dans le cas de ces tables liés, que lorsque je change d'étape (ce qui remet les données a zéro pour etre enregistrer sous une nouvelle étape pour le meme travail) que le champs aille chercher la valeur du dernier enregistrement.

    Par exemple, jai 6 étape... jaimerais que la formulaire cherche s'il y a un montant inscrit a l'étape 6, si oui, il la prend comme valeur par default, sinon il regarde s'il y a un montant a l'étape 5, etc. jusqua l'étape 1.

    Merci beaucoup, et bonne journée a tous

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Ça devrait te donner une bonne piste.

    Sur OnCurrent

    Attention code DAO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    dim db as database:set db=currentdb
     
    dim r as recordset:set r=db.openRecordset("nomTableEtapes",dbOpenDynaset)
     
    dim iEtape as integer
    for iEtape=6 to 1 step -1
       call r.FindFirst("[NoEtape]=" & iEtape)
     
       if not r.nomatch then
          me.champ1=r![Champ_1]
          .
          .
          .
          me.champ_n=r![Champ_n]
          exit for
       end if
     
    next iEtape
     
    r.close:set r=nothing
    db.close:set db=nothing
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut :d
    Merci,

    ca me semble etre ce qu'il me faut, cependant, même apres avoir mis Microsoft DAO comme référence... il me fait une erreur de compilation su la commande "Call r.FindFirst"


    --- Finalement l'ajout de "DAO" devant recordset semble calmer les choses, ne reste plus qua continuer d'adapter le code

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut Bon continuons !
    Salut encore a tous,

    J'ai travailler beaucoup avec la formule que marot_r m'a donné, elle marche bien apres quelques adapatation pour mon travail et ca répond exactement a ce que javais demandé, cependant, je me suis rendu compte que javais mal vu mon problème... j'aurais besoin de la meme chose, mais que access rajoute un nouvel enregistrement en mettant comme valeurs par défault les valeurs précédentes. Parce qu'en ce moment de 6 a 1 et ca cause des problemes si je dois revenir de 6 a 5 ... et meme dans le bon sens, si je mets cette formule sur une liste déroulante qui est dans le formulaire principal et que je change l'Étape, access essaie de trouver l'étape correspondant a celle que je viens de mettre, mais il ny a pas de données, puiqu'elle est nouvelle, je ne sais pas si vous saisissez le problème aha, pardonnez-moi cette explication, jespere tout de meme que vous pouvez m'aider

    merci beaucoup

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Donc si je te suis bien, tu défini par exemple l'étape 3 et tu voudrais que Access crée pour toi l'étape 1 et 2. C'est ça ?

    A+

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Non, je veux seulement que lorsque je définie une nouvelle étape, access définie les valeurs par défaut comme étant celle de la derniere étape enregistrée, peu importe laquelle. Je crois que ce que tu m'as écris au début fonctionnerait, je l'ai placé sur Onchange sur ma liste, jai ajouter quelques trucs, mais je n'y arrive pas, je crois qu'il faudrait remplacer la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for iEtape=6 to 1 step -1
       call r.FindFirst("[NoEtape]=" & iEtape)
    par quelque chose qui lui demanderait quelque chose du genre ("Nouvelle Étape sélectionnée" - 1) et ce pour une nouvelle étape. Avec le code que tu m'as donné au début, jai essayer plusieurs chose, mais le mieux que je suis arriver cest a effacer l'enregistrement précédent et a en créer un nouveau vide (avec .Addnew entre autre).

    Voila, je sais pas si cest clair comme ca N'hésite(z) pas a demander plus de détails. Je trouve très gentil et ca me fais plaisir d'avoir de l'aide comme ca

    Bonne journée

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Faits juste cela, remplace le 6 par la valeur de ton étape -1 et le tour est jouer.

    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    call r.FindFirst("[NoEtape]=" & me.EtapeCourrante -1)
    if not r.noMatch then
       'Ici ce que tu veux faire quand tu as trouver la valeur
    end if

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut je vais y arriver... un jour
    Rebonjour et merci encore pour laide,

    maintenant je suis rendu a ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Etape_Change()
    Dim db As Database: Set db = CurrentDb
    Dim r As Recordset: Set r = db.openRecordset("NomDeMaTable", dbOpenDynaset)
     
    Call r.FindFirst("[REtape]=" & Me.Etape)
     
        If Not r.nomatch Then
          Me.NomDuChamp = r![nomduchamps]
       End If
     
    r.Close: Set r = Nothing
    db.Close: Set db = Nothing
     
    End Sub
    Il me mets toujours en surbrillant le .Etape de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call r.FindFirst("[REtape]=" & Me.Etape)
    En menvoyant une erreur de compilation... et jai bien vérifier des miliers de fois que ma référence a Etape était bonne et jai meme essayer simplement 6 - 1, et ca aussi ca donne une erreur de compilation. Est-ce quil me manque des signes ou quelques chose ?

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Qu'elle est l'erreur de compil ?

    A+

Discussions similaires

  1. [AC-2007] Calcul lié à la valeur de l'enregistrement précédent
    Par cabinfi dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 28/04/2009, 08h35
  2. [SSRS]Activer valeur par défault d'un parametre
    Par thinker dans le forum SSRS
    Réponses: 1
    Dernier message: 27/01/2009, 09h09
  3. [Joomla!] Modifier valeur par défault dans publication de contenu
    Par bocherrot dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 09/04/2008, 11h50
  4. [Liste Modifiable] Problème avec la valeur par défault
    Par fusion_sadam dans le forum Access
    Réponses: 3
    Dernier message: 16/06/2006, 11h00
  5. afficher une valeur par défault dans la combobox
    Par shadow31 dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2006, 17h25

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