A delete query will delete the entire record as your question suggests. In order to work with a single field, create a recordset by using the OpenRecordSet method of the docmd object which will allow you to access individual fields.
(There may also be ways to fudge it ie. go to the correct record in a bound form and then set the control = "" or null.)
here's a quick example with recordsets:
Sub RecordSetExample()
Dim DB As Database
Dim rst As Recordset
Dim strSQL As String
Dim varA as variant
'varA would be the value of the unique record identifier in your table/query.
strSQL = "SELECT * FROM TABLEA WHERE (TABLEA.ID = " & varA & ");"
Set DB = CurrentDb
Set rst = DB.OpenRecordset(strSQL, dbOpenDynaset)
With rst
.MoveFirst
.Edit
!ID = ""
.Update
End With
End Sub
best of luck!
norm