Couple of things I see that could be going wrong.
1) you don't have any specifically reserved words for your column names, but there are a couple that are questionable like year.
to elemental problems like reserved words, i like to use a naming structure for the table that prefaces each column name withe the table name. for example, instead of:
refID
dateEntered
status
etc...
where the table name is propDetail, i would use that in the column names:
propDetailRefID
propDetailDateEntered
propDetailStatus
etc...
This does 2 things, prevents the possibility of using reserved words, and prevents the possibility of the ambiguous column names error when doing a join query
2) all of the columns that can contain text are sett the text data type, this is not a very good practice. by using the text data type, you are setting aside a large storage area for a column that may not have a value that fills it.
unless you absolutely need to be able to store many paragraphs of information in a column, you should not use the text data type, you should use the archer data type, and only set enough storage space.
for example the town column will only contain the name of the town, theres no need to set aside more than 50 characters of space for a town name.
description may contain a few paragraphs, so that one works for text, but region again is probably only one word, use archer(50) for that. status, you have "For Sale", theres no use setting aside the text data type for 8 characters.