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 :

Incrémentation d'une TextBox sur VB.NEt [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut Incrémentation d'une TextBox sur VB.NEt
    Bonjour ,
    Je suis débutant en programmation , je voudrais avoir un peu d'aide sur mon projet ,
    j'ai créer une application et une base de données dans laquelle des données seront stocké, dans la colonne A de la base de donnée j'ai une série de chiffres , je veux récupérer la dernière valeur de cette colonne, l'incrémenter de 1 et récupérer la valeur pour l'afficher dans mon textbox1 puis la rajouter comme une valeur suivante dans la base de données mais je ne trouve toujours pas la fonction !! S'il vous plait quelqu'un pourra m'aider ???!

    Merci d'avance!

  2. #2
    Membre averti
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Points : 391
    Points
    391
    Par défaut
    Bonjour,

    La méthode :

    1. Connecter à la base de données ;
    2. Lire la dernière valeur de la colonne A et la stocker dans une variable ;
    3. Incrémenter la variable ;
    4. Convertir la variable en texte et la copier dans la TextBox ;
    5. (Éventuellement attendre une action de l'utilisateur)
    6. Enregistrer la variable dans la base de données sous forme de ligne de données supplémentaire.

    Toute la cosmétique autour de cette méthode se trouve dans l'extraordinaire cours suivant :
    http://plasserre.developpez.com/cours/vb-net/

    Ex-tra-or-di-naire.

    Regardez du coté des bases de données : vous aurez un certain nombre de choix à opérer, si ce n'est déjà fait, sur les caractéristiques de votre base de données et la manière de stocker vos données.
    En mode lecture/écriture.

  3. #3
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut MErci
    MErci Pour ton Intêret je verrais ca est ce que ca pourra m'aider

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Points : 151
    Points
    151
    Par défaut
    tu peux utiliser ub datareader pour lire la dérnière valeur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Cmd As New SqlCommand("Select Max(Colonne A) From ....", Connexion)
    Dim DR As SqlDataReader = Cmd.ExecuteReader()
     
    If DR.Read Then
    If Not DR.Item(0) Is DBNull.Value Then
    Ta nouvelleValeur = (DR.GetValue(0) + 1).ToString
    Else
    Ta nouvelleValeur= "1"
    End If
    End If

  5. #5
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut MErciii
    MErci Beaucoup ABDo

  6. #6
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    Ca ne marche toujours pas ! j'arrive pas a lire la valeur ni a l'incrémenter !!

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Il serait intéressant de connaître la BDD que vous utilisez.

    Pour lire une information il existe la méthode ExecuteScalar.

    Pour sélectionner une info
    Avec Access
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Public Function ValCpt(ByVal connString As String, ByVal Requete As String) As Int32
            Dim CptMax As Int32 = 0
            Using conn As New OleDbConnection(connString)
                Dim cmd As New OleDbCommand(Requete, conn)
                Try
                    conn.Open()
                    CptMax = Convert.ToInt32(cmd.ExecuteScalar())
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
            End Using
            Return CptMax
        End Function
    End Class
    Appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            TxtCptBDD.Text = ValCpt("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\Personnes\Personnes.accdb", "Select Max(A) from compteur").ToString
    Il faut utiliser les requêtes paramètrées. (pour votre insertion)
    Pour apprendre leurs utilisation. Voir Tutoriel (Le tuto est avec un insert et sqlServeur) ou Faq.

    [Edit]
    Il y a aussi les cours sur les BDD. Voir ceux avec ADO.
    [/Edit]

    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  8. #8
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    Salut désolé pour le retard ! Ma base de données est sous Microsoft SQL server !!

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    donc utiliser sql à la place de oledb.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  10. #10
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    D'accord MErci Beaucoup

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Juste pour info, SqlServer permet la création de champs auto-incrémentés. La valeur du champ est automatiquement incrémenté à chaque insertion d'un nouvel enregistrement dans la table (utile pour les ID par exemple).
    Dans ce cas et si c'est pour ce type d'utilisation, il n'y a rien à faire.

    eb.

  12. #12
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    Ebastien ! ce que je vous moi c'est que quand j'ouvre mon application pour saisir les informations je veux que le Champ ID qui est le premier champ a remplir ! je veux qu'il soit remplit avec la dérnière valeur sur ma base de données avec une incrémentation de 1 tu vois ! genre a chaque fois que je veux saisir a nouveau ca prend la dernière valeur de la base et lui rajoute 1 ! Chose que je n'ai pas encore arrivé a faire il ne me reste que 3 jours pour rendre le projet

  13. #13
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par andyajram Voir le message
    Ebastien ! ce que je vous moi c'est que quand j'ouvre mon application pour saisir les informations je veux que le Champ ID qui est le premier champ a remplir ! je veux qu'il soit remplit avec la dérnière valeur sur ma base de données avec une incrémentation de 1 tu vois ! genre a chaque fois que je veux saisir a nouveau ca prend la dernière valeur de la base et lui rajoute 1 ! Chose que je n'ai pas encore arrivé a faire il ne me reste que 3 jours pour rendre le projet
    Oui et sa réponse est ce dont tu as besoin ...
    Si le champ ID est déclaré "auto-incrémenté" dans ta base, lorsque tu feras ton insertion, si tu ne précises pas l'ID dans ton formulaire, la base de données l'enregistrera avec pour ID la valeur du dernier enregistrement + 1

    Ainsi tu n'as même plus à gérer la saisie de l'ID dans ton formulaire ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  14. #14
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Oui et sa réponse est ce dont tu as besoin ...
    Si le champ ID est déclaré "auto-incrémenté" dans ta base, lorsque tu feras ton insertion, si tu ne précises pas l'ID dans ton formulaire, la base de données l'enregistrera avec pour ID la valeur du dernier enregistrement + 1

    Ainsi tu n'as même plus à gérer la saisie de l'ID dans ton formulaire ...
    Oui vous avez raison j'ai réussi a faire la démarche et ca marche maintenant Merci Beaucoup les gars

  15. #15
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    Merci Beaucoup les gars j'ai réussi a résoudre mon problème

  16. #16
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Bien joué
    N'oublie pas le bouton
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 23
    Dernier message: 11/12/2010, 10h57
  2. Réponses: 12
    Dernier message: 07/12/2010, 10h37
  3. [moteur de recherche] trouver une image sur le net
    Par 123quatre dans le forum Internet
    Réponses: 1
    Dernier message: 05/07/2007, 22h56
  4. Créer une radio sur le net
    Par gobmok dans le forum Outils
    Réponses: 3
    Dernier message: 21/11/2006, 14h36

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