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

VB 6 et antérieur Discussion :

Probleme d'incrementation par code


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut Probleme d'incrementation par code
    Bonjour,
    mon probleme est le suivant : j'ai tapé le code suivant qui va dans ma base dans le dernier enregistrement le trouve (ici des matricules ex REC1, REC2, . . .RECn), si le recorset n'est pas vide, renvoie sa longueur et en fonction de la longueur donné lui attribue (incremente) un nouveau numéro et l'affiche dans le textbox à l'ouverture de la feuille.
    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
     
    Form Activate()
    'Instanciation de variable
    Set rst = New ADODB.Recordset
    Set cnx = New ADODB.Connection
    'Procédure de connection
    Call Connexion(cnx)
    rst.Open "SELECT * FROM recu", cnx, adOpenKeyset, adLockOptimistic, adCmdText
    If rst.RecordCount <> 0 Then
            rst.MoveLast
            Num = Len(rst!mat_rec)
            Select Case Num
            Case 4
            i = Right(rst!mat_rec, 1)
            i = i + 1
            txtrec(0).Text = "REC" & i
            i = rst!num_rec + 1
            txtrec(1).Text = i
            Case 5
            i = Right(rst!mat_rec, 2)
            i = i + 1
            txtrec(0).Text = "REC" & i
            i = rst!num_rec + 1
            txtrec(1).Text = i
            .
    	.
    	.
    	. 
            Case 14
            i = Right(rst!mat_rec, 11)
            i = i + 1
            txtrec(0).Text = "REC" & i
            i = rst!num_rec + 1
            txtrec(1).Text = i
            End Select
    .
    .
    Le truc c'est que ça marche jusqu'au N°9 et s'arrete au N°10. J'ai regardé dans la base et je me suis rendu compte que le matricule REC10 se trouve juste apres REC1 (en 2eme position). J'utilise access 2003 et j'aimerais savoir comment faire pour que REC10 revienne en dernier position pour que mon code s'execute correctement ou sinon comment faire pour continuer d'incrementer mes matricules et resoudre ce probleme.
    Merci d'avance

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Tu pourrais mettre "txtrec(0).Text = "REC" & format(i,"000")", ca te permettrait d'avoir 1000 enregistrements correctement triés.

Discussions similaires

  1. [AC-2007] Probleme base ouverte manuellement ou par code VBA
    Par Nestea dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/03/2012, 14h24
  2. Réponses: 3
    Dernier message: 12/01/2011, 14h23
  3. Réponses: 3
    Dernier message: 29/08/2008, 14h42
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19
  5. [PostgreSQL]probleme de connexion par pgaccess
    Par yacomor dans le forum Administration
    Réponses: 9
    Dernier message: 14/11/2002, 16h15

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