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

VB 6 et antérieur Discussion :

problème avec images dans la base de données


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut problème avec images dans la base de données
    Bonjour à tous
    Comme on m'a proposé ici, j'ai fais un lien au dossier des images.
    Tout se passe bien sauf un problème que je viens de remarquer pour l'instant.
    Dans ma base de données, il y'a des noms avec leurs photos et d'autre non.
    Par exemple 'x' a une photo mais 'y' non.
    Quand je fais appel a 'x' à l'aide du bouton cmd_recherche, sa photo apparrait dans image.picture et c'est normal parce que j'ai ajouté son image lors de son enregistrement. Mais ce qui anormal est que lorsque je cherche 'y' l'image de 'x' apparait dans image-picture mème si on l'a pas enregistré une image.
    Cependant si je commence la recherche par 'y' tout se passe bien.
    le code de recherche dont je me sert est ceci:

    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
     
         If Text1.Text = "" Then
           MsgBox "Veuiller saisir un nom à rechercher", vbInformation + _
                         vbMsgBoxRtlReading + vbOKOnly, "Attention"
    End If
     
    If Text1.Text <> "" Then
    If IsNumeric(Text1) = False Then
        Set RS = New ADODB.Recordset
    RS.Open "select * from table1 where nom like '%" & Text1.Text & "%' And prenom like '%" & Text2.Text & "%'", DB, adOpenStatic, adLockOptimistic
           If RS.RecordCount > 0 Then
     
     
       End If
     Text1.Text = RS!Nom
     
     Text2.Text = RS!Prenom
     Text3.Text = RS!age
     Text4.Text = RS!date
     Text5.Text = RS!tel
     Text6.Text = RS!plan
     Text7.Text = RS!obs
     Text8.Text = RS!type_trait
      Text9.Text = RS!image
      Text10.Text = RS!photo_type
      Text11.Text = RS!photo_source
    Else
       MsgBox "Aucune fiche avec ce nom", vbInformation + _
                         vbMsgBoxRtlReading + vbOKOnly, "Attention"
        End If
        Text1.SetFocus
    End If
    End If
    merci de votre patience avec moi

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ne manque t'il pas le code ou tu charge l'image ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    Désolé
    Voici le code que j'utilise pour l'insertion d'image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub inserer_image_Click()
    On Error Resume Next
        cd.CancelError = True
        cd.Filter = "Image Files (*.gif; *.jpg*.Bmp*.ICO)| *.gif;*.jpg;*.Bmp;*.ICO"
        cd.DialogTitle = "Picture"
        cd.ShowOpen
        PicFile = cd.FileName
        Text10.Text = cd.FileTitle
        Image1.Picture = LoadPicture(PicFile)
        Text11.Text = PicFile
     
     Exit Sub
    End Sub
    Et ce code pour cmd-enregestrer

    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
    Set RS = New ADODB.Recordset
    RS.Open "select * from table1 " & _
            " where nom    = '" & Text1.Text & "' " & _
            "   and prenom = '" & Text2.Text & "'", _
            DB, adOpenDynamic, adLockOptimistic
          If Not RS.BOF Then
    FileCopy (PicFile), App.Path & "\image" & "\" & (Text10)
    Text9.Text = App.Path & "\image\" & (Text10)
         RS!Nom = Text1.Text
                RS!Nom = Text1.Text
                RS!Prenom = Text2.Text
                RS!age = Text3.Text
                RS!date = Text4.Text
                RS!tel = Text5.Text
                RS!plan = Text6.Text
                RS!obs = Text7.Text
                RS!type_trait = Text8.Text
                RS!image= Text9.Text
                 RS!photo_type= Text10.Text
                RS!RS!photo_source = Text11.Text
    RS.Update
     
        Else
         RS.AddNew
    RS!Nom = Text1.Text
                RS!Nom = Text1.Text
                RS!Prenom = Text2.Text
                RS!age = Text3.Text
                RS!date = Text4.Text
                RS!tel = Text5.Text
                RS!plan = Text6.Text
                RS!obs = Text7.Text
                RS!type_trait = Text8.Text
                RS!image= Text9.Text
                 RS!photo_type= Text10.Text
                RS!RS!photo_source = Text11.Text
    RS.Update
     
     Exit Sub
     End If
     Else
        MsgBox "Veuiller remplir les champs", vbMsgBoxRtlReading + vbCritical _
                 + vbOKOnly, "Erreur"
        RS.MoveNext
     
     End If
    merci

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 177
    Points : 98
    Points
    98
    Par défaut
    Mais ce qui anormal est que lorsque je cherche 'y' l'image de 'x' apparait dans image-picture mème si on l'a pas enregistré une image.
    Cependant si je commence la recherche par 'y' tout se passe bien.
    je n'ai pas bien examiné le code mais d'après ce que tu dis peut être tu dois vérifier que tu "vides" image.picture avant chaque recherche (au début de la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cmd_recherche_Click()
    image1.Picture = 0 'ça doit être faux mais ça serait une chose comme ça (je n'ai pas travaillé avec les picturebox)  
    ....
    .....
    ....
    end

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    merci guefrachi mais j'ai reçu un message 'type mismatch' lors de l'éxéction du code:

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 177
    Points : 98
    Points
    98
    Par défaut
    j'ai bien dis que c'est faux, je t'ai donné l'idée qui peut te résoudre le problème, il faux chercher la bonne syntaxe, je vais essayer avec toi.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    merci . j'attends avec impatience!

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 177
    Points : 98
    Points
    98
    Par défaut
    merci . j'attends avec impatience!
    j'ai cru qu'on va chercher ensemble
    trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.Picture = LoadPicture(none)' j'ai remarqué qu'on peut mettre au lieu de none n'importe quel nom (à condition qu'il ne soit pas celui d'une image existante)

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    j'ai cru qu'on va chercher ensemble
    J'ai déja passé 4 ou 5 heures en recherche mais en vain.
    Pour ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.Picture = LoadPicture(none)
    message:
    variable not defined
    ( none) sellectionné
    Donc le programme n'a pas reconnu 'none'
    merci

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Je vois toujours pas :
    Citation Envoyé par bbil Voir le message
    ne manque t'il pas le code ou tu charge l'image ?
    je parle bien sur du moment ou tu as ton problème, d'affichage... tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Text11.Text = RS!photo_source
    mais ensuite il est ou le code qui affiche l'image dont le nom de fichier est contenu dans Text11.text .?

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    Bonjour bbil
    mais ensuite il est ou le code qui affiche l'image dont le nom de fichier est contenu dans Text11.text .?
    Celui-ci je pense:
    En fait, je me sert seulement des trois codes cmd_inserer , cmd_enregestrer et cmd_rechercher et je ne sait pas si je dois ajouter autres codes.
    Mais je dois noter qu'avec le code cmd_inserer et cmd_enregistrer, les images se chargent dans le dossier des images et je peux les enregistrer des la base de données. Le problème que je confronte est avec le cmd_recherche comme je viens de décrire la situation dans mon premier message.
    merci

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben dans le code que tu nous as posté dans ton cmd_rechercher il n'y as rien qui met a jour ton contrôle image ... fait une recherche de Image1.Picture dans ton code pour voir comment celui-ci est renseigné..

    Attention aussi a ton emploi de "On Error Resume Next", cette instruction permet de "masquer" les erreurs programmes ... mais ensuite lors d'erreur il faut voir si en fonction de ton cas il faut ou pas gérer cette erreur ...
    Le mieux est que tant que tu ne maitrise pas son fonctionnement est d'éviter son utilisation et supprimer ces lignes "On Error Resume Next"

  13. #13
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 177
    Points : 98
    Points
    98
    Par défaut
    message:
    variable not defined
    ( none) sellectionné
    Donc le programme n'a pas reconnu 'none'
    bon, ça marchait pour moi car je n'ai pas mis "option explicit" , j'ai trouvé ici comment le faire proprement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.Picture = nothing

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.Picture = nothing
    [/QUOTE]

    Je ne sais vraiment comment te remercier.
    ça bien marché.
    Merci beaucoup

  15. #15
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 177
    Points : 98
    Points
    98
    Par défaut
    Je ne sais vraiment comment te remercier.
    il n'y pas de quoi

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2012, 15h19
  2. Réponses: 5
    Dernier message: 01/08/2011, 21h49
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  4. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54
  5. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27

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