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 automatique d'un champ


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut Incrémentation automatique d'un champ
    J'ai un pb je ne sais pas comment faire l'incrémentation automatique d'un champ dans une base de données avec le langage vb.net. je vous explique ce que je veux faire : je veux qu'en lancant la forms "ajout d'un nouveau fournisseur" il y aura parcours de la table "fournisseur" et plus précisément du champ "Num_frs" ensuite il pointe sur le dernier enregistrement dans la table "fournisseur" et il incrémente de 1 ensuite il l'affiche au niveau du textbox "txtnumfrs.text".
    En vb 6.0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Form_Load()
    sql = "select Num_fournisseur from Table_fournisseur"
    Data1.RecordSource = sql
    Data1.Refresh
    If Data1.Recordset.RecordCount > 0 Then
        Data1.Recordset.MoveLast
        Txtnumfrs.Text = Data1.Recordset.Fields(0) + 1
    End If
    End Sub
    comment le faire en vb.net?

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    tu peut essayer ca (je l'ai pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Dim MyConnexion As OleDbConnection = New OleDbConnection ("chaine de connexion)
            Dim myReader As OleDbDataReader
            Dim Mycommand3 As OleDbCommand = MyConnexion.CreateCommand()
            Dim nbre As Integer
     
            Mycommand3.CommandText = "select * from fournisseur"
            MyConnexion.Open()
            myReader = Mycommand3.ExecuteReader()
            nbre = myReader.FieldCount()
            textbox1.text =myReader.GetValue(nbre)
            MyConnexion.Close()
    Je pense que le datareader est la meilleur solution, sinon peut etre avec une requete du type "select max from fournisseur", mais je ne sait pas la synthaxe exacte

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    Voici le code qui marche (Merci Boubounne) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Private Sub Frmajoutf_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            sql = "select Num_frs from Fournisseur"
            Dim cnx As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Administrateur.STANDARD\Mes documents\Projet Budget\Budget\Budget\Marches.mdb")
            Dim command As OleDbCommand = cnx.CreateCommand
            Dim myreader As OleDbDataReader
            Dim nbre As Integer
            command.CommandText = "select * from Fournisseur"
            cnx.Open()
            myreader = command.ExecuteReader
            nbre = myreader.FieldCount
            Txtnumf.Text = nbre
            cnx.Close()
        End Sub

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    les bases de données savent gérer des autoincrémentation de manière autonome ...

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    attention quand meme, la ca va marcher si ton premier indice est 1 , si ca commence par exemple a 3, je ne suis pas sur que ta formule marche !!
    car la tu compte le nombre de ligne de ta table, tu ne recupere pas le dernier indice !!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/08/2010, 09h52
  2. Réponses: 1
    Dernier message: 28/01/2009, 01h21
  3. Réponses: 1
    Dernier message: 18/12/2007, 14h20
  4. Incrémentation Automatique d'un champ
    Par midotoon dans le forum SQL
    Réponses: 5
    Dernier message: 05/06/2007, 16h58
  5. incrémentation automatique d'un champ
    Par Simon2 dans le forum Access
    Réponses: 3
    Dernier message: 18/12/2006, 17h41

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