Duda Visual Basic + Access

Iniciado por ka0s, 23 Agosto 2009, 02:55 AM

0 Miembros y 1 Visitante están viendo este tema.

ka0s

Cita de: ssccaann43 en 26 Agosto 2009, 22:04 PM
Código (vb) [Seleccionar]

Private Sub cmdborrar_Click()'Borra el registro seleccionado
<->cn.Execute ("DELETE FROM socios where id= ") & borrarregistro, cn
'Llama a la funcion LOAD para que cargue la grilla nuevamente.
'Por lo tanto SE ACTUALIZA.
Call Form_Load
End Sub


Coloca un punto de Interrupción allí <-> y verifica que valor tiene borrarregistro.

Por otro lado, te recomiendo que en vez de borrarregistro, indiques el index donde te encuentras posicionado en la grilla.

Por ejemplo usando un listview sería. ListView1.SelectedItem.Text

Traté de hacer esto haciendo GRILLA.OBJECT que es lo que seleccionaría lo que marcás, pero me di cuenta que si selecciono un nombre, o una edad tiraba error. Ya que no pertenece al ID.

O sea cuando marcaba de la tabla un ID, funcionaba perfectamente, pero yo quiero que de la grilla, cuando marques cualquier campo y le des a BORRAR, te borre todo.

Por eso lo estaba haciendo con ID.

:S

Alguna otra opción? Igualmente muchas gracias!

ssccaann43 ©

Pues debes ubicar el ID de lo que seleccionas. y luego de ubicarlo ejecutar la consulta.
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

ka0s

Cita de: ssccaann43 en 27 Agosto 2009, 00:31 AM
Pues debes ubicar el ID de lo que seleccionas. y luego de ubicarlo ejecutar la consulta.

Creo que no me comprendiste. Voy a tratar de ser más claro:

En la grilla, seleccione el CAMPO que seleccione quiero que al darle BORRAR, se borre.

Pero que pasa? Al hacer lo que hice antes RST.OBJECT solamente funciona el codigo del DELETE cuando clickeo en ID.

Pero si clickeo en Nombre, edad, etc... TOMA EL NOMBRE, pero el DELETE no funciona y tira error ya que este funciona solo con ID.

Tendría que haber otra forma.
Yo tenía entendido que creando una variable y poniendo en el evento click de la grilla:

variable = RST!ID

y después en el DELETE usar esa VARIABLE, pero no funcionó como explique más atrás. :(

Espero que haya quedado más claro.
Gracias igualmente ssccaann43

seba123neo

ovbio, pues tenes que tomar el ID de la columna seleccionada, pero en la columna donde esta el ID del registro...eso de hacer Call Form_Load no es nada bueno, mejor create una funcion que te carge todos los datos en el listview y llamas siempre que quieras actualizar a esa funcion. tambein al listview ponele la propiedad FullRowSelect = True asi te selecciona toda la fila y no el primer item.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

ka0s

Cita de: seba123neo en 27 Agosto 2009, 05:13 AM
ovbio, pues tenes que tomar el ID de la columna seleccionada, pero en la columna donde esta el ID del registro...eso de hacer Call Form_Load no es nada bueno, mejor create una funcion que te carge todos los datos en el listview y llamas siempre que quieras actualizar a esa funcion. tambein al listview ponele la propiedad FullRowSelect = True asi te selecciona toda la fila y no el primer item.

saludos.

seba123neo, yo estoy usando MSFLEXGRID.
Igualmente busqué alguna propiedad parecida a lo que vos comentabas y encontré
SelectionMode = FlexSelectionByRow, entonces al poner eso me marca toda la fila
y ahora SI FUNCIONA EL PRIMER CODIGO DE TODO QUE HABÍA PUESTO.

Ya que al marcar toda la fila lo que me toma es el ID. Y quedó solucionado!! :D

Muchas gracias seba, comentando otra cosa, me ayudaste a solucionar esto.
Gracias a los demás igualmente.

Saludos!

PD: Seguiré poniendo las dudas que me sigan surgiendo por acá. Está bien? O empiezo a crear nuevos?

ssccaann43 ©

Eso depende de la duda. Y si te explicaste bien, quien no comprendió fuiste tú. De igual manera estamos a la orden. Pero si te surge una duda nueva, has un nuevo post.
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"