SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: cristy en Jueves 19 de Diciembre de 2002, 16:25
-
Hola tengo es codigo para eliminar unos registro de un control de datos adodc pero cae en un loop infinito
elimino = 0
bdgeo.UserName = st_login
bdgeo.Password = st_passw
bdgeo.ConnectionString = Conectar
bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'"
bdgeo.Refresh
If bdgeo.Recordset.RecordCount > 0 Then
Do Until bdgeo.Recordset.EOF
bdgeo.Recordset.MoveFirst
bdgeo.Recordset.Delete
elimino = 1
Loop
Muchas Gracias
-
Creo que la línea del MoveFirst sobra
-
Estoy con Jaume en que te sobra el MoveFirst pero además tb te falta en movenext, porque si no el recordset no avanza y nunca sale del bucle. Tendría que ser asi:
elimino = 0
bdgeo.UserName = st_login
bdgeo.Password = st_passw
bdgeo.ConnectionString = Conectar
bdgeo.RecordSource = "SELECT * FROM sondajes.t_identi WHERE yacimiento=1 AND codlabor='" & clabor_del & "'"
bdgeo.Refresh
If bdgeo.Recordset.RecordCount > 0 Then
Do Until bdgeo.Recordset.EOF
bdgeo.Recordset.Delete
elimino = 1
bdgeo.Recordset.MoveNext
Loop
End if
-
No lo afirmo, pero creo que el MoveNext no es necesario, puesto que al eliminar el registro ya pasa al siguiente. Creo!!
-
Jaume creo q tienes razon pero de todas formas q pruebe de las dos formas porque yo tampoco estoy seguro de que haga falta el movenext.
De lo que si estoy seguro es que el movefirst sobra.
-
Gracias chicos pero prove las dos y se cae igual....:(
-
Para que quieres hacer un bucle?
Porqué no lanzas un DELETE en lugar de un SELECT?
-
Porque es una mantencion de un sistema y esta todo hecho con adodc (control) yo personal mente trabajo con ado , pero no se si se puede hacer lo que me dices con este control
-
Hola:
Probá cambiadno por
Do Until bdgeo.Recordset.RecordCount = 0
Saludos,
Javier