Jump to content

Tomar datos de otra tabla, mostrar en combobox, guardar VB.n


Recommended Posts

Ya muchachos, tengo lo siguiente en SQL server 2008

 

10yjs4o.jpg

 

 

y tengo lo siguiente el VB .net

 

hwcqs2.jpg

 

 

lo que quiero hacer es, mediante una consulta como esta:

 

14nk32h.jpg

 

 

mostrar en el combobox los nombres de los bancos que hay en la tabla bancos

 

el asunto es que funciona pero no guarda, ¿por qué?, porque el combobox recibe valores INT (de la clave foranea banco en la tabla Cheques) y el valor del nombre_b de la tabla bancos es un VARCHAR, entonces mi pregunta es:

 

como xuxa hago para que me guarde el ID del banco (de la tabla Bancos) en la columna banco de la tabla Cheques PERO mostrando el nombre del banco en el combobox?, existe esa manera? o mis tablas de sql estan mal??

 

 

gracias de antemano :)

Edited by ExtreemD4t4
Link to comment
Share on other sites

combo.ValueMember = "ID"

combo.DisplayMember = "Nombre"

 

corregí el post para dejarlo mas claro

 

lo que quiero hacer es lo siguiente

 

- llamar a la columna nombre_b de la tabla Bancos para que se muestre en el combobox,

- el combobox acepta valores INT y los guarda en la columna banco de la tabla Cheques

- banco es una clave foranea de la tabla Cheques y hace referencia a id_bancos de la tabla Bancos

 

 

que es lo que quiero lograr con esto, es que me muestre por ejemplo "banco de chile" y yo al pinchar y seleccionar esa opcion en el combobox lo guarde como el id del banco y no como el texto "banco de chile"

 

se entiende?, bueno al hacer eso que me dijiste, solo me da la opcion para mostrar las columnas de la tabla bancos pero no las de la tabla cheques para "enlazarlos"

 

:/

 

estoy atascado en eso T.T

Edited by ExtreemD4t4
Link to comment
Share on other sites

combo.ValueMember = "ID"

combo.DisplayMember = "Nombre"

 

corregí el post para dejarlo mas claro

 

lo que quiero hacer es lo siguiente

 

- llamar a la columna nombre_b de la tabla Bancos para que se muestre en el combobox,

- el combobox acepta valores INT y los guarda en la columna banco de la tabla Cheques

- banco es una clave foranea de la tabla Cheques y hace referencia a id_bancos de la tabla Bancos

 

 

que es lo que quiero lograr con esto, es que me muestre por ejemplo "banco de chile" y yo al pinchar y seleccionar esa opcion en el combobox lo guarde como el id del banco y no como el texto "banco de chile"

 

se entiende?, bueno al hacer eso que me dijiste, solo me da la opcion para mostrar las columnas de la tabla bancos pero no las de la tabla cheques para "enlazarlos"

 

:/

 

estoy atascado en eso T.T

 

claro como el agua po viejo me podrias mostrar tu codigo para ver como generas ese combobox y ayudarte

Link to comment
Share on other sites

combo.ValueMember = "ID"

combo.DisplayMember = "Nombre"

 

corregí el post para dejarlo mas claro

 

lo que quiero hacer es lo siguiente

 

- llamar a la columna nombre_b de la tabla Bancos para que se muestre en el combobox,

- el combobox acepta valores INT y los guarda en la columna banco de la tabla Cheques

- banco es una clave foranea de la tabla Cheques y hace referencia a id_bancos de la tabla Bancos

 

 

que es lo que quiero lograr con esto, es que me muestre por ejemplo "banco de chile" y yo al pinchar y seleccionar esa opcion en el combobox lo guarde como el id del banco y no como el texto "banco de chile"

 

se entiende?, bueno al hacer eso que me dijiste, solo me da la opcion para mostrar las columnas de la tabla bancos pero no las de la tabla cheques para "enlazarlos"

 

:/

 

estoy atascado en eso T.T

 

claro como el agua po viejo me podrias mostrar tu codigo para ver como generas ese combobox y ayudarte

no hice el combobox por código, solo cargué la base de datos y elejí el campo de la base de datos para que se llene como combobox :/

Link to comment
Share on other sites

La verdad es que nunca he programado en vb.net, pero a lo que voy es que el combobox pongas el valor del id del banco en combo.ValueMember, que seria el valor del combobox y pongas en combo.DisplayMember que seria lo que se muestra en el combobox. no se si me hago entender...

 

SI, te entiendo perfectamente, pero no guarda, se queda "pegado", selecciono la opcion "banco BCI" por ejemplo, y de ahi no avanza :/, digo, no puedo seguir agregando las demas opciones pk se keda colgado :/

Link to comment
Share on other sites

La verdad es que nunca he programado en vb.net, pero a lo que voy es que el combobox pongas el valor del id del banco en combo.ValueMember, que seria el valor del combobox y pongas en combo.DisplayMember que seria lo que se muestra en el combobox. no se si me hago entender...

 

SI, te entiendo perfectamente, pero no guarda, se queda "pegado", selecciono la opcion "banco BCI" por ejemplo, y de ahi no avanza :/, digo, no puedo seguir agregando las demas opciones pk se keda colgado :/

 

Tengo poco conicmiento de esto pero creo que esto deberia andar bien:

 

http://social.msdn.microsoft.com/Forums/es/vbes/thread/7f126975-bbaa-448b-9e56-9e8081bafc20

Link to comment
Share on other sites

Tai mal... Con la forma en que estás trabajando, lo que tienes que hacer son 4 consultas...

 

1. Una consulta para traer los datos del banco... Consulta que ya tienes hecha bien.

2. Una consulta para insertar datos en la tabla cheques... INSERT statement

3. Una consulta para actualizar los datos en la tabla cheques... UPDATE statement

4. Una consulta para eliminar los datos de la tabla cheques... DELETE statement

 

Estas últimas 3 consultas las tienes que hacer en el DataSet que tienes enlazado en el formulario...

 

Aunque no hayas escrito nada de código, el wizard que usaste, escribe el código por tí... Así que lo.puedes postear igual... Si no sabes cómo acceder al código, hazle doble click al combobox...

 

Si no hay código ahí... Entonces tienes que pinchar en un ícono que hay en el explorador de soluciones (listado de la derecha donde está el Form) arriba, si no me equivoco el tercer ícono... Con eso podrás ver algunos archivos ocultos del proyecto... Pincha en el + del Form y aparecerá un archivo como FormDesigner.vb o algo así... Doble click ahí y postea ese código.

Link to comment
Share on other sites

la verdad que jamas he usado los wizard , me manejo a puro codigo y nunca he usado SQL server si no que uso Mysql pero la idea que te voy a dar deberias aplicarla a tu programa a ver si es lo que pides

 

seleccionar un item en un combobox y grabar en otra tabla el ID del nombre seleccionado....

 

yo lo haria asi...

 

 

 

en el evento ComboBox1_SelectedIndexChanged ' este funciona cuando haces algun cambio en el combobox

 

al seleccionar el item deberioas hacer un select de la tabla de bancos para buscar el nombre

 

dim sql as string

 

sql= "select id_banco from bancos where nombre_b='" & combobox1.text & "';"

 

esto te dara como resultado el ID del nombre del banco ke seleccionaste

 

ese ID guardalo en alguna variable temporal y luego al momento de grabar los datos insertas tu variable temporal para que sea guardada en la otra tabla que desees..

 

bueno yo lo hago asi a puro codigo ya que creo que tengo mas "control" de lo que ocurre y no me limito a lo que me ofrecen las opciones de los asistentes

 

si lo haces de otra forma la idea seria la misma, asegurate de al seleccionar el nombre del banco en el combobox utiliza las opciones que ocupas y guarda el valor de ID en alguna variable temporal para que luego la ocupes

 

 

y sobre que se te queda pegada tu aplicacion al parecer hay algo que queda haciendo algun loop infinito kisas buscando algo que jamas encuentra y hay se queda dando vueltas

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...