je monte un projet de visionneuse d image reliee a une base de donnée
et je bloque sur l affichage des images.
elles sont classées par theme
j ai donc un datacombo qui me trie les images par theme et m affiche tous les resultat dans un datalist
c est ensuite pour chargé l image dans l imagebox que je bloque
j ai effectué une recherche par rapport a l objet cliquer dans la
datalist mais il me remplace le champs "nom" de l image dans ma table
:( tout en affichant bien l image
j aimerais savoir si il y a un moyen de bloquer la modification d un
enregistrement ou alors si vous connaissez une autre methode pour
afficher l image sachant que le chemin de l image est stocké dans un
champ de ma base
Marque le code avec lequel tu affiches ton image et celui avec lequel tu alimentes ta datalist, parce qu'il n'y a aucune raison que l'enregistrement soit modifié (vérifie sinon si tu n'as pas du code du style table.edit, table.update, a priori, ça n'a rien à faire dans ton code).
Parce que le principe d'affichage est simple :
Table dans une base de données avec le nom et le chemin de ton image dans 2 champs.
Ta combo affiche, en fonction de critères qui te sont propres, une liste de nom d'images.
Il te reste à écrire une requête du style :
"SELECT CheminImage FROM Table WHERE NomIMage=" & """" & ComboBox.value & """"
(propriété .value ou .text suivant ce que tu alimentes dans ta combo, tu aurais sans doute intérêt à utiliser une clé primaire au passage)
Te reste plus qu'à charger ton image (loadpicture...) avec le résultat de ta requête.
Function affich()
Dim lechemin As String
Adodc3.CommandType = adCmdTextAdodc3.RecordSource "Select chemin from image where nom '" + DataList.Text + "'"
Adodc3.Refresh
lechemin = Adodc3.Recordset.Fields("chemin")
'MsgBox (Adodc3.Recordset.Fields("chemin"))
affich = LoadPicture(lechemin)
End Function
voila le code
il suffit d appeler la function sur un double click dans la datalist (enfin c selon le choix :p)