Devo fare una precisazione tecnica rilevante...
Definire "" equivalente a NULL è estremamente errato.
Il primo è un valore Stringa con Lunghezza=0
Il Secondo non è un valore Stringa, è assenza di dato.
Non sottovalutate questi aspetti... una Variabile definita Stringa non può assumere valore NULL, ne consegue che non possono essere associabili...
Se riempite un campo con NULL non verranno identificati Records cercando "" e viceversa...
In merito alla cancellazione di CAMPI sono molto stranito dall'esigenza di Creare e Cancellare campi in Tabella come fosse un foglio di Excel... motivo per il quale evito di esporre la mia ipotesi...
In tutti i casi non si può ottenere la cancellazione di una Colonna condizionando lo Statement DDL di DROP, serve fare 2 passaggi...
1° Query di verifica che nessun Records venga restituito applicando al Campo il Criterio NULL
2° Se nessun Record è presente(significa che tutti sono NULL in quel campo) allora lo statement DDL(Data Definition Language) consentirà il DROP.
Ricordo che esiste anche il metodo DELETE di DAO applicabile sulla Collection FIELDS membro dell'oggetto TABLEDEF
Quindi
DbExecute(0)(0).Tabledefs("NomeTabella").Fields.Delete NomeCampo
Saluti...