First, don't embed SQL in VBA: hard to maintain, SQL injection, etc. Use a stored proc on the database side (even Access has PROCEDUREs).
Second, use COALESCE (or equivalent logic) to handle your 'empty string equates to NULL' UI logic. You don't say which SQL syntax and you haven't posted schema DLL so we're merely guessing...
SQL Server:
CREATE PROCEDURE GetTotals
@SimulationID INTEGER, 
@Test1 VARCHAR(20) = NULL
AS
SELECT * 
  FROM Total AS T1.
 WHERE T1.SimulationID = @SimulationID
       AND COALESCE(T1.Test1, '') = COALESCE(@Test1, '');
Access Database Engine (a.k.a. Jet):
CREATE PROCEDURE GetTotals
(
 :SimulationID INTEGER, 
 :Test1 VARCHAR(20) = NULL
)
AS
SELECT * 
  FROM Total AS T1
 WHERE T1.SimulationID = :SimulationID
       AND IIF(T1.Test1 IS NULL, '', T1.Test1) 
          = IIF(:Test1 IS NULL, '', :Test1);
Then execute the proc using your middleware (ADO, DAO, etc) with Parameter objects, using the empty string (or other 'magic' value) for NULL.