Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/04/2010, 03:26
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 3 meses
Puntos: 29
Respuesta: Funcion eliminar registro que borra todo

No estoy seguro de que hayas abierto el fichero de datos Numero para leerlo, ya que en la sub solo lo cierras "Close Numero".
De todas formas los valores que guardas de cada registro parecen siempre los mismos.
¿No deberia ser algo como esto?

Código vb:
Ver original
  1. Private Sub EliminarRegistro()
  2.  
  3. ' Verificamos que el archivo temporal no exista, si existe se elimina
  4. If Dir("Temporal.dat") = "Temporal.dat" Then
  5. Kill "Temporal.dat"
  6. End If
  7.  
  8. FileTemp = FreeFile
  9. 'Abrimos y creamos un nuevo fichero temporal
  10. Open "Temporal.dat" For Random As FileTemp Len = Len(HorasTemp)
  11.  
  12. Numero = FreeFile
  13. 'Abrimos el fichero de datos
  14. Open "Horas.dat" For Random As Numero Len = Len(HorasTemp)
  15.  
  16. RegActual = RegActual + 1
  17.  
  18. 'Se recorren los registros del archivo
  19.  
  20. For Pos = 1 To RegUltimo - 1
  21.  
  22.     Get #Numero, RegActual, Horas
  23.    
  24. MsgBox "RegActual =  " & RegActual
  25.    
  26. 'Escribe en el archivo temporal los datos
  27. MsgBox "RegActual  =  " & RegActual
  28.    
  29.     Put #FileTemp, RegActualTemp, Horas
  30.  
  31.     RegActual = RegActual + 1
  32.  
  33. Next
  34.  
  35. Close Numero
  36. Close FileTemp
  37.  
  38. 'Elimina el archjivo con los datos
  39. Kill "Horas.dat"
  40.  
  41.  
  42. 'Renombra el archivo temporal a Datos.dat
  43. Name "Temporal.dat" As "Horas.dat"
  44.  
  45. End Sub

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!