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 :

Insertion pièce jointe dans une table via un formulaire


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 22
    Points : 7
    Points
    7
    Par défaut Insertion pièce jointe dans une table via un formulaire
    Bonjour,

    Je souhaite insérer des pièce jointe dans une table depuis un formulaire (fenêtre qui s'ouvre sur click)

    J'ai un problème avec le code, pouvez vous m'aider s'il vous plaît ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Valider_btn_Click()
    Dim req As DAO.Recordset
        Dim sqlInsert As String
        Dim db As DAO.Database
     
     
    sqlInsert = "INSERT INTO Table pj
    (ID,PIECEJOINTE,DESCRIPTION)Values ('" & ListeCollaborateur_cbo.Column(0) & "', '" & PIECEJOINTE & "','" & DESCRIPTION & "' )"
    db.Execute sqlInsert
     
    req.Close
    Set req = Nothing
    db.Close
    End Sub
    Quand je clique sur le bouton d'ajout, le formulaire s'ouvre bien mais impossible d'ajouter des pj ou compléter les zones de texte alors que ce n'est pas vérouillé et le mod ajout, modif... est paramétré sur oui.

    Merci pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Il y a un article dans le forum qui traite très bien ces problèmes.
    Voici le 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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
    On Error GoTo err
    Dim oRst As DAO.Recordset
    'Ouvre un recordset sur les fichiers de l'éleve passé en paramètre
    Set oRst = CurrentDb.OpenRecordset("SELECT Fichiers FROM tbl_eleve WHERE [N°]=" & inteleve)
    With oRst.Fields(0).Value
    'Ajoute la pièce jointe
    .AddNew
    'Lit le fichier
    .Fields("FileData").LoadFromFile strchemin
    .Update
    End With
    AjouterFichier = True
     
    fin:
    Set oRst = Nothing
    Exit Function
     
    err:
    'Gestion d'erreur
    Select Case err.Number
    Case 3024:
    MsgBox "Fichier inexistant", vbCritical
    Case 3820:
    MsgBox "Une autre pièce-jointe de ce nom existe déjà", vbCritical
    Case Else:
    MsgBox "Erreur inconnue", vbCritical
    End Select
    Resume fin
    End Function

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Effectivement j'ai trouvé cet article mais cela ne fonctionne pas, quand je clique sur le champ pièce jointe pour en ajouter une rien ne se passe aucune erreur ou bug.

    Code :

    Code sql : 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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
    
    Dim oFld As DAO.Field2
    Set oFld = .Fields("FileData")
    oFld.LoadFromFile strchemin
    
    On Error GoTo err
    Dim oRst As DAO.Recordset
    'Ouvre un recordset sur les fichiers de l'éleve passé en paramètre
    Set oRst = CurrentDb.OpenRecordset("SELECT PIECEJOINTE FROM GA_PIECEJOINTE_D")
    With oRst.Fields(0).Value
    'Ajoute la pièce jointe
    .AddNew
    'Lit le fichier
    .Fields("FileData").LoadFromFile strchemin
    .Update
    End With
    AjouterFichier = True
    fin:
    Set oRst = Nothing
    Exit Function
    err:
    'Gestion d'erreur
    Select Case err.Number
    Case 3024:
    MsgBox "Fichier inexistant", vbCritical
    Case 3820:
    MsgBox "Une autre pièce-jointe de ce nom existe déjà", vbCritical
    Case Else:
    MsgBox "Erreur inconnue", vbCritical
    End Select
    Resume fin
    End Function

    Merci pour votre aide

Discussions similaires

  1. [AC-2007] Utilisation d'un champ de type pièce jointe dans une table liée
    Par lio33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/04/2012, 11h39
  2. [MySQL] Problème insertion de données dans une table (via formulaire)
    Par bond70 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/04/2010, 16h48
  3. Pièce jointe dans une table possible ?
    Par Badouba75 dans le forum MySQL
    Réponses: 8
    Dernier message: 18/02/2009, 11h34
  4. Réponses: 5
    Dernier message: 09/03/2007, 19h39
  5. Recherche dans une table via un formulaire
    Par Z[ee]k dans le forum Access
    Réponses: 3
    Dernier message: 05/06/2006, 11h14

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