Afhængig af databasen, har den en indbygget dato-funktion som du bør benytte i stedet for VBScripts. I Access hedder dato-funktionerne Date eller Now og i SQL Server hedder de date() og getdate() - selvom jeg er lidt usikker på date() i SQL Server.
Det betyder at din kode skal se således ud i stedet (med et kald til Access):
Call opentbl("SELECT * FROM Vagtplan WHERE Dato > Date()", vagt)
Der er lige en syntaktisk ting med din kode, men jeg antager at vagt er en variabel som sendes med til funktionen opentbl, da jeg ikke synes den giver meget mening i SQL-sætningens kontekst.