Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/02/2011, 12h01   #1
Invité de passage
 
Thomas
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Thomas

Informations forums :
Inscription : février 2011
Messages : 5
Points : 1
Points : 1
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 :
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
moht66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 15h15   #2
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Bonjour,

après ceci
Code :
      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.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/02/2011, 16h49   #3
Invité de passage
 
Thomas
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Thomas

Informations forums :
Inscription : février 2011
Messages : 5
Points : 1
Points : 1
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!!
moht66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h13.


 
 
 
 
Partenaires

Hébergement Web