Visual Basic - No eliminar el ultimo registro que queda

Life is soft - evento anual de software empresarial
   
Vista:

No eliminar el ultimo registro que queda

Publicado por Felipe (2 intervenciones) el 13/03/2008 07:37:41
Hola, necesito de su ayuda.....

Estoy haciendo una aplicacion en Visual Basic 6.0 conectado a una Base de Datos en access, y mi problema es lo siguiente:
quiero que al eliminar mis registros me valide cuando estoy por eliminar el ultimo que me quede ya que mi tabla quedaría vacía. es decir, voy eliminando uno por uno hasta que llega el momento en que me queda solo 1 registro en mi tabla el cual tambien lo elimine pero sin que me bote del programa, ya que eso me pasa porque no he podido validar cuando mi tabla es vacia o tambien se podria decir que mi registro es nulo.

Si es que no se pudiera....si me pueden dar las instrucciones para comparar cuando me quede un solo registro y asi no poderse borrar.

Espero se haya entendido y si alguien me puede orientar y ayudar se lo agradeceria...

P.D.: Ojala sean lo mas detallado posible ya que estoy programando hace poquito y no quiero quedar colgado cuando alguien me pueda dar una solucion.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No eliminar el ultimo registro que queda

Publicado por Pedro luis (878 intervenciones) el 13/03/2008 13:22:14
Tienes el metodo Tabla.RecordCount, que recien abierta la tabla te da solo un registro por lo que hay que moverla con tabla.movelast.
Una vez abierta y movida if tabla.RecordCount=1 no borres..
Por otro lado se pueden borrar todos los registros de una tabla siempre y cuando antes antes de hacer algo con ella pongas if Tabla.recordcount>0, para que no te de el consabido error de "No hay ningún registro activo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No eliminar el ultimo registro que queda

Publicado por Yo (2 intervenciones) el 13/03/2008 17:03:14
Bien, pero RecordCount no es método, sin PROPIEDAD
¿Sí conoces la diferencia entre método y propiedad?
Además ¿estás seguro de esto que escribes: "que recien abierta la tabla te da solo un registro por lo que hay que moverla con tabla.movelast" ?
Porque yo jamás he necesitado usar el MÉTODO MoveLast, para que la PROPIEDAD RecordCount indique cuántos registros hay, en cuanto se abre la tabla tiene el valor correcto ... sabe ... al menos, eso sucede con mis programas, no sé contigo ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No eliminar el ultimo registro que queda

Publicado por Felipe (2 intervenciones) el 13/03/2008 17:42:24
Le agregue el RecordCount antes de eliminar pero pasa nada...
es como que si no estuviera esa instruccion.
como lo hago? porfa ayudenme que ya he agotado todo recurso para hacerlo y no puedo.

Estoy pensando en algo pero me marca error....quiza porque el codigo esta mal escrito;
y si le pongo que if movenext = null then
msgbox " este es tu ultimo registro"
....
....

lo probe asi pero me marca error en movenext, quiza el código esta mal pero la lógica será valida??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No, la lógica no es valida

Publicado por Carlos (125 intervenciones) el 13/03/2008 20:37:09
"MoveNext es un método, no una propiedad ni función, por lo que no te va a retornar ningún valor, asi que esto está mal:
if movenext = null
¿Cómo usaste la propiedad RecordCount? porque nada más dices que la agregaste pero no pasa nada ...
Podrías hacer un ciclo para borrar los registros excepto el último, más o menos así (debes tener declarada la variable "lnRegis" y en el ejemplo asumo que tu recordset se llama "rst"):

For lnRegis = 1 to rst.RecordCount
If lnRegis < rst.RecordCount Then
' Aquí le pones que lo borre.
End If
rst.MoveNext
Next

Lo que no entiendo es por qué te "bota" el programa si la tabla queda vacía ...
Podrías usar On Local Error Goto para detectar el error y poder continuar en el programa sin que te bote.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar