I included an example you may download because it will be easier for you to understand by seeing it work...
Extract 1 workbook and 4 pictures to the same path.
Basically, you draw out a shape from the drawing toolbar(for example, a rectangle), select it, name it by selecting the name box, type "PupilPicture", hit enter.
In your database, include information that determines which picture to show when your data is pulled using whatever function. My example uses VLookUp. The picture naming convention is a concatenation of the students first and last name. You will have to provide the path to the folder containing your pictures.
You then trap the calculation event and update the shape's picture using the UserPicture method...
[e2] is the cell that contains the picture name. It is hidden in the example but there are multiple ways of doing this.
Private Sub Worksheet_Calculate()
On Error Resume Next
Application.EnableEvents = False
Me.Shapes("PupilPicture").Fill.UserPicture ThisWorkbook.Path & Application.PathSeparator & Range("E2")
Application.EnableEvents = True
No doubt, I made this sound more complicated than it really is. Download the example.