Enlazar un combobox con un textbox

28/08/2006 - 15:25 por Cristian Munoz | Informe spam
Que tal gente, tengo el siguiente problema.

Tengo un formulario un combobox y un textbox. Logre que al cargar el form me
llene con un campo que le mencione el combobox. hasta ahi todo bien. Ahora
lo que quiero hacer es que cuando seleccione un item del combobox me arroje
otro campo que se encuentra en la misma tabla de donde esta recogiendo los
items el combobox.

Me explico en relacion a la base de datos. existe una tabla llamada
clientes, esta tiene un campo llamado rsocial, desde aqui me carga todos los
rsocial que encuentra en el combobox. Existe un campo dentro de esa misma
tabla llamada rut, quiero que al seleccionar algun rsocial de la tabla me
arroje el rut que se encuentra asociado a esa rsocial.

El codigo para poder cargar el combobox es el siguiente.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'crear el dataadapter
Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
OleDbConnection1)
'crear el dataset
Dim dsdatos As New DataSet
'llenar el datatable
dadatos.Fill(dsdatos, "clientes")
cbotodos.DataSource = dsdatos.Tables("clientes")
cbotodos.DisplayMember = dsdatos.Tables("clientes").Columns().ToString
cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
End Sub

El codigo que tengo hecho hasta el momento para que muestre informacion en
el textbox es el siguiente.

Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles cbotodos.Click
Dim dadatos As New OleDbDataAdapter("select rut from clientes where rsocial
= '& cbotodos.Text &'", OleDbConnection1)
Dim dsdatos As New DataSet
dadatos.Fill(dsdatos, "rut")
'aqui no se como poder poner en el textbox lo rescatado por la consulta
End Sub

Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.

Saludos,

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
28/08/2006 - 16:02 | Informe spam
Hola Cristian,

espero no equivocarme, pero creo que podrías utilizar el DataSet igualmente
a como lo haces en el combobox. Eso sería algo así como (espero no
equivocarme):

TextBox1.Text = dsdatos.Tables(0).Rows(0).Item(0).ToString

En el DataSet tienes el dato que quieres y de él debes sacarlo para
indicárselo a la caja de texto.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Cristian Munoz" wrote:

Que tal gente, tengo el siguiente problema.

Tengo un formulario un combobox y un textbox. Logre que al cargar el form me
llene con un campo que le mencione el combobox. hasta ahi todo bien. Ahora
lo que quiero hacer es que cuando seleccione un item del combobox me arroje
otro campo que se encuentra en la misma tabla de donde esta recogiendo los
items el combobox.

Me explico en relacion a la base de datos. existe una tabla llamada
clientes, esta tiene un campo llamado rsocial, desde aqui me carga todos los
rsocial que encuentra en el combobox. Existe un campo dentro de esa misma
tabla llamada rut, quiero que al seleccionar algun rsocial de la tabla me
arroje el rut que se encuentra asociado a esa rsocial.

El codigo para poder cargar el combobox es el siguiente.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'crear el dataadapter
Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
OleDbConnection1)
'crear el dataset
Dim dsdatos As New DataSet
'llenar el datatable
dadatos.Fill(dsdatos, "clientes")
cbotodos.DataSource = dsdatos.Tables("clientes")
cbotodos.DisplayMember = dsdatos.Tables("clientes").Columns().ToString
cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
End Sub

El codigo que tengo hecho hasta el momento para que muestre informacion en
el textbox es el siguiente.

Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles cbotodos.Click
Dim dadatos As New OleDbDataAdapter("select rut from clientes where rsocial
= '& cbotodos.Text &'", OleDbConnection1)
Dim dsdatos As New DataSet
dadatos.Fill(dsdatos, "rut")
'aqui no se como poder poner en el textbox lo rescatado por la consulta
End Sub

Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.

Saludos,



Respuesta Responder a este mensaje
#2 Cristian Munoz
28/08/2006 - 16:56 | Informe spam
Estimado, Puse la siguiente linea.


TextBox1.Text = dsdatos.Tables(0).Columns(0).ToString

Al ejecutar en el textbox me puso la palabra rut.

De la manera que me dijiste me lo toma como error de sintaxis.

Saludos,

Me
"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
Hola Cristian,

espero no equivocarme, pero creo que podrías utilizar el DataSet
igualmente
a como lo haces en el combobox. Eso sería algo así como (espero no
equivocarme):

TextBox1.Text = dsdatos.Tables(0).Rows(0).Item(0).ToString

En el DataSet tienes el dato que quieres y de él debes sacarlo para
indicárselo a la caja de texto.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Cristian Munoz" wrote:

Que tal gente, tengo el siguiente problema.

Tengo un formulario un combobox y un textbox. Logre que al cargar el form
me
llene con un campo que le mencione el combobox. hasta ahi todo bien.
Ahora
lo que quiero hacer es que cuando seleccione un item del combobox me
arroje
otro campo que se encuentra en la misma tabla de donde esta recogiendo
los
items el combobox.

Me explico en relacion a la base de datos. existe una tabla llamada
clientes, esta tiene un campo llamado rsocial, desde aqui me carga todos
los
rsocial que encuentra en el combobox. Existe un campo dentro de esa misma
tabla llamada rut, quiero que al seleccionar algun rsocial de la tabla me
arroje el rut que se encuentra asociado a esa rsocial.

El codigo para poder cargar el combobox es el siguiente.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'crear el dataadapter
Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
OleDbConnection1)
'crear el dataset
Dim dsdatos As New DataSet
'llenar el datatable
dadatos.Fill(dsdatos, "clientes")
cbotodos.DataSource = dsdatos.Tables("clientes")
cbotodos.DisplayMember = dsdatos.Tables("clientes").Columns().ToString
cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
End Sub

El codigo que tengo hecho hasta el momento para que muestre informacion
en
el textbox es el siguiente.

Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles cbotodos.Click
Dim dadatos As New OleDbDataAdapter("select rut from clientes where
rsocial
= '& cbotodos.Text &'", OleDbConnection1)
Dim dsdatos As New DataSet
dadatos.Fill(dsdatos, "rut")
'aqui no se como poder poner en el textbox lo rescatado por la consulta
End Sub

Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.

Saludos,



Respuesta Responder a este mensaje
#3 Jorge Serrano [MVP VB]
28/08/2006 - 17:27 | Informe spam
Depende de como pongas los datos en el DataSet.

Presuponiendo que fuera en el DataTable de índice 0 sería como te indico.
Si quieres asegurar y puesto que tu DataSet tiene nombre (rut), puedes
hacerlo así:

TextBox1.Text = dsdatos.Tables("rut").Rows(0).Item(0).ToString

Ante tu pregunta, lo he probado con un código mío y me ha funcionado.

Ya me dirás que tal a ver. :-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Cristian Munoz" wrote:

Estimado, Puse la siguiente linea.


TextBox1.Text = dsdatos.Tables(0).Columns(0).ToString

Al ejecutar en el textbox me puso la palabra rut.

De la manera que me dijiste me lo toma como error de sintaxis.

Saludos,

Me
"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
> Hola Cristian,
>
> espero no equivocarme, pero creo que podrías utilizar el DataSet
> igualmente
> a como lo haces en el combobox. Eso sería algo así como (espero no
> equivocarme):
>
> TextBox1.Text = dsdatos.Tables(0).Rows(0).Item(0).ToString
>
> En el DataSet tienes el dato que quieres y de él debes sacarlo para
> indicárselo a la caja de texto.
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Cristian Munoz" wrote:
>
>> Que tal gente, tengo el siguiente problema.
>>
>> Tengo un formulario un combobox y un textbox. Logre que al cargar el form
>> me
>> llene con un campo que le mencione el combobox. hasta ahi todo bien.
>> Ahora
>> lo que quiero hacer es que cuando seleccione un item del combobox me
>> arroje
>> otro campo que se encuentra en la misma tabla de donde esta recogiendo
>> los
>> items el combobox.
>>
>> Me explico en relacion a la base de datos. existe una tabla llamada
>> clientes, esta tiene un campo llamado rsocial, desde aqui me carga todos
>> los
>> rsocial que encuentra en el combobox. Existe un campo dentro de esa misma
>> tabla llamada rut, quiero que al seleccionar algun rsocial de la tabla me
>> arroje el rut que se encuentra asociado a esa rsocial.
>>
>> El codigo para poder cargar el combobox es el siguiente.
>>
>> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
>> System.EventArgs) Handles MyBase.Load
>> 'crear el dataadapter
>> Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
>> OleDbConnection1)
>> 'crear el dataset
>> Dim dsdatos As New DataSet
>> 'llenar el datatable
>> dadatos.Fill(dsdatos, "clientes")
>> cbotodos.DataSource = dsdatos.Tables("clientes")
>> cbotodos.DisplayMember = dsdatos.Tables("clientes").Columns().ToString
>> cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
>> End Sub
>>
>> El codigo que tengo hecho hasta el momento para que muestre informacion
>> en
>> el textbox es el siguiente.
>>
>> Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
>> System.EventArgs) Handles cbotodos.Click
>> Dim dadatos As New OleDbDataAdapter("select rut from clientes where
>> rsocial
>> = '& cbotodos.Text &'", OleDbConnection1)
>> Dim dsdatos As New DataSet
>> dadatos.Fill(dsdatos, "rut")
>> 'aqui no se como poder poner en el textbox lo rescatado por la consulta
>> End Sub
>>
>> Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.
>>
>> Saludos,
>>
>>
>>



Respuesta Responder a este mensaje
#4 Cristian Munoz
28/08/2006 - 17:38 | Informe spam
Estimado, al hacer lo que me dijiste me aparece lo siguiente

Additional information: There is no row at position 0.

me da toda la impresion que la consulta que hago para rescatar el rut
asociado a esa rsocial esta mal hecho. Lo peor es que no me tira ningun
error.

Dim dadatos As New OleDbDataAdapter("select rut from clientes where rsocial
= '& cbotodos.Text &'", OleDbConnection1)

Como podria ver la imformacion que esta rescatando?


Saludos, y muchas gracias por todo. Realmente te pasaste.


"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
Depende de como pongas los datos en el DataSet.

Presuponiendo que fuera en el DataTable de índice 0 sería como te indico.
Si quieres asegurar y puesto que tu DataSet tiene nombre (rut), puedes
hacerlo así:

TextBox1.Text = dsdatos.Tables("rut").Rows(0).Item(0).ToString

Ante tu pregunta, lo he probado con un código mío y me ha funcionado.

Ya me dirás que tal a ver. :-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Cristian Munoz" wrote:

Estimado, Puse la siguiente linea.


TextBox1.Text = dsdatos.Tables(0).Columns(0).ToString

Al ejecutar en el textbox me puso la palabra rut.

De la manera que me dijiste me lo toma como error de sintaxis.

Saludos,

Me
"Jorge Serrano [MVP VB]"

escribió
en el mensaje news:
> Hola Cristian,
>
> espero no equivocarme, pero creo que podrías utilizar el DataSet
> igualmente
> a como lo haces en el combobox. Eso sería algo así como (espero no
> equivocarme):
>
> TextBox1.Text = dsdatos.Tables(0).Rows(0).Item(0).ToString
>
> En el DataSet tienes el dato que quieres y de él debes sacarlo para
> indicárselo a la caja de texto.
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Cristian Munoz" wrote:
>
>> Que tal gente, tengo el siguiente problema.
>>
>> Tengo un formulario un combobox y un textbox. Logre que al cargar el
>> form
>> me
>> llene con un campo que le mencione el combobox. hasta ahi todo bien.
>> Ahora
>> lo que quiero hacer es que cuando seleccione un item del combobox me
>> arroje
>> otro campo que se encuentra en la misma tabla de donde esta recogiendo
>> los
>> items el combobox.
>>
>> Me explico en relacion a la base de datos. existe una tabla llamada
>> clientes, esta tiene un campo llamado rsocial, desde aqui me carga
>> todos
>> los
>> rsocial que encuentra en el combobox. Existe un campo dentro de esa
>> misma
>> tabla llamada rut, quiero que al seleccionar algun rsocial de la tabla
>> me
>> arroje el rut que se encuentra asociado a esa rsocial.
>>
>> El codigo para poder cargar el combobox es el siguiente.
>>
>> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
>> System.EventArgs) Handles MyBase.Load
>> 'crear el dataadapter
>> Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
>> OleDbConnection1)
>> 'crear el dataset
>> Dim dsdatos As New DataSet
>> 'llenar el datatable
>> dadatos.Fill(dsdatos, "clientes")
>> cbotodos.DataSource = dsdatos.Tables("clientes")
>> cbotodos.DisplayMember = dsdatos.Tables("clientes").Columns().ToString
>> cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
>> End Sub
>>
>> El codigo que tengo hecho hasta el momento para que muestre
>> informacion
>> en
>> el textbox es el siguiente.
>>
>> Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
>> System.EventArgs) Handles cbotodos.Click
>> Dim dadatos As New OleDbDataAdapter("select rut from clientes where
>> rsocial
>> = '& cbotodos.Text &'", OleDbConnection1)
>> Dim dsdatos As New DataSet
>> dadatos.Fill(dsdatos, "rut")
>> 'aqui no se como poder poner en el textbox lo rescatado por la
>> consulta
>> End Sub
>>
>> Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.
>>
>> Saludos,
>>
>>
>>



Respuesta Responder a este mensaje
#5 Cristian Munoz
28/08/2006 - 18:28 | Informe spam
Estimados, me contesto solo a mi problema.

El tema era como yo pensaba. Un problema de sintaxis SQL.

Aqui va la sintaxis correcta.

Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles cbotodos.Click

Dim dadatos As New OleDbDataAdapter("select rut from clientes where rsocial
like '%" & cbotodos.Text & "%'", OleDbConnection1)

Dim dsdatos As New DataSet

dadatos.Fill(dsdatos, "rut")

TextBox1.Text = dsdatos.Tables("rut").Rows(0).Item(0).ToString

End Sub

Como pueden ver la consulta SQL cambio.

Saludos,



"Cristian Munoz" escribió en el mensaje
news:
Estimado, al hacer lo que me dijiste me aparece lo siguiente

Additional information: There is no row at position 0.

me da toda la impresion que la consulta que hago para rescatar el rut
asociado a esa rsocial esta mal hecho. Lo peor es que no me tira ningun
error.

Dim dadatos As New OleDbDataAdapter("select rut from clientes where
rsocial = '& cbotodos.Text &'", OleDbConnection1)

Como podria ver la imformacion que esta rescatando?


Saludos, y muchas gracias por todo. Realmente te pasaste.


"Jorge Serrano [MVP VB]"

escribió en el mensaje
news:
Depende de como pongas los datos en el DataSet.

Presuponiendo que fuera en el DataTable de índice 0 sería como te indico.
Si quieres asegurar y puesto que tu DataSet tiene nombre (rut), puedes
hacerlo así:

TextBox1.Text = dsdatos.Tables("rut").Rows(0).Item(0).ToString

Ante tu pregunta, lo he probado con un código mío y me ha funcionado.

Ya me dirás que tal a ver. :-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Cristian Munoz" wrote:

Estimado, Puse la siguiente linea.


TextBox1.Text = dsdatos.Tables(0).Columns(0).ToString

Al ejecutar en el textbox me puso la palabra rut.

De la manera que me dijiste me lo toma como error de sintaxis.

Saludos,

Me
"Jorge Serrano [MVP VB]"

escribió
en el mensaje news:
> Hola Cristian,
>
> espero no equivocarme, pero creo que podrías utilizar el DataSet
> igualmente
> a como lo haces en el combobox. Eso sería algo así como (espero no
> equivocarme):
>
> TextBox1.Text = dsdatos.Tables(0).Rows(0).Item(0).ToString
>
> En el DataSet tienes el dato que quieres y de él debes sacarlo para
> indicárselo a la caja de texto.
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Cristian Munoz" wrote:
>
>> Que tal gente, tengo el siguiente problema.
>>
>> Tengo un formulario un combobox y un textbox. Logre que al cargar el
>> form
>> me
>> llene con un campo que le mencione el combobox. hasta ahi todo bien.
>> Ahora
>> lo que quiero hacer es que cuando seleccione un item del combobox me
>> arroje
>> otro campo que se encuentra en la misma tabla de donde esta
>> recogiendo
>> los
>> items el combobox.
>>
>> Me explico en relacion a la base de datos. existe una tabla llamada
>> clientes, esta tiene un campo llamado rsocial, desde aqui me carga
>> todos
>> los
>> rsocial que encuentra en el combobox. Existe un campo dentro de esa
>> misma
>> tabla llamada rut, quiero que al seleccionar algun rsocial de la
>> tabla me
>> arroje el rut que se encuentra asociado a esa rsocial.
>>
>> El codigo para poder cargar el combobox es el siguiente.
>>
>> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
>> System.EventArgs) Handles MyBase.Load
>> 'crear el dataadapter
>> Dim dadatos As New OleDbDataAdapter("select rsocial from clientes",
>> OleDbConnection1)
>> 'crear el dataset
>> Dim dsdatos As New DataSet
>> 'llenar el datatable
>> dadatos.Fill(dsdatos, "clientes")
>> cbotodos.DataSource = dsdatos.Tables("clientes")
>> cbotodos.DisplayMember =
>> dsdatos.Tables("clientes").Columns().ToString
>> cbotodos.ValueMember = dsdatos.Tables("clientes").Columns(0).ToString
>> End Sub
>>
>> El codigo que tengo hecho hasta el momento para que muestre
>> informacion
>> en
>> el textbox es el siguiente.
>>
>> Private Sub cbotodos_Click(ByVal sender As Object, ByVal e As
>> System.EventArgs) Handles cbotodos.Click
>> Dim dadatos As New OleDbDataAdapter("select rut from clientes where
>> rsocial
>> = '& cbotodos.Text &'", OleDbConnection1)
>> Dim dsdatos As New DataSet
>> dadatos.Fill(dsdatos, "rut")
>> 'aqui no se como poder poner en el textbox lo rescatado por la
>> consulta
>> End Sub
>>
>> Espero que me hayan entendido. Porsiacaso trabajo en VB net 2003.
>>
>> Saludos,
>>
>>
>>









Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida