Access - error con un Kill

   
Vista:

error con un Kill

Publicado por josep (10 intervenciones) el 04/05/2009 20:59:52
hola a todos.
tengo una funcion que me elimina un arxivo "TVdeclaracioIVA.mdb" del PC i me copia la actualizada del Pendriver en el PC , lo elimino primero para poder copiarlo despues del Pendriver, para actualizar la del PC, pero sino existe me da error en el Kill, muestro un trozo de la funcion.
Como puedo hacer para que si no existe el arxivo me heche , he provado en meterlo en un If i no lo consigo.
Gracias.

Function IniciMenu()
'ELIMINA LA "TV" DEL PC I COPIA LES DEL PENDRIVER
DoCmd.Maximize
Dim UnidadLetra As String

If PenExiste = True Then
UnidadLetra = PenLetra
txtLetra = Left(PenLetra, 1)
Else
MsgBox "No hay ningún PenDrive conectado.", vbInformation, "Unidad USB"
DoCmd.Quit
End If

Kill "C:DeclaracioIVA2TVdeclaracioIVA.mdb"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error con un Kill

Publicado por Enrique (1299 intervenciones) el 05/05/2009 12:09:26
Hola Josep:

Tienes que hacerlo así:

If Dir("C:DeclaracioIVA2TVdeclaracioIVA.mdb") <> "" Then
Kill "C:DeclaracioIVA2TVdeclaracioIVA.mdb"
Else
Exit Sub
End If

Con esto, solo intentará borrarlo si existe en la carpeta indicada, caso contrario cancela el Evento.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

para Enrique

Publicado por Josep (10 intervenciones) el 05/05/2009 21:03:46
GRACIAS ENRIQUE.
ME QUEDO ASI, despues de mucho pelear; Ja no meda error y me hecha si no encuentra el arxivo i el directorio.

'**********************ELIMINA LA "TV" DEL PC I COPIA LES DEL PENDRIVER
Function IniciMenu()
DoCmd.Maximize
Dim UnidadLetra As String

'********************************* COMPROVE PENDRIVE
If PenExiste = True Then
UnidadLetra = Left(PenLetra, 1)
Else
MsgBox "EL PENDRIVE NO ES TA CONECTAT.", vbInformation, "UniTaT USB"
DoCmd.Quit
End If

'********************ELIMINA ARXIU
If Dir("C:DeclaracioIVA2TVdeclaracioIVA.mdb") <> "" Then
Kill "C:DeclaracioIVA2TVdeclaracioIVA.mdb"
'*************COPIE EL ARXIU DEL PENDRIVE
On Error GoTo Err_Copiar_Click ' (hi ha d'haver les linies d'error)
Dim copiador As Object
Dim origen As String
Dim final As String
Set copiador = CreateObject("Scripting.FileSystemObject")
origen = UnidadLetra & ":DeclaracioIVA2TVdeclaracioIVA.mdb"
final = "C:DeclaracioIVA2TVdeclaracioIVA.mdb"

copiador.CopyFile origen, final, False
missatge = MsgBox("COPIA FETA CORRECTAMENT AL PC!")
Exit_Copiar_Click:
Exit Function
Err_Copiar_Click:
missatge = MsgBox(" EL DIRECTORI C:DeclaracioIVA2 NO EXISTEIX ")
Resume Exit_Copiar_Click
DoCmd.Quit

Else
resp = MsgBox("EL ARXIU AL PC NO EXISTEIX." & vbCrLf & "COMPROVA LA RUTA DEL DIRECTORI AL PC?", vbOKOnly, "COPIA AL PC NO DETECTADA!")
If resp = vbOK Then
DoCmd.Quit
Exit Function
End If
End If
End Function
*****************
Josep
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar