Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: InGuS en 11 Mayo 2005, 10:54 am



Título: Elemento de un ListBox a tabla en Access
Publicado por: InGuS en 11 Mayo 2005, 10:54 am
Saludos a todos, estoy desarrollandu un pequeño proyecto como parte de mi evaluacion en la escuela. El proyecto es realmente sencillo simplemente alta, modificacion y eliminacion de registros.

Ya tengo todos los modulos pero tengo un problema con una ListBox ya que no consigo insertar el contenido del elemento seleccionado a la tabla en Access, el codifo que tengo hasta ahora es el siguiente:

Código:
Dataprod.Recordset!proveedor = cmbProv.List(ListIndex)

Con este codigo solo me agregar el primer elemento de la lista no el seleccionado. Me podrian decir porque hace esto o como puedo hacer para que me inserte el la tabla el elemento seleccionado de la lista.

El codigo que uso para llenar la lista es el siguiente:

Código:
    If DataProv.Recordset.EOF = False Then 'Permite obtener todos los datos ubicados en la tabla de inicio a fin
        Do While DataProv.Recordset.EOF = False 'Cargar todas los valores a la lista
            cmbProv.AddItem DataProv.Recordset.Fields("nombre")
            DataProv.Recordset.MoveNext
        Loop
    End If

Gracias de antemano.


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: Slasher-K en 12 Mayo 2005, 02:02 am
Asegurate que el nombre del campo sea el correcto y esté bien escrito, ya que es case sensitive (distingue mayúsculas de minúsculas).

También llama a MoveFirst antes de comenzar a enumerar los registros.

Saludos.


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: InGuS en 12 Mayo 2005, 06:51 am
Ya revise todo lo que me comentas, el nomnre del campor esta bien ya que de hecho si me lo carga en el listbox pero el problema sigue siendo que solo toma encuenta el primer elemento de la lista ningun otro, yo pienso que el error esta en esta linea:

Código:
Dataprod.Recordset!proveedor = cmbProv.List(ListIndex)

quiza estoy usando mal alguna propiedad del listbox.

Saludos.


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: mit en 12 Mayo 2005, 07:00 am
si quieres agregar el elemento seleccionado, creo que es list.selected creo Xd


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: Slasher-K en 12 Mayo 2005, 07:34 am
Claro xD, es un error que pasé por alto:

Código:
Dataprod.Recordset!proveedor = cmbProv.List(ListIndex)

ListIndex no está declarada y no hace referencia a cmbProv :P. Lo tenés que usar asi:

Código:
Dataprod.Recordset!proveedor = cmbProv.List(cmbProv.ListIndex)

Acostumbrate a usar la instrucción Option Explicit al principio de los módulos.

Saludos.


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: soplo en 12 Mayo 2005, 19:36 pm
Hola
A ver si te entiendo. Tu quieres recorrer un listbox y grabar en una base de datos un registro por cada entrada que leas.

Algo como esto (usando DAO)

Código:
for x%=0 to list1.count-1
data1.recordset.addnew
data1.recordset.fields("campo")=list1.list(x%)
data1.recordset.update
next x%

Observa como recorro el bucle empezando por el principio y llegando hasta el final. Observa que list1.count te devuelve el número de entradas que tiene y que el primer elemento empieza por cero.

Observa también que list1.list(x%) te devuelve el string correspondiente a la entrada x% en vez de list1.listindex que te devuelve el string que esté seleccionado en ese momento.

Un saludo


Título: Re: Elemento de un ListBox a tabla en Access
Publicado por: InGuS en 12 Mayo 2005, 21:05 pm
Muchas gracias a todos en especial a Slasher Keeper, ya quedo solucionado el problema, no me habia percatado que en algun momento por error borre option explicit (porque de hecho si esta marcado en las preferencias) con la linea que me diste queto todo resuelto.

Código:
Dataprod.Recordset!proveedor = cmbProv.List(cmbProv.ListIndex)

Saludos.