Ordenar consultas SQL en ComboBox
Publicado por Mark (4 intervenciones) el 19/12/2016 20:07:39
Hola a todos!!
Hace unos días que estoy intentando hacer lo siguiente en dos ComboBox:
Deseo recuperar datos de un servidor MySQL y cargarlos a dos ComboBox, uno será el llamado ID y el otro será el llamado Nombre. Por ejemplo, yo tengo en una tabla SQL los siguientes registros:
ID-------Nombre
1--------Pablo
2--------David
3--------Antonio
4--------Marcos
5--------Laura
Bien, este no es el problema. El problema viene cuando lo que quiero hacer es que los datos que se cargan en los ComboBox estén AMBOS ordenados alfabéticamente,y que al elegir, por ejemplo, el número 1, en el otro comboBox se muestre el nombre "Pablo". De la misma forma, Si escojo el nombre "Antonio", se deberá mostrar el número 3 en combobox que señala los ID.
Para que os hagáis una idea, los combobox deberán estar ordenados de esta forma:
El combobox de ID: 1, 2, 3, 4, 5
El combobox de nombre: Antonio, David, Laura, Marcos, Pablo
Ahora bien, como dije, yo tengo una parte del codigo escrito, pero lo único que hace es cargar los datos y ordenarlos solamente según el ID, no el nombre. Os lo dejo por aqui por si os sirve de algo.
Creo que no se me olvida nada más, cualquier cosa no tenéis nada más que decirmelo.
Muchas gracias de antemano a todos!
Hace unos días que estoy intentando hacer lo siguiente en dos ComboBox:
Deseo recuperar datos de un servidor MySQL y cargarlos a dos ComboBox, uno será el llamado ID y el otro será el llamado Nombre. Por ejemplo, yo tengo en una tabla SQL los siguientes registros:
ID-------Nombre
1--------Pablo
2--------David
3--------Antonio
4--------Marcos
5--------Laura
Bien, este no es el problema. El problema viene cuando lo que quiero hacer es que los datos que se cargan en los ComboBox estén AMBOS ordenados alfabéticamente,y que al elegir, por ejemplo, el número 1, en el otro comboBox se muestre el nombre "Pablo". De la misma forma, Si escojo el nombre "Antonio", se deberá mostrar el número 3 en combobox que señala los ID.
Para que os hagáis una idea, los combobox deberán estar ordenados de esta forma:
El combobox de ID: 1, 2, 3, 4, 5
El combobox de nombre: Antonio, David, Laura, Marcos, Pablo
Ahora bien, como dije, yo tengo una parte del codigo escrito, pero lo único que hace es cargar los datos y ordenarlos solamente según el ID, no el nombre. Os lo dejo por aqui por si os sirve de algo.
1
Imports MySql.Data.MySqlClient
1
2
3
Private MysqlCnn As New MySqlConnection
Dim ds As New DataSet
Dim da As MySqlDataAdapter
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
Dim conexion As String = "server=localhost;database=clientes;user id=;port=3306;"
Dim conn As New MySqlConnection(conexion)
Dim Strsql As String
Strsql = "SELECT * FROM tb_clientes ORDER BY id"
da = New MySqlDataAdapter(Strsql, conn)
ds = New DataSet
Try
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = "id"
'"id" es el campo que quiero que muestren el combobox al ejecutar la aplicacion
ComboBox1.ValueMember = "id"
ComboBox2.DataSource = ds.Tables(0)
ComboBox2.DisplayMember = "nombre"
'"nombre" es el campo que quiero que muestren el combobox al ejecutar la aplicacion
ComboBox2.ValueMember = "nombre"
Catch ex As MySqlException
'MsgBox(ex.Message.ToString)
MsgBox("Error", MsgBoxStyle.Critical, "Error")
End Try
Creo que no se me olvida nada más, cualquier cosa no tenéis nada más que decirmelo.
Muchas gracias de antemano a todos!
Valora esta pregunta
0