Foxaltex
-
9 janv. 2013 à 10:15
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024
-
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"
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.
--
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 22 oct. 2014 à 20:39
22 oct. 2014 à 20:39
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code