"Been to" a place does indicate that a person has gone to the place or has
visited the place, according to the Collins COBUILD English Dictionary. It is used when the person is no longer in that place.
On the other hand, "been in" can mean that the person has been in the
place and has left or, it can mean that he/she is still in that place.
According to L.G. Alexander, in Longman English Grammar:
"Have been" (generally + "to" or "in") has the sense of "visit
a place and come back."
The context is important in determining whether to use to or in.
In your sentence"I have been in Stockholm since I last saw you," it may
be that the speaker is answering the question "Where have you been?
Have you been away?" The speaker could be speaking from London or Johannesburg
or New York, and this sentence could be part of an explanation of the
speaker's activities:
(Conversation 1)
A:
|
Where have you been? Have you been away?
|
B:
|
Yes, I have. I've been in Stockholm since I last saw you. I've also
been in Copenhagen, Milan, and Barcelona. I just got back yesterday.
|
In
this case, "since I last saw you" marks a point of time ?say, August
24, 2001 ?and the speaker could have been in Stockholm for a week
in October, for example, or for two days in November, or for the month
of
December. The speaker could also say that he had been to Stockholm,
and been to Copenhagen, Milan, and Barcelona.
Or the speaker could be speaking from Stockholm, as in this conversation:
(Conversation 2)
A:
|
Where have you been? I've been trying to get you for a week!
|
B:
|
I've been in Stockholm since I last saw you. I saw you in Berlin on
August 24th, and I've been staying here with my sister ever since.
|
In
this case, "since I last saw you" marks the point of time that the speaker
began staying in Stockholm, and is still there. In this case, the speaker would
not use "been
to."
An additional factor to consider is the place itself, and which preposition ?to or in ?would normally precede the noun or noun phrase.
For example, "I've been to the hospital" clearly indicates that
the speaker has visited the hospital; "I've been in the hospital" means
that the person has been a patient in the hospital.
Your sentence from L. Sterne, spoken without a time reference, must
be uttered in another place, unless the questioner doesn't know what
country
he/she is in at the moment of speaking. The context might show the
responder to be in France now, or, to have recently been in France.
The sentence
could also be, if it is known that the responder is elsewhere right
now: "You have been to France?" If, however, the sentence is "You have been
in France for a long time?" it seems probable that both the questioner
and the responder are in France at the moment of speaking. It could
also be that the questioner is elsewhere, though, and that only the
one who
is going to respond is actually in France at the moment.