[Access 2003] certaines propriétés ou méthode ne fonctionne pas !!

certaines propriétés ou méthode ne fonctionne pas !! [Access 2003] - VB/VBA/VBS - Programmation

Marsh Posté le 03-06-2005 à 15:36:51    

Bonjour, je m'occupe de passé une base de donné de Access 97 --> 2003
La plus part des problèmes que je rencontres sont dus à des importations à partir de disquette ou cléf USB.
 

Code :
  1. Private Sub b_imp_Click()
  2.     On Error GoTo Err_b_imp_Click
  3.     DoCmd.Hourglass (True)
  4.     Dim fichier As String
  5.     Dim temp As Recordset
  6.     Dim i As Integer
  7. 'Fichier à importer
  8.     fichier = "A:\"& ....& .del
  9.     'Verification de la presence du fichier a importer sur la disquette
  10.     With APPLICATION.FileSearch
  11.         .LookIn = "A:\"
  12.      'veficafication de la presence d'une disquette sur le lecteur
  13.         If .LookIn <> "A:\" Then
  14.             MsgBox "Vérifiez que la disquette a bien été inserée
  15.             Exit Sub
  16.         End If
  17.         .FileName = fichier
  18.         'verification de la presence de ce fichier sur la disquette
  19.         If .Execute <= 0 Then
  20.             MsgBox .FileName & "  n'est pas sur cette disquette."
  21.             Exit Sub
  22.         End If
  23.     End With
  24. DoCmd.TransferText acImportDelim, "CALOC", "TABLEAU_FICHE_C", fichier, False, ""


 
voila, rien ne fonctionne, "TransferText", ".LookIn ", ".Execute "
Je pense que ça ne viens pas de la progra, mais de quoi, je ne sais pas.
Si vous pouvez m'eclairer. merci


Message édité par Tymber le 06-06-2005 à 11:05:44
Reply

Marsh Posté le 03-06-2005 à 15:36:51   

Reply

Marsh Posté le 07-06-2005 à 11:56:07    

Exact!
Application.FileSearch.Lookin = "A:\" ne se comporte pas de la même manière suivant la version utilisée.
Jusqu’à Office 2000 (9) .lookin="A:\" entraîne un seek du lecteur.
  Si trouvé alors: .lookin prend la valeur A:\ sinon: prend une valeur par défaut . C'est pourquoi ton test fonctionne sous 97.
Sur Office 2003 (11) on n'a que l'initialisation de filesearch, sans seek, lookin prend la valeur fournie. Faut utiliser la méthode Execute pour scanner le lecteur et retourne 0 si pas de disquette ou disquette vierge sinon Nb de fichiers suivant les types et étendues demandés.
 
Autrement, en référençant (scrrun.dll) "Microsoft Scripting Runtime" tu peux utiliser la propriété Isready d'un objet FileSystemObject
...
Dim fso As New FileSystemObject, drv As Drive
Set drv = fso.GetDrive(fso.GetDriveName("A:\" ))
If Not drv.IsReady Then MsgBox "Vérifier que la disquette est bien introduite..." _
, vbExclamation
…
Set drv=nothing
 
Ou encore gérer les erreurs retournées par d’autres commandes genre dir()...

Reply

Marsh Posté le 08-06-2005 à 07:48:05    

Je suis désolé de dir ça mais, comment on référence "scrrun.dll"

Reply

Marsh Posté le 08-06-2005 à 09:38:04    

Menu "Outils" -> "Références..." d'une fenêtre de code. Sélectionne dans la liste.
Si "Microsoft Scripting Runtime" n'y apparaît pas regarde Là...

Reply

Marsh Posté le 08-06-2005 à 11:48:00    

merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed