It's difficult to recommend a solution without knowing a LOT more about your
application.
For the first question, let me explain it this way:
Let's say you had a piece of paper in a drawer with three words on it.
One person takes the paper, makes a copy of it, returns the paper to the drawer
and walks away.
A second person takes the paper and makes a copy, returns the original, and
writes a fourth word on the list.
Does the first person see the fourth word? of course not.
Say the second person then takes the original copy and throws it away and
replaces
it with HIS modified copy.
The "original" or "master" paper now has 4 words, but they are not (necessarily)
the
same four words as are on the copy (or copies).
That is the danger with opening shared files. The last person to file his/her
changes wins!
because all the other changes will be discarded!
In most cases, this is not the desired outcome, because it would mean that
everyone but the last person is wasting their time.
That is why MicroSoft (in their infinite wisdom) designed (or at least utilized)
this method to ensure that only one person at a time has the authorization to
write to the file.
Now, for what method you SHOULD use depends on what the data is you're
manipulating, and what applications are available. (BTW: SQL is a "language",
not really a place to store things... although SQLServer is a Database Storage,
like Oracle and MSAccess)
Really, if what you're talking about is having two people open the exact same
piece of information, make changes to it and BOTH be able to save their
changes, chances are it's not going to happen. Thousands and thousands of lines
of code have been written to ensure that that DOESN'T happen. What you want to
do is to MANAGE the changes.
It is possible to use Excel as a front-end tool to get to the data (stored in
Access,Oracle, SQLServer, etc)
Before we can recommend an approach, we need to know more about what you're
doing.