The database my application uses has field names containing spaces. I believe this to be the cause of my problem. Here is a typical query:
SELECT * FROM \'OV2
For Microsoft Access, wrap field names that contain spaces with back ticks e.g. SELECT `Eng Units` FROM Table
That depends on the database engine you're using.
For SQL Server, you have to put the field names in brackets: [ ]
SELECT * FROM [OV2 BAS] AS bas
INNER JOIN [OV2 RefID] AS ids ON bas.[Ref ID] = ids.[Ref ID]
WHERE ids.ENUM_H = 'TDischarge';
You don't specify which DBMS you're using, but I'm guessing SQL server, so
SELECT *
FROM [OV2 BAS] AS bas
^^^^^^^^^
... enclose the field name in brackets. Using quotes as you are, turns the field name into a plain string, which will NOT be treated as a fieldname by SQL server.
I don't think you can use quotes around the actual table name; only the name you assign to it. I would wrap the table in brackets instead: [OV2 BAS]
You also can't put quotes around your joining syntax either. Try this instead:
SELECT * FROM [OV2 BAS] AS bas INNER JOIN [OV2 RefID] AS ids ON bas.[Ref ID] = ids.[Ref ID] WHERE ids.ENUM_H = 'TDischarge';
Replace '
with
"
`
[
and ]
For example: "OV2 BAS"
, bas."Ref ID" = ids."Ref ID"
, etc.