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 :

Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonsoir a tous,

    Ma petite application (a base d'un formulaire d'enregistrement et d'un formulaire de lecture) affiche un certain nombre de données.
    Ces données sont enregistrées dans une base de donnée Access.

    J'arrive à enregistrer, lire, me déplacer dans mes enregistrements.
    Maintenant, je souhaite à partir d'une form effectuer une recherche dans ma BD et afficher le résultat dans le formulaire de lecture.

    Pour le dire simplement, je souhaite que mon formulaire de lecture se positionne sur l'enregistrement que je recherche. La valeur cherchée sera noté dans un textbox du formulaire de recherche.

    Je n'arrive pas à trouver le moyen de réaliser cette opération (je connais très mal les requetes SQL)
    Si quelqu'un pouvait me donner le début d'une piste...

    En vous remerciant pour votre aide.
    Cordialement.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    Voici le principe de base, pour lire un base Access avec une requête SQL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Using connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;")
        Using command = New OleDbCommand("SELECT A, B, C FROM Table WHERE X=?", connection)
            command.Parameters.AddWithValue("X", "Search")
            connection.Open()
            Dim reader = command.ExecuteReader()
            While reader.Read()
                Console.WriteLine(reader.GetString(0))
                Console.WriteLine(reader.GetInt32(1))
                Console.WriteLine(reader.GetDateTime(2))
            End While
        End Using
    End Using
    Si tu ne connais pas le SQL, je te suggère d'ouvrir des tutoriels.
    Te former est quelque chose que personne ne pourra faire à ta place.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonjour,
    Malgré les conseil de Popo, je n'arrive pas à avancer sur mon petit projet.
    Pour rappel : Une fenêtre contient un textbox dans lequel on écrit le nom a rechercher et un bouton "recherche " qui doit ouvrir un formulaire et afficher l'ensemble des informations contenu dans la BD Access.

    Voici le code utilisé, mail il me renvoi une erreur.
    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
        Private Sub Btn_Recherche_Click(sender As Object, e As EventArgs) Handles Btn_Recherche.Click
     
            Dim recherche As New OleDbCommand
            Dim Rois As New OleDbConnection
            Rois.Open()
     
            Rois.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            recherche.CommandText = "select * from TableRois where Nom = '" & TxtBox_Nom.Text & "'"
            recherche.Connection = Rois
            Dim nomtrech As OleDbDataReader = recherche.ExecuteReader
            If nomrech.Read = True Then
                RoisLectureForm.Show()
     
            End If
     
     
        End Sub
    Si quelqu'un pouvait me donnée des pistes ...
    Bien cordialement.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    Citation Envoyé par Christian8021 Voir le message
    Voici le code utilisé, mail il me renvoi une erreur
    .
    La moindre des choses aurait été de fournir cette erreur.

    Bon, ici, c'est flagrant mais penses-y la prochaine fois. Tu ouvres la connexion avant de lui fournir la chaîne de connexion.

    Je t'ai donné un code fonctionnel et sécurisé où il suffisait de changer la requête et le chemin vers la base. C'est si compliqué de faire un copier coller ?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonjour Popo,
    Effectivement, j'ai été un peu trop rapide pour poster le message. J'ai procédé à un copier-coller et remplacé par mes éléments.
    Voici le code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Using connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb;Persist Security Info=False;")
                Using command = New OleDbCommand("SELECT * FROM Table WHERE Nom='" & TxtBox_Nom.Text & "'", connection)
                    command.Parameters.AddWithValue("Nom", "Search")
                    connection.Open()
                    Dim reader = command.ExecuteReader()
                    While reader.Read()
                        Console.WriteLine(reader.GetString(0))
                        Console.WriteLine(reader.GetInt32(1))
                        Console.WriteLine(reader.GetDateTime(2))
                    End While
                End Using
            End Using
    Cela me renvoi une erreur de type :
    'Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans System.Data.dll
    Informations supplémentaires : Syntax error in FROM clause.'

    Ensuite j'ai adapté tes remarques à mon propre code et cela fonctionne... (presque bien) puis que mon formulaire de lecture s'affiche.
    Néanmoins, c'est le premier enregistrement qui s'affiche et non l'enregistrement demandé dans le textbox_Nom.text.

    Je pense zapper quelque chose ou une erreur que je n'arrive pas a voir, dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim recherche As New OleDbCommand
            Dim Rois As New OleDbConnection
            Rois.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            Rois.Open()
            recherche.CommandText = "select * from TableRois where Nom = '" & TxtBox_Nom.Text & "'"
            recherche.Connection = Rois
            Dim nomrech As OleDbDataReader = recherche.ExecuteReader
            If nomrech.Read = True Then
                RoisLectureForm.Show()
            End If
        End Sub
    Puis-je encore te demander conseil?

    Cordialement

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    Le premier code que tu montres, est celui que je t'ai fourni et que tu as modifié.
    Et les modifications que tu as apportés montrent que tu n'a pas pris la peine de le décortiquer, et encore moins pris le temps de te documenter un minimum.

    Le moins grave est l'étoile que tu as placé à la place de la liste des colonnes.
    Tu ramènes des informations dont tu n'as pas forcément besoin, sans parler du fait que tu ne maîtrise pas l'ordre dans lequel tes colonnes apparaissent.

    Ensuite, tu as supprimé le paramètre de la requête en faisant une concaténation (ligne 2).
    Et du coup, la prise en compte de ce paramètre (ligne 3) ne sert plus à rien.
    Tu as donc enlevé la sécurité contre l'injection SQL.

    Enfin, tu n'a pas pris la peine de modifier le nom de la table.
    D'où l'erreur de syntaxe sur la clause FROM.

    Le second code souffre également de la faille de sécurité sur l'injection SQL.
    Comme cela est fait je peux supprimer ta table en tapant ceci dans TxtBox_Nom :
    ' or 1=1; drop table tablerois; SELECT * FROM MSysObjects where name='.
    Je te suggère fortement de faire une requête paramétrée comme dans mon exemple.

    Sauf que ce code n'a aucun impact sur ce qui se passe dans ta fiche.
    S'il y a une ligne tu te contentes d'afficher la fiche.
    Mais on ne sais pas ce que tu fais dans cette fiche.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonjour Popo,

    Merci de tes retours.

    J'ai continuer à creuser de mon coté afin de trouver des pistes et j'ai réussi, en passant par un datagridview, a afficher un enregistrement via une recherche.
    Maintenant, je dois trouver le moyen d'afficher cette sélection dans mon formulaire de lecture. A ce niveau je "pèche" un peu.

    Voici le code de ma requête, qui affiche le résultat dans le datagridview1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim cn As New OleDb.OleDbConnection
    Dim cmd As New OleDb.OleDbCommand
    Dim da As New OleDb.OleDbDataAdapter
    Dim dt As New DataTable
     
            cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            cn.Open()
            da = New OleDb.OleDbDataAdapter("SELECT * from TableRois WHERE Nom = '" & TxtBox_Nom.Text & "'", cn)
            dt.Clear()
            da.Fill(dt)
            DataGridView1.DataSource = dt
     
        End Sub
    Pour l'instant c'est une recherche basique qui ne prend pas en compte les doublons, et ne gère pas les erreurs (Fautes, inexistence etc...), mlais pour l'instant cela suffit.

    Quel serait la piste a creuser pour terminer cette partir "Recherche".

    Merci d'avance.
    Bien à toi.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 611
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 611
    Par défaut
    ton datatable dt possède les données issues de la recherche, il suffit de la parcourir et affecter à ton formulaire les bonnes colonnes

  9. #9
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    La ligne 12 de code montre que tu fournis une source de données à ta grille.
    C'est de cette manière qu'elle est capable d'afficher les données.

    Tu as su qu'il fallait fournir une source de données à ta grille.
    Mais pourtant, tu ne fais rien de cette source de données lorsqu'il s'agit d'afficher ta fiche sensée afficher les données.

    Au passage, tu as encore une faille de sécurité à l'injection SQL.

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 611
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 611
    Par défaut
    @popo Je crois que le code que tu avais donné ne devrait pas bien marcher. Quand on utilise les ? dans la requêtes, le paramètre n'est pas nommé, donc il faut passer par command.Parameters.Add(value).
    Avec plusieurs emplacements de valeurs (via les ?) dans la requête, c'est l'ordre d'ajout du paramètre qui définit la correspondance de substitution

    https://learn.microsoft.com/en-us/do...r-placeholders

    Ce qui fait que pour sécuriser ici la requête:
    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
     
    Dim cn As New OleDb.OleDbConnection
    Dim cmd As New OleDb.OleDbCommand
    Dim da As New OleDb.OleDbDataAdapter
    Dim dt As New DataTable
     
            cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            cn.Open()
            da = New OleDb.OleDbDataAdapter("SELECT * from TableRois WHERE Nom = ?", cn)
            da.Parametres.Add(TxtBox_Nom.Text)
            dt.Clear()
            da.Fill(dt)
            DataGridView1.DataSource = dt
     
        End Sub

  11. #11
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    Cela fait longtemps que je n'ai pas travaillé avec Access (que je ne considère pas comme un vrai SGBD) mais cela devrait fonctionner.
    Je constate toutefois que j'ai oublié l'arobase.
    Même la doc que tu mentionnes nomme bien le paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    selectCMD.Parameters.Add(  
      "@CountryRegion", OleDbType.VarChar, 15).Value = "UK";

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 611
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 611
    Par défaut
    mince, au temps pour moi, j'ai dû lire un peu de travers.
    Cependant, c'est l'ordre de l'ajout qui fait foi dans le cas d'utilisation du ?.
    En y repensant, le nommage de la variable doit permettre de mettre facilement à jour la valeur des variables dans le cas d'utilisation dans une boucle.

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonsoir,
    Merci de prendre de votre temps pour me guide.
    Suit à ton retour, je t'avoue que je suis un peu perdu.

    Citation Envoyé par umfred Voir le message
    ton datatable dt possède les données issues de la recherche, il suffit de la parcourir et affecter à ton formulaire les bonnes colonnes
    Dans mon formulaire de recherche, ce code affiche le resultat recherché et selection la ligne entiere.
    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
     
        Private Sub Btn_Recherche_Click(sender As Object, e As EventArgs) Handles Btn_Recherche.Click
     
            Dim cn As New OleDb.OleDbConnection
            Dim cmd As New OleDb.OleDbCommand
            Dim da As New OleDb.OleDbDataAdapter
            Dim dt As New DataTable
     
            cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            cn.Open()
            da = New OleDb.OleDbDataAdapter("SELECT Nom from TableRois WHERE Nom = '" & TxtBox_Nom.Text & "'", cn)
            dt.Clear()
            da.Fill(dt)
            DataGridView1.DataSource = dt
            Dim IndexLigne As Integer
            Dim IndexColonne As Integer
            For IndexLigne = 0 To DataGridView1.Rows.Count - 2 ' -2 si existe ligne vierge au bas du DGV
                For IndexColonne = 0 To DataGridView1.Columns.Count - 1
                    DataGridView1.Item(IndexColonne, IndexLigne).Selected = True
                Next
            Next
        End Sub
    Maintenant je cherche a faire afficher cette ligne dans mon formulaire de lecture qui possède les textbox via un bouton de commande "Afficher", qui doit appeler le formulaire de lecture et remplir les textbox avec les donnée trouvées.
    J'ai essayé ce code, sans succés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Private Sub Btn_Afficher_Click(sender As Object, e As EventArgs) Handles Btn_Afficher.Click
            'Affichage de l'enregistrement trouvé dans le formulaire Rois Lecture
            Dim dt As New DataTable
            If (dt.Rows.Count > 0) Then
     
                RoisLectureForm.NomTextBox.Text = dt.Rows(0).Item(0)
                '......
            End If
            RoisLectureForm.Show()
            Me.Close()
        End Sub
    A noter que ce formulaire de lecture sert à parcourir mes enregistrement de ma BD via un databinding.

    En vous remerciant par avance de la moindre aide que vous pourriez m'apporter.

    Cordialement

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 611
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 611
    Par défaut
    Citation Envoyé par Christian8021 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Private Sub Btn_Afficher_Click(sender As Object, e As EventArgs) Handles Btn_Afficher.Click
            'Affichage de l'enregistrement trouvé dans le formulaire Rois Lecture
            Dim dt As New DataTable
            If (dt.Rows.Count > 0) Then
     
                RoisLectureForm.NomTextBox.Text = dt.Rows(0).Item(0)
                '......
            End If
            RoisLectureForm.Show()
            Me.Close()
        End Sub
    Euh dans ce code, tu créés un nouveau DataTable (ligne 4), donc vide (donc contient 0 lignes). Comment veux-tu pouvoir afficher le résultat de ton autre requête/DataTable ainsi ???

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut [Débutant] Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonsoir,

    Avec ce code, ma selection s'affiche dans un textbox que j'ai mis dans ma fenêtre(pour test) de recherche (sous mon datagridview).
    Mais lorsque je souhaite que ma recherche s'affiche dans le formulaire de lecture "RoisLectureForm.NomTextBox.Text = dt.Rows(0).Item(0)", celle-ci s'ouvre sur le premier enregistrement.
    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
     
        Private Sub Btn_Recherche_Click(sender As Object, e As EventArgs) Handles Btn_Recherche.Click
     
            Dim cn As New OleDb.OleDbConnection
            Dim cmd As New OleDb.OleDbCommand
            Dim da As New OleDb.OleDbDataAdapter
            Dim dt As New DataTable
     
            cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Rois.accdb"
            cn.Open()
            da = New OleDb.OleDbDataAdapter("SELECT Nom from TableRois WHERE Nom = '" & TxtBox_Nom.Text & "'", cn)
            dt.Clear()
            da.Fill(dt)
            DataGridView1.DataSource = dt
            Dim IndexLigne As Integer
            Dim IndexColonne As Integer
            For IndexLigne = 0 To DataGridView1.Rows.Count - 2 ' -2 si existe ligne vierge au bas du DGV
                For IndexColonne = 0 To DataGridView1.Columns.Count - 1
                    DataGridView1.Item(1, 0).Selected = True
                Next
            Next
            TextBox1.Text = dt.Rows(0).Item(0)
            RoisLectureForm.NomTextBox.Text = dt.Rows(0).Item(0)
            RoisLectureForm.Show()
        End Sub
    Je suppose que c'est parce que mon formulaire de lecture est connecté a un bindingsource qui est chargé lors de l'ouverture de cette fenêtre et qui me sert à me déplacer dans la BD

    N'est-il pas possible d'effectuer une recherche dans la BD et déplacer le bindingsource afin qu'il se positionne sur l'enregistrement recherché?.

    Cordialement.

  16. #16
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonjour,

    J'ai travaillé un peu sur une autre piste, qui me semble être prometteuse dans la résolution de mon problème.

    J'ai créé une "form" supplémentaire (Recherche) dans laquelle j'ai inséré un "datagridview" et trois "textbox" (ID, Nom, Surnom) accompagner de leur bouton servant à lancer une requête (requête établie via le concepteur de requête (Roisdataset1.xsd)dont voici le 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
     
        Private Sub Recherche_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: cette ligne de code charge les données dans la table 'RoisDataSet1.TableRois'. Vous pouvez la déplacer ou la supprimer selon les besoins.
            Me.TableRoisTableAdapter1.Fill(Me.RoisDataSet1.TableRois)
     
        End Sub
    '----------------------------
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Btn_Searchid.Click
            Me.TableRoisTableAdapter1.searchid(Me.RoisDataSet1.TableRois, TextBox_ID.Text)
        End Sub
     
        Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
            Me.TableRoisTableAdapter1.searchName(Me.RoisDataSet1.TableRois, TextBox_Nom.Text)
        End Sub
    Toute mes colonnes (21) sont bien affichées dans le datagridview.
    Ensuite je prend la valeur des textbox (Id ou Nom...) et appelle ma form dédiée à la lecture globale des informations contenu (RoisLectureForm) qui elle contient les 21 textboxes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Private Sub LectureRecherche_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            NomTextBox.Text = Recherche.TextBox_Nom.Text
        End Sub
    Question : Comment afficher les valeurs de mes 21 colonnes de mon datagridview et remplir les 21 textbox de ma form "LectureRecherche"

    En espérant avoir pu être claire dans mes explications.

    Bien cordialement.

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 40
    Par défaut Effectuer une recherche et afficher l'enregistrement souhaité dans un formulaire
    Bonjour a tous et particulièrement a ceux qui m'ont fournis des pistes de réponses.

    Je clôture ce post car j'ai trouvé la solution a mon problème qui était d'effectuer une recherche dans une BD Access puis d'afficher le résultat dans une form dédiée.

    Passez d'excellentes fêtes de fin d'année.
    Cordialement.

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 20/11/2013, 15h43
  2. Réponses: 6
    Dernier message: 07/08/2013, 13h18
  3. liste deroulante pour effectuer une recherche
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/04/2006, 10h27
  4. Effectuer une recherche avec jEdit
    Par lyon72 dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 3
    Dernier message: 04/04/2006, 19h44
  5. une requete effectuant une recherche sur tous les champs
    Par raynor911 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2006, 16h06

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