Home
Richard's Blog
Sabrina's Galery
Katharina
Short But Close
Grandparents
Dr. Schwarz
Pictures
Development
Sabrina's Shanghai
Claudio
Klaus
Links
Recipes
Sabrina's Shorts
Reviews
Karl
MajusArts
_




Learning French by learning Access or Learning Access while learning French …

Whatever works!

Download the sample database
LearningFrench.zip (206 KB created in Access 2003)

This is a small sample database for learning French my way (and with small adjustments you can use it for other languages too). I did it quickly and dirty a couple of months ago and kind of liked to work with it. On the other hand I tried to get the database decently normalized and the core of it is a mapping table for n:n relationships, something people often struggle with. So it’s also a little sample db for Access beginners. But don’t look at form layout and such stuff – I’m poor in that kind of task.

Therefore I dare to think that it’s a good idea to make it available to interested guys out there and I tried to make it more understandable (I bet there is still a lot of German stuff in it when you look closely). Gosh – it really is tough to get something reasonably in shape.

 

How to start

Download the zip file and extract the content in a folder of your choice. It contains 2 Access files LearningFrench.mdb the so called front end (FE) and LearningFrenchData.mdb the back end (BE) which holds the tables.

Open the FE LearningFrench.mdb and the following form will open up:

 

 

This is kind of overkill for this application (but when you need a tool to re-link with dozens of back end databases this comes in handy). Besides the table link feature is courtesy of friend Emilia – one of the few real Access professionals in this small world.

Click on the “Search new DB” button, navigate to the LearningFrenchData.mdb file you have extracted, click OK, the “Change selected links” button and finally “Close” and you are done.

To avoid it popping up each time you open your DB, go to the Start option and replace this form with the frmText. This is the form you will use all the time. Open it right now and …

 

… Start to learn French

But first some general remarks about navigating in Access (I’m a lazy guy and when there is something useful already built in I do use it. Good coding practice is to put the handling in customized buttons – you won’t see many of them in this little application). Watch out for this:

 

These are the built in navigation buttons you’ll find at the bottom of every form. These allow you to navigate through the records. From left to right they do the following: go to the first record / one record back / next record / last record / new record.

In the middle you see the index of the selected record and on the right side the number of records available. You will have to use these buttons frequently in order to navigate through your French lessons

 

If you haven’t done yet, open the form frmText now. Besides a small sample sentence the database is empty. That is because filling the DB is learning the language ;-). frmText looks like this:

 

 

This form has according to the structure of data 2 sub-forms which are linked by the IDs (the primary and foreign keys which link the tables together but in good design you never show to the user).

The upper level is your French text (something you are interested in and copy from the web or any other source).

In order to cope with the translation I like to break the text up into small chunks I can work on. Therefore I copy the first sentence into the field sentence in the first sub-form and write in the field Translation the English, German or whatever translation of my sentence. Usually there are tons of words I have no clue of. I then look in the 2nd sub-form whether the word is already in my dictionary (… and as usual have forgotten about). If it’s new to my dictionary I click the *new Entry* item in the drop down list:

 

 

This brings us to a little form for adding new words:

 

Write down the French word and the translation you probably will look up in an online dictionary.

Select the word class below and in case of a verb the related verb form (later more about that) and click OK. Now the new word is in your database and shows up in your dictionary sub-form. In the footer there is a note field which is part of the dictionary record. There you can put in notes, expressions related to the word and so on.

In case it’s a verb (oh these verbs are killing me and I always struggle with their disguised forms!)  I select the person and tense from the dropdown:

 

 

I only put in one example (the present for regular verbs ending with er – the most common verb form in French).  Filling the various forms of conjugation is – at least on my part – the crucial part of learning French and you should do it yourself when you are serious about learning French.

This brings us to ….

 

… How verbs are mapped in the database

Let’s have a look at the relationships of our little application:

 

 

You see the table holding your text which you can break into sentences as many as you like (standard 1 : n relationship). The first challenge is the fact that a sentence usually has many words in it and on the other hand a word can be in many sentences (the “famous” n : n relationship). That’s where the mapping table comes in. With this little technique you can have a proper n : n relationship knowing all the time which words are selected for a sentence and which sentences a given word is in.

Now to the verb part (probably over engineered but a nice example how you can model the structure of something into your db). Let me try to explain:

When a word is a verb you need to assign or create a verb form (creating a relationship to tblVerbs). To define the verb forms is a tricky task. Here is what I do. First there is the distinction between regular and irregular verbs:

Regular verbs: I name them like Ending_er_2 (that doesn’t work for the ir-verbs – I named them after the example verb in my grammar – you have to be creative ;-). When you double click on the Person_Tense field (in the record for “desirer” in our little example) you get to the conjugation form:

 

 

The field CountEnding is an important one. It tells us how many letters we have to eliminate from the right in order to get the root of the verb. To this root then the conjugation endings are added.

Now when you need the forms for Imparfait select the conjugation and then the person forms and put in the endings:

 

 

For irregular verbs I leave the CountEnding blank put in the basic form of the verb for a name and type in the full verb forms. As an example the conjugation of étre:

 

For Access insiders: The field CountEnding is used for processing a verb form. In your SQL you would then have something like this:

IIf(IsNull(tblVerbs!CountEnding),tblConjugation!Conjugation,Mid(tblDictionary!Word,1,Len(tblDictionary!Word)-tblVerbs!CountEnding) & tblConjugation!Conjugation) AS Form

Last but not least, with the “New” button you can create a new Verb form & I hope this was not too confusing for you. It still is for me J

 

Your little dictionary

When you double click a word you get to a little dictionary form:

 

 

Here you can measure your progress by counting the collected words and are able to see for which sentences a word was used.

 

That’s it. There are many better language learning tools out there. But when you work with Access anyway and like to do it your way I hope it will be some fun. Feel free to contact me with any questions and definitely give me feedback about bugs you detect.

 

I still have the idea to add some testing feature (like creating random cloze texts to practice the vocabulary. Honestly: I don’t have a clue how to do this. When someone is out there with skills like this – Just let me know.

 

Have fun

Richard


copyright 2009 - 2011 Richard Winter
Complaints, questions, comments? Contact richard@richardhwinter.de