SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: cristy en Viernes 20 de Diciembre de 2002, 13:15
-
Hola tengo es codigo para eliminar unos registro de un control de datos adodc pero cae en un loop infinito, lo rutie y no avanza aun que le cambien el movefirst por movenext no se mueve gracias
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
-
El siguiente código debería funcionar puesto que lo he probado
(Fíjate en el orden de las instrucciones)
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
bdgeo.Recordset.MoveNext
elimino = 1
Loop
Saludos
-
esta igual el codigo, es muy raro por que no sale de loop es como que no borrara ni avanzara ¿? mira lo cortare y pegare tal cual como esta
'elimina sondaje
clabor_del = st_codlabor.Caption
'On Error GO TO ' Inicializa el controlador de error.
opcion = MsgBox("Confirma eliminar la Labor " & clabor_del & " y todos sus datos", vbOKCancel, "Sistema de Muestreo Geologico")
If opcion = 1 Then
Call deshabilitar_botones
Datatabla.ClearFields
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
'bdgeo.Recordset.MoveFirst
Do Until bdgeo.Recordset.EOF
bdgeo.Recordset.Delete
MsgBox bdgeo.Recordset.Fields(0)
bdgeo.Recordset.MoveNext
MsgBox bdgeo.Recordset.Fields(0)
elimino = 1
Loop
bdgeo.Refresh
bdgeo.Refresh
End If
If elimino = 1 Then
st_codlabor.Caption = ""
a = MsgBox("Muestra eliminada Satisfactoriamente", vbOKOnly, "ATENCION")
Else
a = MsgBox("No se encontraron datos que eliminar", vbOKOnly, "ATENCION")
End If
co_op.Enabled = False
End If
Exit Sub
If Err.Number <> 0 Then
Msj = "Error # " & Str(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Sub
-
Creo que no vamos a conseguir nada de esta manera. Lo mejor sería que hicieras un ZIP con todo el programa, para que podamos ver todo el código y definición de objetos.
Yo he probado el Do Until y funciona, por lo que creo que el problema debe ir por otro lado.
Cuélgalo en un mensaje o mándamelo.
Salu2
-
Si tenias toda la razon el problema era por otro lado intente insertar por el SQl Plus y no me dejo por un problema en un trigger gracias