begin process at 2012 02 14 03:36:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > UTILISATION DE CONTROLES DYNAMIQUES, SUR UNE BASE DE DONNÉES

UTILISATION DE CONTROLES DYNAMIQUES, SUR UNE BASE DE DONNÉES


 Information sur la source

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Source .NET ( DotNet ) Niveau :Initié Date de création :17/05/2004 Date de mise à jour :17/05/2004 15:47:01 Vu :9 018

Auteur : ivanoff1

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

on interroge une base de données
on recherche le nom de toutes les tables
pour une table donnée, on crée un nombre de TextBox dépendant du nombre de propriétés de la table
Si on a une clé étrangère, on crée une ComboBox.

Source

  • Imports System.Data
  • Imports System.Data.OleDb
  • Public Class Fchoix
  • Inherits System.Windows.Forms.Form
  • Dim StrConnection As String
  • Dim Col_Control_Créés As New Collection()
  • Dim cc As New Collection()
  • Dim NumContrainte As Integer
  • #Region " Code généré par le Concepteur Windows Form "
  • Public Sub New()
  • MyBase.New()
  • 'Cet appel est requis par le Concepteur Windows Form.
  • InitializeComponent()
  • 'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  • End Sub
  • 'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
  • Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  • If disposing Then
  • If Not (components Is Nothing) Then
  • components.Dispose()
  • End If
  • End If
  • MyBase.Dispose(disposing)
  • End Sub
  • 'Requis par le Concepteur Windows Form
  • Private components As System.ComponentModel.IContainer
  • 'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
  • 'Elle peut être modifiée en utilisant le Concepteur Windows Form.
  • 'Ne la modifiez pas en utilisant l'éditeur de code.
  • Friend WithEvents CBlistes As System.Windows.Forms.ComboBox
  • Friend WithEvents LBenregs As System.Windows.Forms.ListBox
  • <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  • Me.CBlistes = New System.Windows.Forms.ComboBox()
  • Me.LBenregs = New System.Windows.Forms.ListBox()
  • Me.SuspendLayout()
  • '
  • 'CBlistes
  • '
  • Me.CBlistes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
  • Me.CBlistes.Location = New System.Drawing.Point(8, 8)
  • Me.CBlistes.Name = "CBlistes"
  • Me.CBlistes.Size = New System.Drawing.Size(121, 21)
  • Me.CBlistes.TabIndex = 21
  • '
  • 'LBenregs
  • '
  • Me.LBenregs.Location = New System.Drawing.Point(8, 56)
  • Me.LBenregs.Name = "LBenregs"
  • Me.LBenregs.Size = New System.Drawing.Size(192, 212)
  • Me.LBenregs.TabIndex = 20
  • '
  • 'Fchoix
  • '
  • Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  • Me.ClientSize = New System.Drawing.Size(664, 301)
  • Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.LBenregs, Me.CBlistes})
  • Me.Name = "Fchoix"
  • Me.Text = "Choix de la table"
  • Me.ResumeLayout(False)
  • End Sub
  • #End Region
  • Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • Me.StrConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Gestion_CD_Rom.mdb"
  • Me.Remplissage_Combo_Listes()
  • End Sub
  • Public Function GetTables(ByVal conn As OleDbConnection) As DataTable
  • conn.Open()
  • 'on crée le schéma de la base de données dans une DataTable
  • Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
  • New Object() {Nothing, Nothing, Nothing, "TABLE"})
  • conn.Close()
  • Return schemaTable
  • End Function
  • Private Sub Remplissage_Combo_Listes()
  • Dim i As Integer
  • Dim ConX As New OleDbConnection(Me.StrConnection)
  • Dim dt As New DataTable()
  • 'on remplit la DataTable avec le shéma de
  • 'l'ensemble des noms des tables de la base de données
  • dt = Me.GetTables(ConX)
  • For i = 0 To dt.Rows.Count - 1
  • Me.CBlistes.Items.Add(dt.Rows(i).Item(2))
  • Next
  • End Sub
  • Private Sub Supprimer_Controles()
  • Dim i As Integer
  • Dim Max As Integer
  • Try
  • Max = Me.Col_Control_Créés.Count
  • 'pour chaque controle créé dynamiquement
  • For i = 1 To Max
  • 'on le supprime s'il existe
  • If Me.Contains(Me.Col_Control_Créés.Item(i)) Then
  • Me.Controls.Remove(Me.Col_Control_Créés.Item(i))
  • End If
  • Next
  • Catch
  • End Try
  • End Sub
  • Private Sub Charger_Liste_Enreg(ByVal dt As DataTable)
  • Dim i As Integer
  • Me.LBenregs.Items.Clear()
  • For i = 0 To dt.Rows.Count - 1
  • Me.LBenregs.Items.Add(dt.Rows(i).Item(1))
  • Next
  • End Sub
  • Private Function Renvoyer_Le_Plus_Grand_Nombre_De_Caractères() As Integer
  • Dim i, j, maxMot, cum As Integer
  • maxMot = 0
  • 'pour chaque enreg. dans la liste, on recherche le mot le plus long
  • For i = 0 To Me.LBenregs.Items.Count - 1
  • cum = 0
  • 'on compte le nombre de caractère de chaque mot
  • For j = 0 To CStr(Me.LBenregs.Items.Item(i)).Length - 1
  • cum = cum + 1
  • Next
  • If cum > maxMot Then
  • maxMot = cum
  • End If
  • Next
  • Return maxMot
  • End Function
  • Private Sub CBlistes_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBlistes.SelectedIndexChanged
  • Dim Connex As New OleDbConnection(Me.StrConnection)
  • Dim dt As New DataTable()
  • Dim i As Integer
  • Dim DR As New OleDbDataAdapter("SELECT * FROM " & Me.CBlistes.SelectedItem, Connex)
  • 'on efface tous les controles posés sur la Form
  • Me.Supprimer_Controles()
  • 'on chage tous les enregistrements dans une DataTable
  • DR.Fill(dt)
  • 'on affiche tous les enregs. dans la ListBox
  • Me.Charger_Liste_Enreg(dt)
  • 'on vide la collection
  • Me.Vider_Collection(Me.cc)
  • 'pour chaque propriété de la table
  • For i = 1 To dt.Columns.Count - 1
  • 's'il y a une liaison vers une autre table
  • 'on crée une ComboBox
  • If Me.A_une_Liaison(i) Then
  • Me.Création_ComboBox(i)
  • Else
  • 'sinon on crée une TextBox
  • Me.Création_TextBox(dt.Columns(i).DataType.Name, i)
  • End If
  • Next
  • End Sub
  • Private Sub Création_ComboBox(ByVal i As Integer)
  • Dim cb As New ComboBox()
  • 'on ajuste la taille des TBs avec la plus grande chaine de la liste
  • cb.Size = New Size(140 + 10 * Me.Renvoyer_Le_Plus_Grand_Nombre_De_Caractères, 23)
  • cb.Location = New System.Drawing.Point(250, i * 40)
  • cb.Name = "TB" & i
  • cb.TabIndex = i
  • cb.DropDownStyle = ComboBoxStyle.DropDownList
  • Me.Controls.Add(cb)
  • Me.Col_Control_Créés.Add(cb)
  • End Sub
  • Private Sub Création_TextBox(ByVal Type As String, ByVal i As Integer)
  • Dim tb As New TextBox()
  • 'on ajuste la taille des TBs avec la plus grande chaine de la liste
  • tb.Size = New Size(140 + 10 * Me.Renvoyer_Le_Plus_Grand_Nombre_De_Caractères, 23)
  • tb.Location = New System.Drawing.Point(250, i * 40)
  • tb.Name = "TB" & i
  • tb.TabIndex = i
  • Me.Controls.Add(tb)
  • Me.Col_Control_Créés.Add(tb)
  • Me.cc.Add(Type)
  • AddHandler tb.KeyPress, AddressOf TB_KeyPress
  • End Sub
  • Private Sub Vider_Collection(ByRef col As Collection)
  • Dim colNouv As New Collection()
  • col = colNouv
  • End Sub
  • Private Function A_une_Liaison(ByVal IndCol As Integer) As Boolean
  • Dim ds As New DataSet()
  • Dim DTaSuppr As New DataTable()
  • Dim Trouv As Boolean
  • Dim i As Integer = 0
  • ds = Me.Remplir_Data_Tables
  • DTaSuppr = Me.Suppression_DataTable(ds)
  • Trouv = False
  • 'il faut déjà que la propriété soit un numéro
  • If CStr(DTaSuppr.Columns(IndCol).ColumnName).Substring(0, 3) = "Num" Then
  • 'on recherche dans les autres tables,
  • 'si on a le même nom de propriété que celle sélectionnée
  • While i <= ds.Tables.Count - 1 And Not Trouv
  • 'c'est la colonne de la table sélectionnée
  • Dim ColAreg As New DataColumn()
  • ColAreg = DTaSuppr.Columns(IndCol)
  • 'et celle-ci, c'est la première colonne de l'autre table
  • Dim dt As New DataTable()
  • dt = ds.Tables(i)
  • Dim ColVu As New DataColumn()
  • ColVu = dt.Columns(0)
  • 'si elles ont le même nom
  • If ColAreg.ColumnName = ColVu.ColumnName Then
  • Trouv = True
  • Else
  • i = i + 1
  • End If
  • End While
  • End If
  • Return Trouv
  • End Function
  • Private Function Suppression_DataTable(ByRef ds As DataSet) As DataTable
  • Dim Trouv As Boolean
  • Dim DTaSuppr As New DataTable()
  • Dim i As Integer
  • Trouv = False
  • 'on recherche la DataTable avec le même nom que le champ de la combo
  • While i <= ds.Tables.Count - 1 And Not Trouv
  • Dim dt As New DataTable()
  • dt = ds.Tables.Item(i)
  • If Me.CBlistes.SelectedItem = dt.TableName Then
  • DTaSuppr = dt
  • Trouv = True
  • Else
  • i = i + 1
  • End If
  • End While
  • 'Et on la supprime du DataSet
  • ds.Tables.Remove(DTaSuppr)
  • 'on renvoie la DataTable supprimée du DataSet
  • Return DTaSuppr
  • End Function
  • Private Function Remplir_Data_Tables() As DataSet
  • Dim i As Integer
  • Dim ds As New DataSet()
  • Dim dad As New OleDbDataAdapter()
  • Dim connex As New OleDbConnection(Me.StrConnection)
  • 'pour chaque nom de table
  • For i = 0 To Me.CBlistes.Items.Count - 1
  • 'on crée une requête SQL qui sélectionne l'ensemble des champs de la table
  • Dim str As String = "SELECT * FROM " & Me.CBlistes.Items.Item(i)
  • 'on crée un objet Command qui exécute la requête
  • dad.SelectCommand = New OleDbCommand(str, connex)
  • Dim dt As New DataTable(Me.CBlistes.Items.Item(i))
  • 'en créant une DataTable, on peut la remplir avec les résultats de la requête
  • dad.Fill(dt)
  • 'on ajoute cette DataTable au DataSet
  • ds.Tables.Add(dt)
  • Next
  • Return ds
  • End Function
  • Private Sub TB_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
  • 'selon l'index du controle en question, on peut savoit le type de données dans la collection lui appartenant
  • Select Case CStr(Me.cc.Item(CType(sender, TextBox).TabIndex)).ToUpper
  • Case "DATETIME"
  • 'si on ne met les caractères pour la date, alors on ne peut pas écrire
  • If Not e.KeyChar.IsNumber(e.KeyChar) AndAlso e.KeyChar <> "/" Then
  • e.Handled = True
  • End If
  • Case "INT32"
  • 'si on ne met pas de valeur numérique, on ne peut pas écrire
  • If Not e.KeyChar.IsDigit(e.KeyChar) Then
  • e.Handled = True
  • End If
  • Case "DOUBLE"
  • 'si on a autre chose que des réels, on ne peut pas écrire
  • If Not e.KeyChar.IsNumber(e.KeyChar) Then
  • e.Handled = True
  • End If
  • Case "STRING"
  • 'si on a un caractère de ponctuation, on ne peut pas le mettre
  • If e.KeyChar.IsPunctuation(e.KeyChar) Then
  • e.Handled = True
  • End If
  • End Select
  • End Sub
  • End Class
Imports System.Data
Imports System.Data.OleDb


Public Class Fchoix
    Inherits System.Windows.Forms.Form
    Dim StrConnection As String
    Dim Col_Control_Créés As New Collection()
    Dim cc As New Collection()
    Dim NumContrainte As Integer

#Region " Code généré par le Concepteur Windows Form "

    Public Sub New()
        MyBase.New()

        'Cet appel est requis par le Concepteur Windows Form.
        InitializeComponent()

        'Ajoutez une initialisation quelconque après l'appel InitializeComponent()

    End Sub

    'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Requis par le Concepteur Windows Form
    Private components As System.ComponentModel.IContainer

    'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
    'Elle peut être modifiée en utilisant le Concepteur Windows Form.  
    'Ne la modifiez pas en utilisant l'éditeur de code.
    Friend WithEvents CBlistes As System.Windows.Forms.ComboBox
    Friend WithEvents LBenregs As System.Windows.Forms.ListBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.CBlistes = New System.Windows.Forms.ComboBox()
        Me.LBenregs = New System.Windows.Forms.ListBox()
        Me.SuspendLayout()
        '
        'CBlistes
        '
        Me.CBlistes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.CBlistes.Location = New System.Drawing.Point(8, 8)
        Me.CBlistes.Name = "CBlistes"
        Me.CBlistes.Size = New System.Drawing.Size(121, 21)
        Me.CBlistes.TabIndex = 21
        '
        'LBenregs
        '
        Me.LBenregs.Location = New System.Drawing.Point(8, 56)
        Me.LBenregs.Name = "LBenregs"
        Me.LBenregs.Size = New System.Drawing.Size(192, 212)
        Me.LBenregs.TabIndex = 20
        '
        'Fchoix
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(664, 301)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.LBenregs, Me.CBlistes})
        Me.Name = "Fchoix"
        Me.Text = "Choix de la table"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.StrConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Gestion_CD_Rom.mdb"
        Me.Remplissage_Combo_Listes()
    End Sub

    Public Function GetTables(ByVal conn As OleDbConnection) As DataTable
        conn.Open()
        'on crée le schéma de la base de données dans une DataTable
        Dim schemaTable As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
                                        New Object() {Nothing, Nothing, Nothing, "TABLE"})
        conn.Close()
        Return schemaTable
    End Function

    Private Sub Remplissage_Combo_Listes()
        Dim i As Integer
        Dim ConX As New OleDbConnection(Me.StrConnection)
        Dim dt As New DataTable()

        'on remplit la DataTable avec le shéma de 
        'l'ensemble des noms des tables de la base de données
        dt = Me.GetTables(ConX)
        For i = 0 To dt.Rows.Count - 1
            Me.CBlistes.Items.Add(dt.Rows(i).Item(2))
        Next

    End Sub

    Private Sub Supprimer_Controles()
        Dim i As Integer
        Dim Max As Integer

        Try
            Max = Me.Col_Control_Créés.Count
            'pour chaque controle créé dynamiquement
            For i = 1 To Max
                'on le supprime s'il existe
                If Me.Contains(Me.Col_Control_Créés.Item(i)) Then
                    Me.Controls.Remove(Me.Col_Control_Créés.Item(i))
                End If
            Next
        Catch
        End Try
    End Sub

    Private Sub Charger_Liste_Enreg(ByVal dt As DataTable)
        Dim i As Integer

        Me.LBenregs.Items.Clear()
        For i = 0 To dt.Rows.Count - 1
            Me.LBenregs.Items.Add(dt.Rows(i).Item(1))
        Next
    End Sub

    Private Function Renvoyer_Le_Plus_Grand_Nombre_De_Caractères() As Integer
        Dim i, j, maxMot, cum As Integer

        maxMot = 0
        'pour chaque enreg. dans la liste, on recherche le mot le plus long
        For i = 0 To Me.LBenregs.Items.Count - 1
            cum = 0
            'on compte le nombre de caractère  de chaque mot
            For j = 0 To CStr(Me.LBenregs.Items.Item(i)).Length - 1
                cum = cum + 1
            Next
            If cum > maxMot Then
                maxMot = cum
            End If
        Next

        Return maxMot
    End Function

    Private Sub CBlistes_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBlistes.SelectedIndexChanged
        Dim Connex As New OleDbConnection(Me.StrConnection)
        Dim dt As New DataTable()
        Dim i As Integer
        Dim DR As New OleDbDataAdapter("SELECT * FROM " & Me.CBlistes.SelectedItem, Connex)

        'on efface tous les controles posés sur la Form
        Me.Supprimer_Controles()
        'on chage tous les enregistrements dans une DataTable
        DR.Fill(dt)
        'on affiche tous les enregs. dans la ListBox
        Me.Charger_Liste_Enreg(dt)
        'on vide la collection
        Me.Vider_Collection(Me.cc)

        'pour chaque propriété de la table
        For i = 1 To dt.Columns.Count - 1
            's'il y a une liaison vers une autre table
            'on crée une ComboBox
            If Me.A_une_Liaison(i) Then
                Me.Création_ComboBox(i)
            Else
                'sinon on crée une TextBox
                Me.Création_TextBox(dt.Columns(i).DataType.Name, i)
            End If
        Next
    End Sub

    Private Sub Création_ComboBox(ByVal i As Integer)
        Dim cb As New ComboBox()

        'on ajuste la taille des TBs avec la plus grande chaine de la liste
        cb.Size = New Size(140 + 10 * Me.Renvoyer_Le_Plus_Grand_Nombre_De_Caractères, 23)
        cb.Location = New System.Drawing.Point(250, i * 40)
        cb.Name = "TB" & i
        cb.TabIndex = i
        cb.DropDownStyle = ComboBoxStyle.DropDownList
        Me.Controls.Add(cb)
        Me.Col_Control_Créés.Add(cb)
    End Sub

    Private Sub Création_TextBox(ByVal Type As String, ByVal i As Integer)
        Dim tb As New TextBox()

        'on ajuste la taille des TBs avec la plus grande chaine de la liste
        tb.Size = New Size(140 + 10 * Me.Renvoyer_Le_Plus_Grand_Nombre_De_Caractères, 23)
        tb.Location = New System.Drawing.Point(250, i * 40)
        tb.Name = "TB" & i
        tb.TabIndex = i
        Me.Controls.Add(tb)
        Me.Col_Control_Créés.Add(tb)
        Me.cc.Add(Type)
        AddHandler tb.KeyPress, AddressOf TB_KeyPress
    End Sub

    Private Sub Vider_Collection(ByRef col As Collection)
        Dim colNouv As New Collection()
        col = colNouv
    End Sub

    Private Function A_une_Liaison(ByVal IndCol As Integer) As Boolean
        Dim ds As New DataSet()
        Dim DTaSuppr As New DataTable()
        Dim Trouv As Boolean
        Dim i As Integer = 0

        ds = Me.Remplir_Data_Tables
        DTaSuppr = Me.Suppression_DataTable(ds)

        Trouv = False
        'il faut déjà que la propriété soit un numéro
        If CStr(DTaSuppr.Columns(IndCol).ColumnName).Substring(0, 3) = "Num" Then
            'on recherche dans les autres tables,
            'si on a le même nom de propriété que celle sélectionnée
            While i <= ds.Tables.Count - 1 And Not Trouv
                'c'est la colonne de la table sélectionnée
                Dim ColAreg As New DataColumn()
                ColAreg = DTaSuppr.Columns(IndCol)

                'et celle-ci, c'est la première colonne de l'autre table
                Dim dt As New DataTable()
                dt = ds.Tables(i)
                Dim ColVu As New DataColumn()
                ColVu = dt.Columns(0)

                'si elles ont le même nom
                If ColAreg.ColumnName = ColVu.ColumnName Then
                    Trouv = True
                Else
                    i = i + 1
                End If
            End While
        End If

        Return Trouv
    End Function

    Private Function Suppression_DataTable(ByRef ds As DataSet) As DataTable
        Dim Trouv As Boolean
        Dim DTaSuppr As New DataTable()
        Dim i As Integer

        Trouv = False
        'on recherche la DataTable avec le même nom que le champ de la combo
        While i <= ds.Tables.Count - 1 And Not Trouv
            Dim dt As New DataTable()
            dt = ds.Tables.Item(i)
            If Me.CBlistes.SelectedItem = dt.TableName Then
                DTaSuppr = dt
                Trouv = True
            Else
                i = i + 1
            End If
        End While
        'Et on la supprime du DataSet
        ds.Tables.Remove(DTaSuppr)

        'on renvoie la DataTable supprimée du DataSet
        Return DTaSuppr
    End Function

    Private Function Remplir_Data_Tables() As DataSet
        Dim i As Integer
        Dim ds As New DataSet()
        Dim dad As New OleDbDataAdapter()
        Dim connex As New OleDbConnection(Me.StrConnection)

        'pour chaque nom de table
        For i = 0 To Me.CBlistes.Items.Count - 1
            'on crée une requête SQL qui sélectionne l'ensemble des champs de la table
            Dim str As String = "SELECT * FROM " & Me.CBlistes.Items.Item(i)
            'on crée un objet Command qui exécute la requête
            dad.SelectCommand = New OleDbCommand(str, connex)
            Dim dt As New DataTable(Me.CBlistes.Items.Item(i))
            'en créant une DataTable, on peut la remplir avec les résultats de la requête
            dad.Fill(dt)
            'on ajoute cette DataTable au DataSet
            ds.Tables.Add(dt)
        Next

        Return ds
    End Function

    Private Sub TB_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
        'selon l'index du controle en question, on peut savoit le type de données dans la collection lui appartenant
        Select Case CStr(Me.cc.Item(CType(sender, TextBox).TabIndex)).ToUpper
            Case "DATETIME"
                'si on ne met les caractères pour la date, alors on ne peut pas écrire
                If Not e.KeyChar.IsNumber(e.KeyChar) AndAlso e.KeyChar <> "/" Then
                    e.Handled = True
                End If
            Case "INT32"
                'si on ne met pas de valeur numérique, on ne peut pas écrire
                If Not e.KeyChar.IsDigit(e.KeyChar) Then
                    e.Handled = True
                End If
            Case "DOUBLE"
                'si on a autre chose que des réels, on ne peut pas écrire
                If Not e.KeyChar.IsNumber(e.KeyChar) Then
                    e.Handled = True
                End If
            Case "STRING"
                'si on a un caractère de ponctuation, on ne peut pas le mettre
                If e.KeyChar.IsPunctuation(e.KeyChar) Then
                    e.Handled = True
                End If
        End Select
    End Sub
End Class

 Conclusion

désolé, pour l'instant je n'ai pas le zip et l'exe.....
c'est pour bientôt!!!


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) DECOUPEUR FUSIONNEUR DE FICHIERS
Source avec Zip Source .NET (Dotnet) AFFICHAGE D'UNE BASE DE DONNÉES DANS UN TREE VIEW
Source avec Zip Source .NET (Dotnet) DÉCRYPTEUR DE FICHIER EN HEXA ET RECOMPILATION AVEC SON EXTE...
Source avec Zip GESTION DES DONNÉES D'UN LYCÉE
Source avec Zip UNE GESTION D'UN CLUB DE SPORT

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

Commentaires et avis

Commentaire de blissdumpweed le 17/05/2004 15:35:07

C'est pas con du tout comme système. J'ai pas regardé le code mais rien que le concept est intéressant et logique !
J'aime bien.
8/10 en aveugle...

Commentaire de ivanoff1 le 17/05/2004 16:00:58

merci de mettre cette note en aveugle!!!!

Commentaire de riverdance le 01/07/2004 18:14:22

j'ai voulu te donner 10/10 en aveugle moi aussi mais helas je suis tombe sur 5/10 je suis sincerement desole et merci d'avance et de marche arriere pour votre cooperation

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales