• Sábado 16 de Noviembre de 2024, 21:23

Autor Tema:  Re: Alguien puede mirar este codigo  (Leído 2193 veces)

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Alguien puede mirar este codigo
« en: Jueves 19 de Diciembre de 2002, 16:25 »
0
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

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: Alguien puede mirar este codigo
« Respuesta #1 en: Viernes 20 de Diciembre de 2002, 08:54 »
0
Creo que la línea del MoveFirst sobra

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Alguien puede mirar este codigo
« Respuesta #2 en: Viernes 20 de Diciembre de 2002, 09:28 »
0
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
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: Alguien puede mirar este codigo
« Respuesta #3 en: Viernes 20 de Diciembre de 2002, 09:39 »
0
No lo afirmo, pero creo que el MoveNext no es necesario, puesto que al eliminar el registro ya pasa al siguiente. Creo!!

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Alguien puede mirar este codigo
« Respuesta #4 en: Viernes 20 de Diciembre de 2002, 09:51 »
0
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.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Alguien puede mirar este codigo
« Respuesta #5 en: Viernes 20 de Diciembre de 2002, 12:20 »
0
Gracias chicos pero prove las dos y se cae igual....:(

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: Alguien puede mirar este codigo
« Respuesta #6 en: Viernes 20 de Diciembre de 2002, 12:59 »
0
Para que quieres hacer un bucle?

Porqué no lanzas un DELETE en lugar de un SELECT?

cristy

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Alguien puede mirar este codigo
« Respuesta #7 en: Viernes 20 de Diciembre de 2002, 18:26 »
0
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

javierbalk

  • Miembro MUY activo
  • ***
  • Mensajes: 142
  • Nacionalidad: 00
    • Ver Perfil
    • Print preview y grabar PDF en Visual Basic 6
Alguien puede mirar este codigo
« Respuesta #8 en: Sábado 21 de Diciembre de 2002, 04:33 »
0
Hola:

Probá cambiadno por

Do Until bdgeo.Recordset.RecordCount = 0

Saludos,
Javier