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 :

Increment de la valeur par default


Sujet :

Access

  1. #1
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut Increment de la valeur par default
    Bonjour .

    Dans un form j'ai champs qui stock une valeur numérique je voudrai que l'orsque je passe sur un nouveau enregistrement La valeur par défault soit la valeur du dernier enregistrement + 1.

    Est-ce Possible.

    Merci

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt,

    http://www.developpez.net/forums/vie...soluteposition

    y a juste à mettre un +1 en plus

  3. #3
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    J'ai essayé de mettrea application mais cela ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.RecordsetClone.AbsolutePosition = Me.CurrentRecord - 1
    Me!Num_Prog = Me.RecordsetClone!Num_Prog + 1
    End Sub
    Vois tu une erreur ?

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    A priori je ne vois pas d'erreur

    S'il ne se passe rien, peut-être faut-il définir l'événement dans les propriétés du formulaire pour que le code s'exécute (parfois en copiant-collant le code, l'événement n'est pas activé, c-à-d [procédure évenementielle] dans l'évenement "Avant Insertion" du formulaire.)

  5. #5
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    J'ai essayé mais cela ne fonctionne pas.

    Par contre si je modifie un autre champs j'ai une erreur 3265

  6. #6
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    j'ai essayé de taper le code a la main

    Je Tape me.
    l'assistant ce déclenche et dans la liste je trouve RecordsetClone et ensuite . et la l'assitant ne ce déclenche pas pour AbsolutePosition.

    Est ce normal

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par Yves2507
    j'ai essayé de taper le code a la main

    Je Tape me.
    l'assistant ce déclenche et dans la liste je trouve RecordsetClone et ensuite . et la l'assitant ne ce déclenche pas pour AbsolutePosition.

    Est ce normal
    ça c'est pas grâve, ça me le fait aussi

    num_prog c'est bien le nom d'un champ, ou alors un contrôle?

  8. #8
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    c'est le nom du champs

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    la mise à jour du champ ne se fait que lorsque qu'on commence à modifier l'enregistrement, et si tu est en modification dans le champ num_prog en premier ça doit bloquer la mise à jour du champ par le code

    tu peux essayer dans l'événement "sur activation", en testant que tu es sur un nouvel enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    If Me.NewRecord Then
      Me.RecordsetClone.AbsolutePosition = Me.CurrentRecord - 1
      Me!Num_Prog.defaultvalue = Me.RecordsetClone!Num_Prog+ 1
    End If
    End Sub
    En modifiant la propriété DefaultValue au lieu de modifier la valeur directement, ça évite que l'enregistrement passe en modification lorsqu'on le sélectionne

  10. #10
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    J'ai essayé et cela ne fonctionne toujours pas.

    Cela me renvoie l'erreur:

    Élément introuvable dans cette collection. (Erreur 3265)
    Une tentative pour faire référence à un nom dans une collection a échoué.

    Causes possibles :

    L'objet n'existe pas dans cette collection. Assurez-vous que l'objet est ajouté à une collection avant d'y faire référence.
    Il existe plusieurs objets possédant ce nom dans la collection et l'utilisation de ce nom est une référence ambiguë. Faites référence à l'objet par sa position ordinale dans la collection (par exemple, Recordsets(3)).


    J'ai essyé de changer le nom de mon champs mais toujours pareil !!!!!

  11. #11
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    c'est étrange ça fonctionne bien moi (access 2000)

    essaye de placer un msgbox au début de l'événement :


    ou
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Me.fields("Num_Prog").value
    enfin si si ton champ est bien num_prog c'est peut-être une histoire de syntaxe toute bête, je me souviens avoir des soucis un jour avec le me sous access 97 que j'utilisais mal

  12. #12
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    Cela ne fonctionne pas.

    J'ai essayé un truc plus simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_BeforeInsert(Cancel As Integer)
     
    If Me.NewRecord Then
      Me.NumProg = Me.CurrentRecord
      Me.NumProg = Me.NumProg + 1
      End If
    MsgBox Me.NumProg
    End Sub
    Cela fonctionne et me donne la valeur de mon champs ID (clef) + 1
    Mais ce n'est pas ce que je veux.
    Moi je voudrai la valeur du dernier enregistrement du champs numprog + 1.

    J'ai l'impression que access ne comprend pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordsetClone.AbsolutePosition
    Moi non plus d'ailleur

  13. #13
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    J'arrive au résultat avec une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ([num prog]+1) AS progdef
    FROM TBL_Programmes_pièce
    GROUP BY ([num prog]+1);
    N'est il pas possible de mettre du SQL en valeur par Défault

    [Modération, cafeine : Pensez à utiliser la balise [CODE] qui améliore la lisibilité, merci]

  14. #14
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    N'est il pas possible de mettre du SQL en valeur par Défault
    non pas directement (et ta requête est bizarre ceci dit)
    et si tu veux récupérer la valeur précédente je ne vois pas comment faire, sauf si c'est incrémenté et que tu peux prendre la valeur max

    mais le code que je t'ai donné marche bien sur access 2000, t'as quelle version toi?

  15. #15
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    J'ai access 2000

  16. #16
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Dans ta requête ton champ se nomme [Num Prog], alors que dans ton code du début tu as mis Num_Prog

    C'est quoi alors le nom correct?

  17. #17
    Membre du Club Avatar de Yves2507
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 90
    Points : 64
    Points
    64
    Par défaut
    Cela fonctionne javais un problème de syntaxe avec numprog.

    Désoler pour le casse tete et merci beaucoup

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

Discussions similaires

  1. changer la valeur par default d une input
    Par issam33 dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 07/09/2007, 15h45
  2. mettre valeur par default a une colonne
    Par nocoment dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/05/2007, 14h33
  3. Valeur par default dans ma JComboBox
    Par iutcien dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/04/2006, 16h19
  4. Fonctions et valeur par default
    Par Goundy dans le forum C
    Réponses: 5
    Dernier message: 27/02/2006, 22h16
  5. Valeur par default dans un input file ?
    Par alainme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/02/2005, 14h31

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