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 :

Erreur d'exécution "3265": Elément non trouvé dans cette collection. [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Erreur d'exécution "3265": Elément non trouvé dans cette collection.
    Bonjour à tous,

    Déjà, j'annonce la couleur: je ne suis pas très doué en VBA!

    Je cherche à créer un outil qui permet d'ajouter des photos à des Enfants (trombinoscope pour une école) et pour cela, je passe par du vba pour limiter la taille de mes fichiers.
    Grâce notamment à developpez.net j'ai pu écrire / récupérer le code suivant (j'ai lu le tuto de Christophe Warin: http://warin.developpez.com/access/piecejointe/#LV-A) mais il me retourne une erreur d'exécution "3265": Elément non trouvé dans cette collection.

    Si quelqu'un peut m'aider, ça serait top!

    Voici la partie du code attachée à mon bouton, qui ne semble fonctionner jusqu'ici . J'y ajouterai la limitation de taille de la PJ plus tard.
    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
     
    Private Sub Ajoutphoto_Click()
     
    Dim strchemin As String
    Dim oFD As Object
    'Paramètre la fenêtre Ouvrir
    Set oFD = Application.FileDialog(msoFileDialogOpen)
    With oFD
        'Ajoute les filtres pour fichiers textes et tous
        With .Filters
            .Clear
            .Add "Documents", "*.doc; *.png; *.jpg ", 1
            .Add "Tous", "*.*", 2
        End With
        .InitialFileName = ""
        'Interdit la multi sélection
        .AllowMultiSelect = False
        'Affiche la fenêtre et vérifie qu'un fichier a bien été choisi
        If .Show Then
            strchemin = .SelectedItems(1)
            If AjouterFichier(strchemin, Me.N°Enfant) Then
                Me.Form.Requery
            End If
        End If
    End With
     
    End Sub

    Et voici la fonction qui doit permettre de insérer la PJ dans la T_Enfants. Et c'est ici que je bloque:

    oRst2("FileData").LoadFromFile (strchemin)

    La variable strchemin est correctement alimentée, mais oRst2("FileData") est l'élément non trouvé dans cette collection.


    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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
     
    Dim oRst As DAO.Recordset2
    Dim oRst2 As DAO.Recordset2
     
    Set oRst = CurrentDb.OpenRecordset("SELECT PhotoEnfant FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
        'Put the parent record into edit mode
        oRst.Edit
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
     
        oRst2.Edit
        oRst2("FileData").LoadFromFile (strchemin)
        oRst2.Update
     
        AjouterFichier = True
     
    oRst.Update
     
    fin:
        Set oRst = Nothing
        Exit Function
     
        Resume fin
     
    End Function
    Merci de votre aide et de vos conseils!

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

    Le champ "FileData" n'est pas dans ta requête qui alimente le Recordset.

    Commence déjà par le mettre dans celle-ci.

    Philippe

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour cette réponse.

    Citation Envoyé par Philippe JOCHMANS Voir le message

    Le champ "FileData" n'est pas dans ta requête qui alimente le Recordset.

    J'ai donc ajouté:
    - un champ PhotoEnfant.FileData dans la requête sur laquelle est basé mon formulaire (je n'avais mis que le champ PhotoEnfant "global)
    - Dans le code, j'ai modifié le contenu du Recordset comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
    Est-ce correct? Mais j'ai toujours la même erreur...

    Merci!

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    il me semble que la syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    Bonsoir,
    il me semble que la syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
    Merci, en fait j'avais déjà essayé ça et ça me donne une autre erreur:

    "Erreur d'exécution '3058':

    Un index ou une clé principale ne peut pas contenir une valeur Null."

    Mais maintenant, la macro bloque sur Je ne sais pas ce qui vaut mieux entre les deux erreurs

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    Je ne sais pas ce qui vaut mieux entre les deux erreurs
    Si du code provoque une erreur, c'est fort probable que cela plantera plus loin, surtout lors de la mise à jour d'un enregistrement.
    Il faut d'abord corriger la première erreur. Je te conseille donc de poster ton dernier code mis à jour, c'est plus pratique pour les contributeurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set oRst = CurrentDb.OpenRecordset("SELECT PhotoEnfant FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
        'Put the parent record into edit mode
        oRst.Edit
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
    Commence par enlever l'un des deux RecordSet (oRst et oRst2 ouvrent le même jeu d'enregistrements, on se demande pour quelle raison).
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci tee_grandbois.

    Je mets ci-dessous mon code à jour, avec donc l'erreur d'exécution "3265": Elément non trouvé dans cette collection sur la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRst2("Filedata").LoadFromFile (strchemin)
    Le code du bouton n'a pas changé, voici celui de la fonction MAJ:

    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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
     
    Dim oRst2 As DAO.Recordset2
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
     
        oRst2.Edit
        oRst2("Filedata").LoadFromFile (strchemin)
        oRst2.Update
     
        AjouterFichier = True
     
    fin:
        Set oRst = Nothing
        Exit Function
    Resume fin
     
    End Function
    Merci!

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    le code que tu utilises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRst2("Filedata").LoadFromFile (strchemin)
    le code que j'ai posté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
    l'as-tu essayé ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois,

    Oui, je l'ai essayé et mon erreur 3265 disparaît, mais comme je le disais dans mon autre message, j'ai maintenant une erreur 3058 sur la ligne "Erreur d'exécution '3058': Un index ou une clé principale ne peut pas contenir une valeur Null."

    Voici donc mon code mis à jour:

    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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
     
    Dim oRst2 As DAO.Recordset2
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
     
        oRst2.Edit
        oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
        oRst2.Update
     
        AjouterFichier = True
     
    fin:
        Set oRst2 = Nothing
        Exit Function
    Resume fin
     
    End Function
    Merci!

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
        
       if not oRst2.eof then oRst2.Edit then oRst2.addnew
    
        oRst2("N°Enfant")=inteleve
        oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
        oRst2.Update
    Dernière modification par Invité ; 07/12/2017 à 11h49.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Bonjour dysorthographie,
    J'ai essayé ce que tu proposes. J'ai esayé ce que tu proposes, mais j'ai du modifier légèrement pour en pas avoir d'erreur (j'ai remplacé un then par else et ajouté end if). C'est correct?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
            If Not oRst2.EOF Then
            oRst2.Edit
            Else
            oRst2.AddNew
            End If
        oRst2("N°Enfant") = inteleve
        oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
        oRst2.Update
    Mais j'ai à nouveau l'erreur 3265 sur la ligne: oRst2("N°Enfant") = inteleve

  12. #12
    Invité
    Invité(e)
    Par défaut
    Désolé!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData, [N°Enfant] FROM T_Enfants WHERE [N°Enfant]=" & inteleve)

  13. #13
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Alors j'ai modifié la ligne et j'ai une nouvelle erreur sur la ligne oRst2("N°Enfant") = inteleve:

    "Erreur d'exécution 3164: Le champ ne peut pas être mis à jour"

    Voici mon code actuellement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData, [N°Enfant] FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
            If Not oRst2.EOF Then
            oRst2.Edit
            Else
            oRst2.AddNew
            End If
        oRst2("N°Enfant") = inteleve
        oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
        oRst2.Update

  14. #14
    Invité
    Invité(e)
    Par défaut
    N°Enfant et un AutoIncrément?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData] FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
            If Not oRst2.EOF Then
            oRst2.Edit
            Else
            oRst2.AddNew
            End If
           oRst2("PhotoEnfant.Filedata").LoadFromFile (strchemin)
        oRst2.Update

  15. #15
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    N°Enfant et un AutoIncrément?
    Oui, c'est un numéro Auto et la clé primaire de ma table principale, qui liste tous les enfants.

    Dans un formulaire "Ajout photo", en mode continu, basé sur une requête, j'affiche tous les enfants qui n'ont pas encore de photo (càd ceux pour qui PhotoEnfant.FileName Est Null.

    Et quand je clique sur le bouton en face d'un enfant, je veux ajouter sa photo et qu'elle vienne s'enregistrer dans la table principale.

    Merci pour tes réponses!

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour Joe002 et dysorthographie,
    en combinant tous nos codes on devrait peut-être y arriver (je n'ai pas testé mais je me suis inspiré de ce code : https://www.developpez.net/forums/d1...s-jointes-vba/)
    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
    Function AjouterFichier(strchemin As String, inteleve As Integer) As Boolean
     
    Dim oRst2 As DAO.Recordset2
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = CurrentDb.OpenRecordset("SELECT PhotoEnfant.FileData FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
        With orst2.Fields("PhotoEnfant").Value
            .AddNew
            .Fields("Filedata").LoadFromFile (strchemin)
            .Update
        End With 
        AjouterFichier = True
     
    fin:
        Set oRst2 = Nothing
        Exit Function
    Resume fin
     
    End Function
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  17. #17
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci tee, j'ai essayé ton code, mais ça ne fonctionne pas.

    Cette fois j'ai à nouveau l'erreur 3265 sur la ligne With oRst2.Fields("PhotoEnfant").Value

    Désolé de vous faire suer

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Désolé de vous faire suer
    pas de souci ...
    essaie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        With orst2.Fields("PhotoEnfant.FileData")
            orst2.AddNew
            .LoadFromFile (strchemin)
            orst2.Update
        End With
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  19. #19
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Damned, il me ressort l'erreur "Erreur d'exécution '3058': Un index ou une clé principale ne peut pas contenir une valeur Null."

    Sur la ligne oRst2.Update, comme la fois d'avant.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Décembre 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2017
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Victoire!

    Grâce au tuto de Tofalu (https://www.developpez.net/forums/d1...s-jointes-vba/), j'ai réussi ! En fait il fallait editer le recordset parent, donc je suis arrivé à la formule suivante:

    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
    Dim oRst As DAO.Recordset
    Dim oRst2 As DAO.Recordset
     
        'Ouvre le recordset parent du champ PhotoEnfant
        Set oRst = CurrentDb.OpenRecordset("SELECT * FROM T_Enfants WHERE [N°Enfant]=" & inteleve)
     
        'Ouvre un recordset sur les fichiers de l'enfant passé en paramètre
        Set oRst2 = oRst.Fields("PhotoEnfant").Value
     
    'Edite le Recordset parent     
        oRst.Edit
        With oRst2
            .AddNew
            .Fields("FileData").LoadFromFile (strchemin)
            .Update
        End With
        AjouterFichier = True
        oRst.Update
    fin:
        Set oRst = Nothing
        Set oRst2 = Nothing
        Exit Function
     
        Resume fin
     
    End Function
    Merci à tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2010, 17h37
  2. [AC-2003] Err 3265 Eléments non trouvé dans cette collection
    Par Misha dans le forum IHM
    Réponses: 2
    Dernier message: 01/10/2009, 13h40
  3. Réponses: 3
    Dernier message: 02/03/2008, 17h08
  4. bdd : erreur 3265 élément non trouvé dans cette collection
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/07/2006, 09h52

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