The information that you need will most likely be made available as a "web service", basically you provide a url containing your request and get the number back from the provider.
Doing a search for "base metal prices web service" throws up companies offering the service.
From your other...
Are you accessing the databases via a network?
The best configuration is probably the forms in a file on your local machine and the data in a file on the network.
If you are logged into a VPN at home then possibly some network resource is unavailable at home that you have at work.
You need...
You need to create a foreign key in the Apartment table that references the student table.
Empty apartments are those where this field is null.
I think you should start as simply as possible,
The relationship originally described is one to many with one student potentially occupying one of many apartments. There is no request for multiple students to occupy the same apartment.
The use of the junction table described above would resolve a many to many relationship which might one...
The behaviour you have described is almost certainly due to something that happens in the crash scenario but not the other.
That is easy enough to debug and get to the bottom of once you have the experience to know what you're doing you can identify the line of code that crashes the app and...
I suspect you may be trying to do something in an over-complicated way
You might also consider the use of an Input Mask (You'll see it as a property on the fields in the table designer, click F1 there)
Just a little note regarding your VBA coding stye. It is best to leave the control visible and explicitly set the visibility, this mean the code doesn't need the explanation you have given it. Also you can often use the truth of a condition directly rather than using an if.
The bracketted...