SQL, Combobox et lecture dans des textbox vb.net 2015 vb
Fermé
JSB-24270
Messages postés
24
Date d'inscription
jeudi 26 mars 2020
Statut
Membre
Dernière intervention
9 mai 2020
-
8 avril 2020 à 19:40
yg_be Messages postés 23310 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 novembre 2024 - 9 avril 2020 à 21:35
yg_be Messages postés 23310 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 novembre 2024 - 9 avril 2020 à 21:35
A voir également:
- SQL, Combobox et lecture dans des textbox vb.net 2015 vb
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Confirmation de lecture whatsapp - Guide
- Accusé de lecture gmail - Guide
- Real football 2015 - Télécharger - Jeux vidéo
6 réponses
yg_be
Messages postés
23310
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 novembre 2024
Ambassadeur
1 551
8 avril 2020 à 20:49
8 avril 2020 à 20:49
bonjour, comment se comporte le programme que tu nous montres?
Utilisateur anonyme
8 avril 2020 à 20:57
8 avril 2020 à 20:57
Bonsoir
tout d'abord, voici un petit tuto pour bien utiliser les balises de code en postant sur le forum
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, pour ton problème, une solution consiste à profiter de VB.Net pour ce qu'il est, à savoir un langage objet pensé pour la liaison de données (binding)
Ce que tu as codé est ce qu'on aurait fait avec du VB6 ou du VBA.
En .Net Winform (je suppose que tu ne fais de WPF), la plupart des controles sont prévu pour le binding. C'est à dire, que le contrôle ne stocke pas les données, il ne sert que d'intermédiaire entre l'utilisateur et la source de données.
Voici un petit tuto sur le sujet https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource je n'y ai pas parlé de comboxbox, mais il fonctionne à peu près comme la listbox.
Si à la lecture du tuto, tu souhaites appliquer cette solution, je te guiderai au mieux que je peux.
Si tu souhaites continuer à "l'ancienne", il faudra attendre un autre bénévole, car je n'ai plus l'habitude et l'envie depuis longtemps de faire ainsi
tout d'abord, voici un petit tuto pour bien utiliser les balises de code en postant sur le forum
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, pour ton problème, une solution consiste à profiter de VB.Net pour ce qu'il est, à savoir un langage objet pensé pour la liaison de données (binding)
Ce que tu as codé est ce qu'on aurait fait avec du VB6 ou du VBA.
En .Net Winform (je suppose que tu ne fais de WPF), la plupart des controles sont prévu pour le binding. C'est à dire, que le contrôle ne stocke pas les données, il ne sert que d'intermédiaire entre l'utilisateur et la source de données.
Voici un petit tuto sur le sujet https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource je n'y ai pas parlé de comboxbox, mais il fonctionne à peu près comme la listbox.
Si à la lecture du tuto, tu souhaites appliquer cette solution, je te guiderai au mieux que je peux.
Si tu souhaites continuer à "l'ancienne", il faudra attendre un autre bénévole, car je n'ai plus l'habitude et l'envie depuis longtemps de faire ainsi
Bonjour.
La connection SQL se fait bien avec la BD, et la table sélectionnée s'affiche dans ma combobox
mais je ne sais pas comment faire pour que lorsque je sélectionne un item, ma sélection affiche dans mes textbox les données sélectionnées correspondantes.
Dans ma combobox je fais afficher les champs nom, prénom et date de naissance afin d'avoir un aperçu précis de ma demande.
J'espère avoir été clair, ( ce n'est pas toujours le cas ).
La connection SQL se fait bien avec la BD, et la table sélectionnée s'affiche dans ma combobox
mais je ne sais pas comment faire pour que lorsque je sélectionne un item, ma sélection affiche dans mes textbox les données sélectionnées correspondantes.
Dans ma combobox je fais afficher les champs nom, prénom et date de naissance afin d'avoir un aperçu précis de ma demande.
J'espère avoir été clair, ( ce n'est pas toujours le cas ).
yg_be
Messages postés
23310
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 novembre 2024
1 551
9 avril 2020 à 08:50
9 avril 2020 à 08:50
je pense alors que tu dois ajouter du code sur un événement de la combobox.
Bonjour yg_be
J'ai déjà fait la manip mais rien n'y fait.
J'ai même fait une imbrication sql pour que le choix soit renvoyé mais rien ne fonctionne.
En PHP c'est simple mais en vb on ne fait pas la même chose.
Je ne trouve pas le moyen y compris sur la toile, dès que je tape VB ou VBA je ne trouve que des liens vers EXCEL ce qui ne correspond pas du tout.
J'ai déjà fait la manip mais rien n'y fait.
J'ai même fait une imbrication sql pour que le choix soit renvoyé mais rien ne fonctionne.
En PHP c'est simple mais en vb on ne fait pas la même chose.
Je ne trouve pas le moyen y compris sur la toile, dès que je tape VB ou VBA je ne trouve que des liens vers EXCEL ce qui ne correspond pas du tout.
yg_be
Messages postés
23310
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 novembre 2024
1 551
9 avril 2020 à 13:54
9 avril 2020 à 13:54
peux-tu montrer le code que tu as fait pour traiter l’événement de la combobox?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici mon code théorique et qui ne fonctionne pas
J'ai tout placé en remarque afin de pouvoir continuer à coder sur d'autre sujets.
J'ai tout placé en remarque afin de pouvoir continuer à coder sur d'autre sujets.
'Dim cb As Integer = ComboBox1.SelectedIndex
'If cb < 1 Then
'cb = 1
'Else
'cb = cb + 1
'End If
'Dim Connexion As New SqlConnection("Data Source=OMNIFAB;Initial Catalog=PERSO;User Id=*******;Password=******")
'Try
'Connexion.Open()
'Catch ex As Exception
'Console.WriteLine(ex.Message)
'End Try
'Dim Req1 As String = "Select * FROM MATABLE WHERE id='" & cb & "' "
' Dim Comm1 As New SqlCommand(Req1, Connexion)
'Comm1.ExecuteNonQuery()
'Dim MonReader1 As SqlDataReader = Comm1.ExecuteReader()
'If MonReader1.Read() Then
'Me.TextBox1.Text = MonReader1("ADS_nom").ToString
'Me.TextBox2.Text = MonReader1("ADS_prenom").ToString
'Me.TextBox3.Text = MonReader1("ADS_fonction").ToString
'Me.TextBox4.Text = MonReader1("ADS_num").ToString
'Me.TextBox5.Text = MonReader1("nom").ToString
'Me.TextBox6.Text = MonReader1("prenom").ToString
'Me.TextBox7.Text = MonReader1("adresse").ToString
'Me.TextBox8.Text = MonReader1("cp").ToString
'Me.TextBox9.Text = MonReader1("ville").ToString
'Me.TextBox10.Text = MonReader1("d_naiss").ToString
'Me.TextBox11.Text = MonReader1("d_lieu").ToString
'Me.TextBox12.Text = MonReader1("natio").ToString
'Me.TextBox13.Text = MonReader1("lieu").ToString
'Me.TextBox14.Text = MonReader1("tel_f").ToString
'Me.TextBox15.Text = MonReader1("tel_p").ToString
'Me.dateInter.Text = MonReader1("dt_arret").ToString
'Me.RichTextBox1.Text = MonReader1("rapport").ToString
'Dim pa As String = My.Application.Info.DirectoryPath
'Dim rp As String = MonReader1("photo").ToString
'rp = Replace(rp, "/", "\")
'PictureBox1.Image = System.Drawing.Image.FromFile(pa & "\" & rp)
'PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
' End If
'MonReader1.Close()
Connexion.Close()
yg_be
Messages postés
23310
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 novembre 2024
1 551
9 avril 2020 à 17:53
9 avril 2020 à 17:53
merci de spécifier "basic" avec les balises de code.
"ne fonctionne pas": message d'erreur? quel est le type du champ id?
as-tu essayé de copier le contenu de Req1, et de l'utiliser en direct sur ta base?
"ne fonctionne pas": message d'erreur? quel est le type du champ id?
as-tu essayé de copier le contenu de Req1, et de l'utiliser en direct sur ta base?
Un grand merci, je suis allé voir et effectivement je fais mon mea-culpa je n'avais pas fait attention.
Pour ce qui est du WPF, je ne connais pas.
Effectivement, je suis en vb et m'étais arrêté au VB6 et après une longue absence ( plus de 10 ans ) j'ai décidé de m'y remettre.
Ceci dit, je n'oublierai pas pour la prochaine fois l'utilisation de la balise de code.
Merci et bonne soirée
Pour ce qui est du WPF, je ne connais pas.
Effectivement, je suis en vb et m'étais arrêté au VB6 et après une longue absence ( plus de 10 ans ) j'ai décidé de m'y remettre.
Ceci dit, je n'oublierai pas pour la prochaine fois l'utilisation de la balise de code.
Merci et bonne soirée
RE.
Je suis quelqu'un de têtu et j'ai trouvé la solution en fouillant un peu partout y compris là ou je n'avais rien à faire.
voici mon code final qui fonctionne très bien voire mieux que prévu puisque j'ai trouvé aussi la possibilité de choix sur 2 items.
"Pour rappel" Je travaille en vb sous visual studio 2015"
DANS LE FORM:
DANS LA SUB DU COMBOBOX:
Voila mon code complet, j'espère qu'il pourra servir à quelqu'un qui a les mêmes soucis.
Cette partie là sert à séparer les 2 items de sélections
Un grand merci.
Je suis quelqu'un de têtu et j'ai trouvé la solution en fouillant un peu partout y compris là ou je n'avais rien à faire.
voici mon code final qui fonctionne très bien voire mieux que prévu puisque j'ai trouvé aussi la possibilité de choix sur 2 items.
"Pour rappel" Je travaille en vb sous visual studio 2015"
DANS LE FORM:
Dim Connexion As New SqlConnection("Data Source=OMNIFAB;Initial Catalog=PERSO;User Id=******;Password=******;")
Try
Connexion.Open()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Dim Req As String = "SELECT * FROM matable"
Dim Comm As New SqlCommand(Req, Connexion)
Comm.ExecuteNonQuery()
Dim MonReader As SqlDataReader = Comm.ExecuteReader()
Do While MonReader.Read()
ComboBox1.Items.Add(MonReader("nom") & " " & MonReader("prenom"))
Loop
DANS LA SUB DU COMBOBOX:
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim van As String
van = ComboBox1.Text
Dim b, c As String
b = Split(van, " ")(0)
c = Split(van, " ")(1)
Dim Connexion As New SqlConnection("Data Source=OMNIFAB;Initial Catalog=PERSO;User Id=******;Password=******;")
Try
Connexion.Open()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' SELECTION DANS LA BD
Dim Req1 As String = "Select * FROM matable WHERE nom='" & b & "' " ' , prenom='" & c & "' "
Dim Comm1 As New SqlCommand(Req1, Connexion)
Comm1.ExecuteNonQuery()
Dim MonReader1 As SqlDataReader = Comm1.ExecuteReader()
' AFFICHAGE DU RESULTAT
If MonReader1.Read() Then
Me.TextBox1.Text = MonReader1("ADS_nom").ToString
Me.TextBox2.Text = MonReader1("ADS_prenom").ToString
Me.TextBox3.Text = MonReader1("ADS_fonction").ToString
Me.TextBox4.Text = MonReader1("ADS_num").ToString
Me.TextBox5.Text = MonReader1("nom")
Me.TextBox6.Text = MonReader1("prenom").ToString
Me.TextBox7.Text = MonReader1("adresse").ToString
Me.TextBox8.Text = MonReader1("cp").ToString
Me.TextBox9.Text = MonReader1("ville").ToString
Me.TextBox10.Text = MonReader1("d_naiss").ToString
Me.TextBox11.Text = MonReader1("d_lieu").ToString
Me.TextBox12.Text = MonReader1("natio").ToString
Me.TextBox13.Text = MonReader1("lieu").ToString
Me.TextBox14.Text = MonReader1("tel_f").ToString
Me.TextBox15.Text = MonReader1("tel_p").ToString
Me.dateInter.Text = MonReader1("dt_arret").ToString
Me.RichTextBox1.Text = MonReader1("rapport").ToString
Dim pa As String = My.Application.Info.DirectoryPath
Dim rp As String = MonReader1("photo").ToString
rp = Replace(rp, "/", "\")
PictureBox1.Image = System.Drawing.Image.FromFile(pa & "\" & rp)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End If
MonReader1.Close()
Connexion.Close()
End Sub
Voila mon code complet, j'espère qu'il pourra servir à quelqu'un qui a les mêmes soucis.
Cette partie là sert à séparer les 2 items de sélections
Dim van As String
van = ComboBox1.Text
Dim b, c As String
b = Split(van, " ")(0)
c = Split(van, " ")(1)
Un grand merci.
yg_be
Messages postés
23310
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 novembre 2024
1 551
9 avril 2020 à 21:35
9 avril 2020 à 21:35
peux-tu alors marquer la discussion comme résolue?