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.NET Discussion :

Obtenir une numerotation speciale


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut Obtenir une numerotation speciale
    Bonjour tout le monde
    Svp .. si vous pouvez m'aider a resoudre ce probleme
    J'aimeria bien obtenir une numerotation de cette facon comme exemple : 04032020-0001
    J'ai suivi ce sujet :
    https://www.developpez.net/forums/d1...ique-database/
    J'ai mis le champs INVOICES_Id de type numerique
    Mais malheureusement rien se s'affiche dans TextBox1 .. aussi aucun message d'erreur ne s'affiche
    Voici mon code :
    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
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim Req_Id As String
            Req_Id = Format(Today, "ddMMyyyy")
            Conne.Open()
            Dim Dt As New DataTable
            Dim Da As New OleDbDataAdapter("SELECT * From TBL_INVOICES", Conne)
            Da.FillSchema(Dt, SchemaType.Source)
            Da.Fill(Dt)
            If Dt.Rows.Count > 0 Then
                For Each R As DataRow In Dt.Rows
                    If Not R.Item("INVOICES_Id") Is DBNull.Value Then
                        Dim COUNT As Integer = 1
                        If InStr(R.Item("INVOICES_Id"), Req_Id) > 0 Then
                            COUNT = COUNT + 1
                        End If
                        Me.TextBox1.Text = Req_Id & Val(R.Item("INVOICES_Id").ToString) & "-" & Format(COUNT, "0000")
                    End If
                Next
            End If
            Conne.Close()
        End Sub
    Merci beaucoup d'avance pour l'aide
    Amicalement
    MADA

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Salut Mada,

    Je te propose de faire l'essai : remplacer Format(COUNT, "0000") par String.Format("{0:0000}",COUNT).

    Ce sera correct au moins pour la partie COUNT. On cherchera plus loin si ça na suffit pas.


  3. #3
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Salut Phil Rob
    Salut maitre
    Tres gentil de votre part ..
    Regarde svp .. j'ai deja clique sur Button1 mais rien ne se passe
    Nom : p_1524wy4q11.jpg
Affichages : 195
Taille : 382,8 Ko
    Cordialement
    MADA

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Pour de-buguer,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                        Me.TextBox1.Text = Format(COUNT, "0000")
                        Me.TextBox1.Text = Val(R.Item("INVOICES_Id").ToString)
                        Me.TextBox1.Text = Req_Id
                        Me.TextBox1.Text = Req_Id & Val(R.Item("INVOICES_Id").ToString) & "-" & Format(COUNT, "0000")
    En passant en commentaire les 3 dernières lignes, puis les 2 dernières et enfin la dernière, il y a bien un moment où tu déclencheras l'absence d'affichage, là tu sauras quelle variable/formatage provoque le problème.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Il te faut exécuter en pas à pas (F10) et vérifier à chaque passage les valeurs composant ton affichage :
    Req_Id, R.Item("INVOICES_Id"), et voir aussi si la ligne d'affectation de la TextBox est vraiment exécutée.

    La proposition de ProgElecT te donnera ± les mêmes information sans faire de pas à pas.

    D'autre part, le code que tu nous soumets ne semble pas complet : ta connexion à la DB est-elle établie ?

    Bon travail

  6. #6
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Salut cher ProgElect
    Salut cher ami
    Tres tres ravi de vous voir ici dans ce sujet
    Malheureusement rien ne se passe .. ni affichage dans TextBox1 .. ni message d'erreur
    Amicalement
    MADa

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Re
    Citation Envoyé par MADA BLACK Voir le message
    Salut...
    Malheureusement rien ne se passe .. ni affichage dans TextBox1 .. ni message d'erreur
    ...
    Si de plus il n'y a pas de message d'erreur, c'est qu'une des conditions pour aboutir à l'affichage fait que tu n'arrives pas à la ligne de commande Me.TextBox1.Text = .....
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Citation Envoyé par Phil Rob Voir le message
    Il te faut exécuter en pas à pas (F10) et vérifier à chaque passage les valeurs composant ton affichage :
    Req_Id, R.Item("INVOICES_Id"), et voir aussi si la ligne d'affectation de la TextBox est vraiment exécutée.

    La proposition de ProgElecT te donnera ± les mêmes information sans faire de pas à pas.

    D'autre part, le code que tu nous soumets ne semble pas complet : ta connexion à la DB est-elle établie ?

    Bon travail
    Cher PhIL ROB
    Voici mon code de connection dans module1 :
    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
    Imports System.Data.OleDb
    Imports System.Data
    Module Module1
        Public Conne As New OleDbConnection()
        Public Sub Open_Connection()
            If Conne.State = ConnectionState.Open Then Conne.Close()
            Try
                Conne = New OleDbConnection("Provider = Microsoft.Jet.OleDB.4.0;Data Source =  " & Application.StartupPath & "\ARTISANAT.Mdb")
                Conne.Open()
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
                Conne.Close()
                End
            End Try
        End Sub
    End Module
    je n'ai aucun autre code dans ma Form1
    Cordialement
    MADA

  9. #9
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Vérifie ton accès à la DB.
    Tu ne reçois aucun enregistrement.
    Si tu peux en envoyer davantage de code ...

  10. #10
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Salut ProgElect
    Salut PHIL ROB
    J'ai essaye .. mais j'ai pas arrive malheureusement .. d'ailleur je n'ai aucun autre code
    Si vous voulez .. apres votre permission de voir mon fichier
    https://top4top.io/downloadf-1524xwzsx1-rar.html
    Amicalement
    MADA

  11. #11
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Re ...

    OK, c'est ton seul code et tu as expérimenté ce que t'as suggéré ProgElecT. C'est très bien, cela t'a permis de constater que le problème n'est pas sur la ligne d'affectation de la TextBox.

    Maintenant, pour en savoir plus, il te faut faire du débogage en pas à pas, avec "mise en observation" des variables.

    C'est à toutes fins utiles que je t'envoie un extrait de cours sur la question : ExtraitDebogage.pdf.
    Vois les pages 2 et 3.

    J'ai chargé ton programme et je vais tester un peu ...

  12. #12
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Formidable et interessant extrait .. je vais bien le lire
    Merci beaucoup pour l'aide et pour votre excellent suivi
    Merci maitre
    Cordialement
    MADA

  13. #13
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Cher Mada,

    Ta DB est vide !!!
    Encode-lui quelques lignes et le code suivant (c'est le tien, un rien modifié) fera ce que tu attends :

    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
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim Req_Id As String = Format(Today, "ddMMyyyy")
            'Dim Req_Id As String = Format(DateTime.Now.ToString("ddMMyyyy"))
            Dim Adp As New OleDb.OleDbDataAdapter("SELECT * From TBL_INVOICES", Conne)
     
            '  Dim Ds As New DataTable 'Set
     
            Dim dt As New DataTable
     
            Adp.Fill(Dt)
     
            '    Dim Dt = Ds.Tables(0)
     
            If Dt.Rows.Count > 0 Then
                For Each R As DataRow In Dt.Rows
                    If Not R.Item("INVOICES_Id") Is DBNull.Value Then
                        Dim Counta As Integer = 1
                        If InStr(R.Item("INVOICES_Id"), Req_Id) > 0 Then
                            Counta = Counta + 1
                        End If
                        Me.TextBox1.Text = Req_Id & Val(R.Item("INVOICES_Id").ToString) & "-" & String.Format("{0:0000}", Counta)
                      End If
                Next
            End If
        End Sub
    Bonne soirée,


  14. #14
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Merci beaucoup maitre pour le code
    Merci pour tous
    Peut etre .. j'ai mal compris le sujet car j'ai laisse exprit ma DB vide .. pour que le premier (Id) sera 04032020-0001 .. et ainsi de suite
    Amicalement
    MADA

  15. #15
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Excuse-moi, j'avais pas compris que tu avais vidé la DB pour nous l'envoyer, ce qui est bien normal en fait.
    Donc, ton code était presque parfait et le problème est maintenant résolu.

    Très bonne nuit

  16. #16
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Bonjour PHIL ROB
    Mais dans le cas ou ma Table est completement vide .. toujours j'aurai le meme probleme .. ni message erreur .. et rien ne s'affichera dans ma TextBox1 .
    Amicalement
    MADA

  17. #17
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Attention, dans le dernier code proposé par Phil Rob, la déclaration de la variable dt est en minuscule, puis son utilisation Dt.Rows.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  18. #18
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Bonjour cher ProgElect .. merci beaucoup pour la remarque ..
    Bonjour cher PHIL ROB .. merci pour tes bienfait .. toujours je te trouve dans les moments difficiles .. merci encore
    Ce que m'interesse vraiment est lorsque ma Table est completement vide j'obtiens cette numerotation : 05032020-0001
    Car le code de mon premier poste inspire du lien de l'autre sujet la numerotation est comme ca : 050320201-0001 ( on remarque un 1 apres la date )
    Merci beaucoup d'avance pour l'aide
    Amicalement
    MADA

  19. #19
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Cela me semble normal.
    Tu peux toujours programmer un message SI le Rows.Count < 1.
    Je reviens vers 11h. Si tu as besoin...

  20. #20
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    @ProgElecT : tu as raison avec les Dt et dt. Cela ne fait pas propre mais pour l'exécution cela ne change rien, VB ne fait pas de différence en majuscule et minuscule, contrairement au C et à ses dérivés.

    @Mada : Ceci te convient-il ?
    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
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim Req_Id As String = Format(Today, "ddMMyyyy")
            'Dim Req_Id As String = Format(DateTime.Now.ToString("ddMMyyyy"))
            Dim Adp As New OleDb.OleDbDataAdapter("SELECT * From TBL_INVOICES", Conne)
            '  Dim Ds As New DataTable 'Set
     
            Dim dt As New DataTable
     
            Adp.Fill(dt)
     
            '    Dim Dt = Ds.Tables(0)
     
            Dim Counta As Integer
     
            If Dt.Rows.Count > 0 Then
                For Each R As DataRow In Dt.Rows
                    If Not R.Item("INVOICES_Id") Is DBNull.Value Then
     
                        '     Dim Counta As Integer = 1
     
                        If InStr(R.Item("INVOICES_Id"), Req_Id) > 0 Then
                            Counta = Counta + 1
                        End If
                        Me.TextBox1.Text = Req_Id & Val(R.Item("INVOICES_Id").ToString) & "-" & String.Format("{0:0000}", Counta)
                      End If
                Next
            Else
     
                Counta = 1
                Me.TextBox1.Text = Date.Today.ToString("ddMMyyyy") & "-" & String.Format("{0:0000}", Counta)
            End If
     
        End Sub
    Nom : mada.jpg
Affichages : 156
Taille : 69,4 Ko


+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Swing] Afficher une JTable speciale en java
    Par benssj5 dans le forum Composants
    Réponses: 6
    Dernier message: 12/03/2013, 20h21
  2. Obtenir une trame Ethernet
    Par Scorff dans le forum Développement
    Réponses: 15
    Dernier message: 11/09/2006, 12h22
  3. comment obtenir une ligne aléatoirement
    Par titoumimi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/05/2005, 15h52
  4. Réponses: 17
    Dernier message: 04/04/2005, 17h50
  5. Réponses: 2
    Dernier message: 14/02/2005, 14h26

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