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

Access Discussion :

attacher des liens (images,word,xls..) dans une zone liste


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut attacher des liens (images,word,xls..) dans une zone liste
    Salut,
    Grace a un tuto, j ai reussi a recuperer le lien d un fichier grace a la boite de dialogue windows classique "parcourir" pour l inserer dans une zone de texte(textbox)

    je voudrais associer plusieurs liens de documents, mais dans une liste (champs type texte).A chaque nouvel attachement, je voudrais que le lien s enregistre a la suite du dernier, et pas qu il le remplace.

    Le but est de pouvoir ensuite cliquer sur un des liens pour que le document(jpeg, word...) s'ouvre

    Auriez vous une idée?

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 580
    Points
    24 580
    Par défaut
    le mieux est de faire une table enfant pour mettre ces données.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    C est ce que j avais fait, j avais crée une Table Dokument avec un champs Id (numauto) et un champs Dokument(texte)

    Dans mon formulaire, ma zone liste s appelle aussi Dokument.

    Au bouton j ai associé ce code


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub Befehl59_Click()
    Dim strLink As String
    Dim sql As String
    'Fehler Management
    On Error GoTo Catch01
    
    
    ' Adresse vom Bild durch den DialogBox genommen
    
    strLink = OuvrirUnFichier(Me.hwnd, _
                             "Ein Bild für den Fehler auswählen " & Me.Fehler_Id, _
                             1)
    
    ' Wenn die Adresse nicht null ist
    If Len(strLink) > 0 Then
            
    'ein Wert in der Tabelle Dokument hinfügen
    
    'sql = "INSERT INTO Dokument(Dokument) VALUES (strLink)"
    
    'DoCmd.RunSQL sql
    
    Me.Dokument.Requery
    End If
    
    'DisplayPhoto
    Exit Sub
    
    Catch01:
    Select Case Err.Number
        Case 2114
            'Typ unkorrekt, man geht automatisch aus der Prozedur
            
            MsgBox "Der Format vom Bild ist unkorrekt", vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        Case 2220
            'Die Adresse ist falsch
            MsgBox "Das Bild befindet sich nicht in diesem Ort : " & vbCrLf & _
                    Me.Dokument, vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        Case Else
            ' Andere Fälle
            MsgBox "unbekannter Fehler : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
    End Select
    Err.Clear
    End Sub
    Le pb, c est qu apres avoir selectionne mon fichier dans la boite de dialogue, la rewquete me demande de rentrer une valeur pour strLink, (en rouge ds le code), ce qui est plutot logique.Je ne sais pas quel forme ecrire a la place de strLink. Quel est la syntaxe pour affecter le contenu d une variable?

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 580
    Points
    24 580
    Par défaut
    Il attend tout simplement la valeur du champ Dokument. Donc un chemin (relatif) et un nom de fichier.

    Pour remplir cette variable regarde dans la faq le code OuvrirFichier (openfile) qui permet d'ouvrir la fenetre Ouvrir Fichier.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    je me suis deja servi de cette fonction ouvrirfichier et elle affecte bien l adresse dans un champs texte, mais simple.

    La c est different dans le sens où je voudrais que les liens s enregistre les uns a la suite des autres qd c estg nécéssaire., je passe dc par une requete sql.

    Ds mon code strLink contient l adresse relative et le nom du fichier.Je voudrais juste savoir comment faire pour affecter a table Dokument cette adresse et nom de fichier.(voir code plus haut)

    La variable strLink contient deja l adresse et le nom.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 580
    Points
    24 580
    Par défaut
    Oups mais c'est bien sur :

    Voici comment tu affecte une variable VBA dans une chaine SQL.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    sql = "INSERT INTO Dokument(Dokument) VALUES (""" & strLink & """);"
    Je double le " car la chaine SQL attend du texte. Donc cela fait 3, 2 " qui se transforme en 1 lors de l'interpretation de la ligne par le moteur VBA puis 1 " qui ferme la chaine "INSERT....

    Puis j'ajoute ; à la fin pour être au standard SQL-ACCESS. Quand tu n'est pas sur des résultats n'hésite pas à utiliser le debugeur (voir l'excellent tuto sur le débogage des chaine SQL dans VBA.

    Fais quand même attention qu'il n'y ait pas de caractères inutile en fin de chaine strLink.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    J ai un message d erreur que je ne comprend pas tres bien, c est en allemand, mais en gros il y a probleme de clé...

    Je sais c est tres vague...

  8. #8
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    il reconnait l adresse relative et le nom du fichier, mais le pb intervient lors de l enregidtrement dans la table source de ma liste.

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 580
    Points
    24 580
    Par défaut
    peux tu m'en dire plus sur la structure de cette table ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    Si ta table Dokument dépend d'une table mère il faut d'abord créer l'enregistrement dans cette dernière. A la création ne pas oublié d'écrire dans la table Dok la clef de liaison.

    Sinon la syntaxe est correcte (attention tu avais 2 ( ouvrantes après Values alors qu'il n'en faut qu'une.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "INSERT INTO Dokument(Dokument) VALUES (""" & strLink & """);"

  11. #11
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    Aurais tu une idée?

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 009
    Points : 24 580
    Points
    24 580
    Par défaut
    Si ta table Dokument dépend d'une table mère il faut d'abord créer l'enregistrement dans cette dernière. A la création ne pas oublié d'écrire dans la table Dok la clef de liaison.

    Sinon la syntaxe est correcte (attention tu avais 2 ( ouvrantes après Values alors qu'il n'en faut qu'une.


    Code :
    sql = "INSERT INTO Dokument(Dokument) VALUES (""" & strLink & """);"

    désolé une fausse manip lors de la reponse, j'ai zappé ton message précédent.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  13. #13
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 189
    Points : 54
    Points
    54
    Par défaut
    ca ne fonctionne tjs pas. Je pense que je vais essayer de trouver une autre facon d attacher des liens de doc a un enregistrement(pour pouvoir les ouvrir directement du formulaire ensuite en cliquant dessus). D ailleurs si tu as des idées, elles sont bien sur bienvenue...

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/07/2014, 04h58
  2. Réponses: 1
    Dernier message: 04/10/2013, 15h40
  3. [AC-2003] Insertion des données dans une zone liste
    Par Expensive dans le forum IHM
    Réponses: 3
    Dernier message: 17/12/2012, 11h50
  4. Sélection dans une zone liste deroulante
    Par biboulou dans le forum Access
    Réponses: 5
    Dernier message: 03/05/2006, 09h18
  5. Recuperer un classeur xls dans une zone de liste
    Par uloaccess dans le forum Access
    Réponses: 3
    Dernier message: 11/11/2005, 14h58

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