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

VBA Access Discussion :

Problème pour rajouter + 1 à un champs numérique


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut Problème pour rajouter + 1 à un champs numérique
    Bonjour,

    Je reviens pour un problème d’incrémentation d'un champs numérique qui ne marche pas. Ci-dessous mon code :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Dim NUM1, NUM2 As Variant
    Dim dbs  As DAO.database
    Dim rst, Rst1, rst2, rst3 As DAO.Recordset
    ...
     
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("T_PARTAGE")
    Set Rst1 = dbs.OpenRecordset("T_fiche")
    Set rst2 = dbs.OpenRecordset("select * from T_ficheCONTACT order by T_ficheCONTACT![NUM] desc")
     
    Do Until rst.EOF
     
    With Rst1
            .AddNew
            .Fields("NOM").Value = rst.Fields("nom")
            .Fields("NUM").Value = Rst1.Fields("N°")
            .Update
     
          End With
     
    Set rst3 = dbs.OpenRecordset("select * from T_fiche order by T_fiche![N°] desc")
     
    NUM1 = rst3.Fields("Num").Value
    MsgBox (NUM1) 'ok
     
    NUM2 = rst2.Fields("Num").Value
     
     Do Until rst2.EOF
            If CLng(NUM1) = CLng(NUM2) Then
                     MsgBox "Attention, existe déjà dans la t_ficheContact.", vbExclamation
                NUM1.Value = NUM2.Value + 1
                MsgBox (NUM2 + 1) 'ok
                End If
            rst2.MoveNext
      Loop
    ...
    End Sub
    "

    Je voudrai lorsqu'il trouve le même NUM dans les deux tables T_Fiche et T_fichecontact, qu'il me prenne le dernier num de la t_fichecontact et qu'il rajoute +1 et mette à jour le num de la T_Fiche avec ce nouveau num.
    En msgbox il me donne bien le Num calculé mais il ne le prend pas quand j'affiche le formulaire il reste sur " .Fields("NUM").Value = Rst1.Fields("N°")"

    Merci d'avance pour vos réponses,
    Mamanhou

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur VBA
    Inscrit en
    Avril 2017
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur VBA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 122
    Points : 194
    Points
    194
    Par défaut
    Il n'y a pas un 1 de trop ?
    D'ailleurs, j'imagine que c'est rst2 qu'il devrait y avoir sur les deux lignes.



    Je trouve ca bizarre de trier les numéros dans l'ordre décroissant. Je trouverais plus logique de trier dans l'ordre croissant et de créer de nouvelles fiches avec des numéros croissants. Au final, cela ne change rien, mais c'est plus consensuel, classique.
    Je ne teste quasi jamais le code que je propose. il s'agit juste d'indication sur comment je m'y prendrais, comment faire, des lignes d'intention.
    Il y a donc souvent des erreurs, le déboggage existe pour cela.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2013, 22h01
  2. Réponses: 1
    Dernier message: 25/08/2011, 05h49
  3. Problème d'insertion d'un champs numérique avec delphi interbase
    Par mouradtn dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/07/2010, 15h27
  4. Problème pour modifier ordre des champs d'une ligne
    Par zram29 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2010, 13h05
  5. Problème de taille d'un champ numérique
    Par loic20h28 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/01/2008, 09h20

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