Llamar una tabla desde un combobox

Por todo me ha servido de mucha ayuda tus respuestas.

Ahora te tengo una nueva consulta.

Quisiera llamar una tabla de sql server desde un combobox, por ejemplo:

Cuando este posicionado en el combobox quisiera pulsar la tecla F4 y que automáticamente este me tira la tabla donde aparecen las opciones del combobox.

1 respuesta

Respuesta
1

¿Y qué dato tiene el ComboBox?

El nombre de la tabla, el campo... ¿qué cosa?

La tabla que quiero llamar es la de países

Como te decía anteriormente estoy trabajando con combobox en donde me aparece un numero y textbox donde me aparece la descripción, según el numero que elija, entonces lo que necesito es que cuando este posicionado en el combobox me aparezca una ventana donde este la tabla de los países, también quisiera ver si se puede especificar las columnas que se puedan ver en la tabla.

Sigo sin entender, para que mostrar la tabla países en otra ventana cuando lo puedes mostrar como contenido del ComboBox.

Creo (por lo que entiendo) que tienes una mala práctica.

El ComboBox se llena así:

ComboBox1.DataSource = DataTable

ComboBox1.DisplayMember = "CampoDescripcionDelPais"

ComboBox1.ValueMember = "CampoIdPais"

Con esto, muestras por ejemplo Alemania, pero cuando haces un SelectedValue, obtienes el número que identifica a Alemania.

Me comentas.

Mira, lo que pasa es que a mi están solicitando este procedimiento.

Actualmente tenemos un programa parecido y funciona de la siguiente manera

Cuando estamos posicionados en el combobox, el cual contiene los números de los países, (solo números) es decir cada país esta identificado con numero "1 es Guatemala, 2 es Mexico y así sucesivamente y a la par en un textbox aparece la descripción, entonces cuando estamos posicionados en el combobox podemos elegir un numero y a la par nos aparece la descripción pero eso es cuando sabemos el numero que corresponde al país, es por eso que yo quiero hacer que cuando este en el combobox también pueda llamar la tabla que tiene los países.

La tabla esta en la base de datos de sql y se llama "PAÍSES"

No se si ahora me pude explica y perdona por tanta preguntadera.

También lo hacemos de esa manera por que al momento que insertamos los datos en la base de datos para guardar solo pega el numero,

Es por eso que te digo que puedes mejorarlo, lo que tu haces es (o estaba echo en el otro programa) es algo malo, es decir, arcaico, estar poniendo números o buscar de una lista, y de más.

¿No es preferible que aparezca el nombre del País directamente y tu ya sabes cual es el número del país?

Para el usuario del programa es más fácil buscar el nombre del país directamente en el combo, sin pasar por otra pantalla o esperar que le aparezca en el TextBox.

Ponme aquí la forma con la que llenas el combo en este momento, y yo te diré como llenarlo con los nombres y como obtener el número de la selección.

Tu programa quedará 100% más amigable.

Private Sub FormCarCap_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LlenaComboBox()
End Sub
Private Sub LeeDatos()
Dim oPaisDs As New DataSet
Dim oPaisDA As New SqlDataAdapter("Select * from PAÍSES", cnnConexion)
oPaisDA.Fill(oPaisDs, "País")
End Sub
Private Sub LlenaComboBox()
Dim oPaisDs As New DataSet
Dim oPaisDA As New SqlDataAdapter("Select * from PAÍSES", cnnConexion)
oPaisDA.Fill(oPaisDs, "País")
oPaisDA = Nothing
CbPaiCod.DataSource = oPaisDs.Tables("País")
CbPaiCod.DisplayMember = "PaiNombr"
CbPaiCod.ValueMember = "PaiCod"
End Sub
Private Sub CargaDatos(ByVal Id As String)
sqlCadena = "SELECT * FROM PAÍSES " & _
"WHERE PaiCod "
Dim oPaisDs As New DataSet
Dim oPaisDA As New SqlDataAdapter(sqlCadena, cnnConexion)
End Sub
Private Sub CbPaiCod_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CbClPaiCod.Leave
TxtPaiCod.Text = CbPaiCod.SelectedValue
CargaDatos(CbPaiCod.Text)
End Sub

Con estos códigos yo hago lo que te explicaba, entonces yo quisiera hacer lo otro también, por que no es que yo quisiera sino que me lo están solicitando.

Te entiendo, bueno, lo que tienes que hacer es llenar un DataGridView para mostrar lo que te resulte del Select que pones en el DataSet.

Y como lo hago hay que hacer un formulario o que por que no tengo experiencia en esto

Depende del espacio, si puedes lo haces en la misma ventana, si no en otra.

Pones el DataGridView y el DataSource lo pones con el DataSet que obtiene el Select de los países.

Si lo haces en otra ventana, te dejo como pasar los datos o la selección a la otra:

http://ltuttini.blogspot.com/2009/09/c-comunicar-formularios-de-forma.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas