Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2010, 08:10
Avatar de XYON126
XYON126
 
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 7 meses
Puntos: 0
Funcion eliminar registro que borra todo

Hola!

Tengo un problemilla y no veo donde tengo el error, he realizado una funcion para borrar el primer registro de un archivo que siempre esta vacio(el registro), el problema es que en vez de borrarme el 1er registro, me genera los mismos registros que tenia menos uno, pero todos vacios como el primero, el que queria eliminar. Podia alguien echarme una manita y decirme donde he cometido el error.

Muchas gracias

Código vb:
Ver original
  1. ' --------------------------------------------------------------------------
  2. ' \\ -- Subrutina para eliminar el 1er registro si esta en blanco.
  3. ' --------------------------------------------------------------------------
  4.  
  5. Private Sub EliminarRegistro()
  6.  
  7. ' Verificamos que el archivo temporal no exista, si existe se elimina
  8. If Dir("Temporal.dat") = "Temporal.dat" Then
  9. Kill "Temporal.dat"
  10. End If
  11.  
  12. FileTemp = FreeFile
  13. 'Abrimos y creamos un nuevo fichero temporal
  14. Open "Temporal.dat" For Random As FileTemp Len = Len(HorasTemp)
  15.  
  16. RegActual = RegActual + 1
  17. RegActualTemp = 1
  18.  
  19. 'Se recorren los registros del archivo
  20.  
  21. For Pos = 1 To RegUltimo - 1
  22.  
  23.     Get #Numero, RegActual, Horas
  24.    
  25. MsgBox "RegActual =  " & RegActual
  26.    
  27. With HorasTemp
  28.    
  29. 'Variables datos de las Horas.
  30.                
  31.         .inicio1 = inicio1_C
  32.         .fin1 = fin1_C
  33.         .inicio2 = inicio2_C
  34.         .fin2 = fin2_C
  35.         .inicio3 = inicio3_C
  36.         .fin3 = fin3_C
  37.         .tiempo = tiempo_C
  38.         .dia = dia_C
  39.         .fecha = fecha_C
  40.         .semana = semana_C
  41.         .mes = mes_C
  42.         .año = año_C
  43.         .npedido = npedido_C
  44.         .Totalhoras = Totalhoras_C
  45.                
  46. End With
  47.    
  48. 'Escribe en el archivo temporal los datos
  49. MsgBox "RegActualTemp  =  " & RegActualTemp
  50.    
  51.     Put #FileTemp, RegActualTemp, HorasTemp
  52.  
  53.     RegActual = RegActual + 1
  54.     RegActualTemp = RegActualTemp + 1
  55.  
  56. Next
  57.  
  58. Close Numero
  59. Close FileTemp
  60.  
  61. 'Elimina el archjivo con los datos
  62. Kill "Horas.dat"
  63.  
  64.  
  65. 'Renombra el archivo temporal a Datos.dat
  66. Name "Temporal.dat" As "Horas.dat"
  67.  
  68. End Sub