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 :

Numérotation automatique d'un champ selon un autre champ [AC-2003]


Sujet :

VBA Access

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

    Informations professionnelles :
    Activité : Assistant de recherche

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Numérotation automatique d'un champ selon un autre champ
    Bonjour à tous!

    Je suis occupé au créer un formulaire dans Access 2003 pour pouvoir encodé toutes mes données de terrain par la suite.
    Le problème est le suivant :
    j'aimerais avoir une numérotation automatique de mes arbres (champ NUM_ARBRE) qui recommence à 1 à chaque nouvelle placette (champ ID_UE).
    On m'a passé un code qui est censé fonctionné mais...la numérotation passe de 1 à 2 puis reste sur le deux....
    Si jamais quelqu'un voyait où ça bug...

    Merci d'avance!!

    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
    39
    40
    41
    42
    43
    44
    Option Compare Database
     
     
    Function TableExistante(nom_table As String) As Integer
        Dim db As Database
        Dim i As Integer
        Dim trouve As Integer
     
        Set db = CurrentDb()
        trouve = False
        For i = 0 To db.TableDefs.Count - 1
            If db.TableDefs(i).Name = nom_table Then
                trouve = True
                Exit For
            End If
        Next i
        db.Close
        TableExistante = trouve
    End Function
     
    Private Sub NUM_ARBRE_Click()
     
    Dim query As String
     
    If IsNull(NUM_ARBRE) = True Then
        If TableExistante("prov1") Then CurrentDb.Execute "drop table prov1"
         query = "select num_arbre as maxnum, id_ue into prov1 from arbre where (id_ue = " & Form_essaie_UE.ID_UE & " ) ;"
     
         Debug.Print query
         CurrentDb.Execute query
     
            If IsNull(DLookup("maxnum", "prov1", "prov1.id_ue = " & Form_essaie_UE.ID_UE & " ")) Then
            NUM_ARBRE = 1
     
            Else: NUM_ARBRE = DLookup("maxnum", "prov1", "prov1.id_ue = " & Form_essaie_UE.ID_UE & " ") + 1
     
            End If
     
                If TableExistante("prov1") Then CurrentDb.Execute "drop table prov1;"
     
    End If
     
     
    End Sub

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    après ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Else: NUM_ARBRE = DLookup("maxnum", "prov1", "prov1.id_ue = " & Form_essaie_UE.ID_UE & " ") + 1
    Il manque du code pour stocker cette nouvelle valeur dans la table.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

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

    Informations professionnelles :
    Activité : Assistant de recherche

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Ok, on m'a modifié le code de façon à tenir compte de l'évolution de la numérotation :
    query = "select max(num_arbre) as maxnum, id_ue into prov1 from arbre where (id_ue = " & Form_essaie_UE.ID_UE & " ) group by id_ue;"

    Merci pour l'aide!!

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

Discussions similaires

  1. Requête SQL - fonction iff & calcul d'un champ selon d'autres champs
    Par Séphirée dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 10/05/2013, 22h51
  2. Trigger : incrémenter un champ selon un autre champ
    Par David55 dans le forum Requêtes
    Réponses: 9
    Dernier message: 28/03/2011, 18h26
  3. Mise à jour automatique de champs à partir d'autres champs
    Par Heytabernak dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/10/2008, 14h56
  4. Affichage données selon un autre champ : Requête ou VBA?
    Par Noemy23 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/07/2007, 13h13
  5. Réponses: 5
    Dernier message: 23/03/2007, 16h27

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