En este caso sería más sencillo preguntar, si no tiene nada:
If TxtCodFac.Text <> "" Then hacer la acción.
También deberías preguntar si lo introducido es numérico:
If TxtCodFac.Text <> "" And IsNumeric(TxtCodFac.Text) = True Then hacer la acción.
Pero, respondiendo a la pregunta, el control de errores es así:
Dentro de cada evento, Sub o Function, la primera línea de código debe estar reservada para el control de errores. La sintaxis es:
On Error GoTo Arreglar
Donde 'Arreglar' es una referencia a una etiqueta utilizada para indicarle al compilador que en caso de un error, se dirija a la línea en donde se encuentre esta etiqueta. Esta etiqueta de distingue poniéndole al final dos puntos.
Lo más razonable es que al final de cada Sub o Function se escriba el código para el control del error. Pero recuerda poner antes de la etiqueta un Exit Function o Exit Sub ya que sino se ejecutará el código de control de errores aunque no haya errores. Un ejemplo:
Function CargarCliente()
On Error GoTo Arreglar
'tu código
...
...
If TxtCodFac.Text <> "" And IsNumeric(TxtCodFac.Text) = True Then
Set rec = db.OpenRecordset("select Cod_Cliente from clientes where
Cod_fact=" &TxtCodfac.Text)
End If
...
...
Exit Function
Arreglar:
'tu código para arreglar el problema, como:
MsgBox "Hay un error"
End Function
Se puede usar el objeto Err para saber el tipo de error, tambien hay otras maneras de controlar el error, pero esto ya se haría muy extensivo para el caso, con esto alcanza, aunque hay más. Espero te sirva.