• Sábado 16 de Noviembre de 2024, 18:55

Autor Tema:  Re: Codigo  (Leído 1662 veces)

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Codigo
« en: Viernes 20 de Diciembre de 2002, 13:15 »
0
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

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: Codigo
« Respuesta #1 en: Viernes 20 de Diciembre de 2002, 14:27 »
0
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

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Codigo
« Respuesta #2 en: Viernes 20 de Diciembre de 2002, 17:17 »
0
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

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: Codigo
« Respuesta #3 en: Lunes 23 de Diciembre de 2002, 09:18 »
0
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

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Codigo
« Respuesta #4 en: Lunes 23 de Diciembre de 2002, 17:29 »
0
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