Your query was as follows:
SELECT Main.FirstNm, Main.M, Main.LastNm, Main.Address1, Main.Address2, Main.City, Main.State, Main.Zip, ID.IDNum, Main.SocSecID;
FROM Main INNER JOIN ID ON Main.SocSecID = ID.SocSecID WHERE Left([ID.IDNum],2)="CA" AND CLng(Mid([Main.IDNum],3)) Between [Please enter start ID Number] And [Please enter end ID Number] ORDER BY ID.IDNum DESC;
You have a semi-colon after Main.SocSecID; - don't need it. The "CA" is there as I thought you wanted to treat the state part of the field separately. The user would enter the state then the range, as in - "WHERE Left([ID.IDNum],2)= [Enter State] AND".
However since you don't want that use the query below:
SELECT ID.IDNum, Main.FirstNm, Main.M, Main.LastNm, Main.Address1, Main.Address2, Main.City, Main.State, Main.Zip, Main.SocSecID
FROM ID INNER JOIN Main ON ID.SocSecID = Main.SocSecID
WHERE ID.IDNum Between [enter start ID Number] And [enter end ID Number];
Bob