Se connecter / S'enregistrer
Votre question

Erreur 3464 VBA pour Access

Tags :
  • Archive
  • Programmation
Dernière réponse : dans Programmation
8 Septembre 2010 18:01:51

Bonjour à tous,

Une erreur 3464 apparait à ce niveau (en rouge) quand j'exécute la macro, je ne comprends pas d'ou vient l'erreur donc si vous pouviez m'aider ce serait sympa :) 

Merci à vous,




Function IntegrationTMP_FichierBO()

Dim Rcs As Recordset
Dim Rep_TMP, Rep_ARCHIVE, Rep_ECHEC, Rep_Travail, fichier_a_integrer, Path_File As String


'Emplacement répertoire TMP contenant les fichiers à traiter
Rep_TMP = Path & "OSCAR\Alimentation\TMP\"

'Emplacement répertoire ARCHIVE
Rep_ARCHIVE = Path & "OSCAR\Alimentation\BO\ARCHIVE\"

'Emplacement répertoire ECHEC
Rep_ECHEC = Path & "OSCAR\Alimentation\BO\ECHEC\"

'Emplacement répertoire BO
Rep_Travail = Path & "OSCAR\Alimentation\BO\TRAVAIL\FichierBO.csv"


DoCmd.SetWarnings (False)

SQL = "SELECT Fichier_a_traiter as Filename FROM T_FICHIER_A_TRAITER WHERE statut = 'T' AND Type_fichier = 'BO'"
' Test si des fichiers BO existe dans T_FICHIER_A_TRAITER avec le statut T
Set Rcs = CurrentDb.OpenRecordset(SQL)
If Rcs.EOF Then
'le fichier a deja ete integré
Rcs.Close
'DoCmd.RunMacro ("006_Purge_des_donnees")
Else
Rcs.MoveFirst
Do
fichier_a_integrer = Rcs!FileName
Path_File = Rep_TMP & fichier_a_integrer
Dim objOFS As Variant
Set objOFS = CreateObject("Scripting.FileSystemObject")
If (objOFS.FileExists(Path_File)) Then
objOFS.copyFile (Path_File), Rep_Travail
End If
Set objOFS = Nothing
' appel de la macro transfertFichier
DoCmd.RunMacro ("003_Import_Fichier_BO_bis")

' si transfert OK => ARCHIVE
' sinon => ECHEC
'if then

Set objOFS = CreateObject("Scripting.FileSystemObject")
If (objOFS.FileExists(Path_File)) Then
objOFS.moveFile (Path_File), Rep_ARCHIVE

SQL1 = "UPDATE T_FICHIER_A_TRAITER SET statut = 'OK' WHERE Fichier_a_traiter = '" & fichier_a_integrer & "';"
DoCmd.RunSQL (SQL1)
Else
SQL1 = "UPDATE T_FICHIER_A_TRAITER SET statut = 'KO' WHERE Fichier_a_traiter = '" & fichier_a_integrer & "';"
DoCmd.RunSQL (SQL1)
End If
Set objOFS = Nothing

Rcs.MoveNext
If Rcs.EOF Then
Exit Do
End If
Loop
Rcs.Close
SQL = "DELETE FROM T_CA"
DoCmd.RunSQL (SQL)
DoCmd.RunMacro ("003_Import_Donnee_CA")
End If
DoCmd.SetWarnings (True)
End Function

Autres pages sur : erreur 3464 vba access

9 Septembre 2010 14:11:52

Bonjour, enlève les parenthèses mais conserves les guillemets.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS