IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Creation dossiers nommes a partir d un champ d une requete


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 38
    Points
    38
    Par défaut Creation dossiers nommes a partir d un champ d une requete
    Bonjour,

    Dans ma base de donnees j ai une requete qui me renvoie un resultat x et dont un des champ se nomme ''fournisseur''. Il peut y avoir plusieurs fois le meme fournisseur dans le resultat de la requete (6 fournisseurs au total mais pas forcement les 6 en meme temps).

    A partir du resultat de ma requete je souhaiterai pouvoir creer des dossiers sur le bureau de mon PC (CreateFolder method ?) nommes a partir du champ fournisseur (1 seul dossier par founisseur).

    Je n ai rien trouve qui fonctionne vraiment. Quelqu un aurait il une idee?

    Merci d avance pour votre aide.

    Cordialement,
    Sylvie

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Quand tu dis que tu n'as rien trouvé qui fonctionne, il faudrait que tu expliques ce que tu as essayé de faire.

    En effet il se peut qu'il y ait juste une petite modification de ton code à réaliser, cela aidera les membres du forum à te répondre.

    Comment récupères tu l'information ? A partir d'un recordset ?

    Philippe

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Je suis vraiment debutante en programmation VBA donc je suis tres loin d avoir compris toutes les subtilites du langage.
    Voila le code que j essaye de faire fonctionner. En effet j utilise un recordset pour recuperer les informations. Le code bloque sur ''Set SQL'', le message d erreur est ''Objet required''.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub CreateSubFolder()
     
    Dim DB As DAO.Database
    Dim SQL As String
    Dim RS As DAO.Recordset
    Dim FSO As Object
    Dim Path As String
     
    Set DB = CurrentDb
    Set SQL = "SELECT 'SubQrySDRpipe.Supplier' FROM 'QryStatusallDoc';"
    Set RS = DB.OpenRecordset(SQL)
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Path = "C:\Documents and Settings\sylvie.serplet\Desktop\Doc Control" & "\" & RS
     
    Do Until RS.EOF
     
    If Not FSO.FolderExists(Path) Then
     
    FSO.CreateFolder (Path)
     
    End If
     
    RS.MoveNext
     
    Loop
     
    RS.Close
     
    Set RS = Nothing
     
    End Sub
    Merci pour votre aide et votre patience...

    Cordialement,
    Sylvie

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    SQL est une variable de type String, donc pas de SET devant, ce terme SET est réservé aux objets.

    De même devant Path, change le nom, car c'est un mot réservé.

    Philippe

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Merci pour votre aide.
    Le code me cree bien un nouveau dossier portant le nom du fournisseur mais uniquement du premier ''recordset''. On dirait que la methode ''loop'' ne fonctionne pas.
    Je pense que le code n arrive pas a faire le lien entre le ''recordset'' et le dossier a creer ou alors qu il faut remettre a zero le ''recordset'' avant qu il lise la ligne suivante. Malheureusement je ne sais pas comment faire.
    Je vous redonne le code une fois corrige.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub CreateSubFolder()
     
    Dim DB As DAO.Database
    Dim SQL As String
    Dim RS As DAO.Recordset
    Dim FSO As Object
    Dim DestPath As String
     
    Set DB = CurrentDb
    SQL = "SELECT (SubQrySDRpipe.Supplier) FROM (QryStatusallDoc);"
    Set RS = DB.OpenRecordset(SQL)
    Set FSO = CreateObject("Scripting.FileSystemObject")
    DestPath = "C:\Documents and Settings\sylvie.serplet\Desktop\Doc Control" & "\" & Me.Supplier
     
    Do Until RS.EOF
     
    If Not FSO.FolderExists(DestPath) Then
     
    FSO.CreateFolder (DestPath)
     
    End If
     
    RS.MoveNext
     
    Loop
     
    RS.Close
     
    Set RS = Nothing
     
    End Sub
    Merci pour votre patience.
    Cordialement,
    Sylvie

Discussions similaires

  1. remplir une listbox a partir d'un champ d'une requete mysql
    Par xalam dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/04/2010, 18h39
  2. Réponses: 1
    Dernier message: 28/04/2008, 16h47
  3. Réponses: 8
    Dernier message: 24/01/2008, 22h36
  4. Remplir une liste déroulante à partir d'un champ dans une pop up
    Par wiam26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 16h42
  5. Réponses: 2
    Dernier message: 08/05/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo