A family of Microsoft relational database management systems designed for ease of use.
Most of the time, I'm using it to determine whether a record exists and create one if one doesn't exist (such as creating a person record for the primary contact for a company or a tracking record for an order) or update it if it does exist. In some cases, I use it in reverse to delete a record if no matching record exists for it in the recordset (such as removing an outstanding discrepancy record from a table when it is resolved and drops off the discrepancy reports). The way the discrepancy system is handled now opens the discrepancy table one time so I can loop through the recordset for each report and add or delete records as needed. If I have to open a separate recordset for each record in each report, it's going to be a serious PITA.
One possibility would be to create stored procedures in the SQL Server database that accomplish these specific functions, and then calling the stored procedure and passing it parameters with the key values it needs to do its job. For example, you could have a stored procedure to create or update a contact, which you would call with the data values for the contact. Then the sproc would do the work of either creating or updating the contact, and if necessary pass back the primary key of the record it created. You can call stored procedures by way of pass-through queries, or by means of an ADO Command object.
Alternatively, you could have your own Access VBA function to open a recordset on just a single record and do what you want.
Or you could open a recordset on the whole table and use .FindFirst to locate the record you want. That won't be as fast as .Seek was, though, and will probably have other negative effects. Still, it might be good enough for you.