Compter le nombre de ligne

Foxaltex - 9 janv. 2013 à 10:15
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 - 22 oct. 2014 à 20:39
Bonjour à tous,

Je viens de développer une petit logiciel qui permet de rentrer des informations textes dans une base de donnée access. Le logiciel est utilisé sur de multiple ordinateur pour qu'une dizaine de personnes puissent rentrer leurs données et les rendre commune. Cependant, je tente de créer un colonne "Numéro" qui donnerait automatiquement un nombre à la ligne de donnée rentrée... Je sais qu'access le fait grâce à "NuméroAuto" mais j'aimerai pouvoir afficher se nombre lors de la saisie des données dans les textBox... Le nombre ce trouvant dans une textBox lui aussi. Histoire que les gens connaissent le numéro de la ligne de donnée qu'ils viennent de rentrer... Donc j'ai deux solutions :
- Créer un compteur qui reprendrait la dernière valeur de la colonne "Numéro" et l'incrémenterait de 1 (mais je n'arrive pas ni à récupérer cette valeur ni à l'afficher dans une textBox, ni à l’incrémenté)
- récupérer la valeur qu'attribut automatiquement la colonne "Numéro" grâce à "NuméroAuto", mais je ne sais toujours pas comment récupérer cette valeur et l'afficher... Quelqu'un pourrait-il me donner un coup de pouce s'il vous plaît ? ^^'

Pour info, ma table se nomme "Dem1" et ma base de donnée "DonnéesPro"

1 réponse

cs_colby Messages postés 127 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 2 août 2021
Modifié par NHenry le 22/10/2014 à 20:39
Function ZeroAgaucheSerie(ByVal Numero As String) As String
Dim I, Vide As Integer 
Dim Remplir As String = "" 
Vide = Len(Trim(Numero))
        If Vide < 10 Then
            For I = 1 To 10 - Vide
                Remplir = "0" & Remplir
            Next I
        End If
        ZeroAgaucheSerie = Remplir & Numero
    End Function


 Function RemplcerZeroSerie(ByVal Numero As String) As String
 Dim I, Vide As Integer 
 Dim Remplir As String = "" 
 Vide = Len(Trim(Numero))
        If Vide < 10 Then
            For I = 1 To 10 - Vide
                Remplir = "" & Remplir
            Next I
        End If
        RemplcerZeroSerie = Remplir & Numero
    End Function



une approche que j'ai utilise dans une petite application pour donner un numéro de série a une quittance qui s'imprime. vous faites appel a ces deux fonctions. le premier pour afficher des zéro selon la longueur que vous donner au chiffre de départ, ici un chiffre de 10 lettres. le second remplace les zéro en incrémentant de 1 a chaque enregistrement.
puis vous l'utilisez comme ceci.

Public Sub NumeroSerie()
On Error Resume Next
Connection a la base
Demi1_datatable = Demi1_dataset.Tables("Demi1") 
Dim NumSerie As Integer = demi1_datatable.Rows.Count - 1
        If NumSerie <= 0 Then
            Me.Textbox1.Text = ZeroAgaucheSerie("1")
        ElseIf NumSerie = demi1_datatable.Rows.Count - 1 Or NumSerie > demi1_datatable.Rows.Count - 1 Then
            Me.Textbox1.Text = ZeroAgaucheSerie(demi1_datatable.Rows(NumSerie).Item("Serie") + 1)
        End If
    End Sub


j'espère que cela servira.
merci.

--
0
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
22 oct. 2014 à 20:39
0