Refus effacement image

Résolu
JSB-24270 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour.
Je suis sous visual basic 2015 en vb
J'ai créé un from (produit) dans lequel il y a des textbox et une image du produit.
J'enregistre le tout dans une bd access et tout va très bien mais...
lorsque je veux effacer une fiche, l'image du produit concerné reste dans son dossier et j'ai un message d'erreur:

Informations supplémentaires : Le processus ne peut pas accéder au fichier 'C:\Program Files\PROJET-VBNET\GESTION_PRODUITS\bin\Debug\photos\2downarrow.png', car il est en cours d'utilisation par un autre processus.

voici le code en question.

Private Sub EffacerUneFicheToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EffacerUneFicheToolStripMenuItem.Click

        ' SELECTION DU PRODUIT A EFFACER
        Dim sel As String
        sel = Recherche.Text ' COMBOBOX
        Dim ca As String
        ca = Split(sel, " ")(1)
        Mycommand.CommandText = "Select * FROM produit WHERE reference='" & ca & "'    "
        MyConnexion.Open()
        Dim myReader1 As OleDbDataReader = Mycommand.ExecuteReader()
        If myReader1.Read() Then
            TextBox1.Text = myReader1("reference").ToString
        End If

        ' DELETE PRODUIT PAR REFERENCE
        c.ConnectionString = "Provider='" & prov & "';Data Source='" & fp & "' "
        c.Open()
        Dim cmd As New OleDbCommand("delete * from produit where reference='" & TextBox1.Text & "' ", c)

        cmd.ExecuteNonQuery()
        cmd.Connection.Close()

      ' EFFACER LA PHOTO CORRESPONDANT AU PRODUIT SELECTIONNE
        Dim apsta As String = Application.StartupPath
        File.Delete(apsta & Label13.Text)

    End Sub

J'ai essayé plusieurs méthodes y compris placer le code dans un bouton mais rien n'y fait, j'ai toujours le même message.

Auriez vous une idée pour palier ce problème ???
Merci
A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, as-tu le même problème si l'image n'est pas affichée?
0
Jacques
 
Bonjour yg_be
J'avoue que je n'ai pas essayé étant donné que chaque produit a une photo nécessaire pour la personne qui va gérer l'envoi du colis.
Cette photo sert aussi à comparer la référence et le produit afin qu'il n'y ait pas d'erreur.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
je suggère d'essayer, pour vérifier si ce n'est pas l'affichage qui empêche la suppression.
0
Utilisateur anonyme
 
Bonjour
yg_be a probablement raison, tant que ton logiciel a la main sur l'image, le système ne peut pas la supprimer.

Une fois que tu auras testé sans afficher d'image. Si ça marche, pourras tu poster le code qui affiche l'image.
0
JSB-24270 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour à tous les deux.
J'ai trouvé la réponse d'un internaute qui avait le même problème, je n'y avais pas prété attention car il était pour vs 2005.
J'ai tenté le coup et ça a fonctionné.
Voici le code en question:
        photo.Image.Dispose()
        photo.Image = Nothing
        GC.Collect()
        Dim apsta As String = Application.StartupPath
        Kill(apsta & Label13.Text)

Merci à tous.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Ce qui confirme ce qu'on pensait, tu n'avais pas libérer l'image.

Pense à passer le sujet résolu.
0