junction tables allow your data to be normalised.
think of a movie database. you can have many actors, and many movies. now, some actors appear in the same movies, while other movies have different actors.
instead of making one big table for which actors are in movies, you make three tables: one for actors, one for movies, and one to join them: ActorsInMovies (or something)
the records in the third table (the junction table) have it's own junctionID (so you can refer to the combination), a lookup field for an actor and a lookup field for a movie.
you would then enter data per actor per movie... so, let's say you wanted to enter all the movies angelina jolie starred in you would do it like this:
record 1: angelina jolie | tomb raider
record 2: angelina jolie | sky captain and the world of tomorrow
record 3: angelina jolie | hackers
and so on.
but those movies have other actors in them too. so you'll want to put them in too. in your actors table, you put in all the actors you know you'll need. then, you link them to your movies in your junction table like this:
record 4: jonny lee miller | hackers
record 5: jessie bradford | hackers
record 6: mathew lillard | hackers
record 7: jon voight |tomb raider
record 8: noah taylor | tomb raider
record 9: gwenyth paltrow | sky captain and the world of tomorrow
record 10: jude law | sky captain and the world of tomorrow
and so forth...
see, in one big, ugly, non-normalised table you'd probably do this:
MovieName |Actors
Tomb Raider | Angelina Jolie, Jon Voight, Noah Taylor
and then for hackers, you'd have to type in angelina again, and then again in other movies she's starred in.
or bad again:
MovieName | Actor1 | Actor2 | Actor 3 ......
Tomb Raider | Angelina Jolie | Jon Voight | Noah Taylor
Sky Captain | Jude Law | Gweneth Paltrow | Angelina Jolie
Hackers | Jessie Bradford | Angelina Jolie | ....
- now how would you search all the movies Angelina's been in? you'd have to come up with a pretty ugly and complex query, or several queries, or worse: count them by hand!
with the junction table, it takes it actor names from the actor table, so you only have to type "angelina jolie" once: in the actor table. then a lookup is used in the junction table to simplify.
it makes data entry even easier if you've got a form to do it with: make a form frmMovies, and another form frmJunction. now, put frmJunction INSIDE frmMovies - you have just made a subform
access will ask you how to define the relationships... you say "define my own" then select MovieID in the 'parent' form, and MovieID in the subform, and now they are linked. when you view Tomb raider in the parent form, all you have to do it put in the actors (and access puts in the movieID into the junction table automatically).
and when you want to find all the movies angelina's been in, you only have to query the ActorID field in the Junction table and it will pull all movies that are linked with her out for you!