Abrir Formulario desde otro Formulario en el mismo registro
Para que funcione de la forma que se espera, es indispensable trabajar con datos correctos y los mensajes de error no definen los problemas con claridad.
Por ejemplo, si como clave (ID) se utiliza un texto que contenga un apostrofe (') como es el separador alternativo de los textos en las expresiones, rompería la cadena original y saltaría un error difuso (indica un problema, pero no aporta pistas para su solución).
Es por ello que lo recomendable es utilizar como IDs simplemente números (son datos concretos) en lugar de textos compuestos (con espacios y demás) que suelen ser abstractos y para que tomen como datos concretos se han de encerrar entre corchetes ('[...]) si se utilizan como nombres de objetos.
No es una critica, pero un ID (algo que defina un registro concreto como el paciente) no es muy practico que se utilice 'Historia - 0021 Cortasa Hakimi' , lo ideal seria que el ID de ese paciente fuera el n. 21 (como texto se admitiría el '0021' pero el resto es irrelevante para definir el objeto, son simples peculiaridades que pueden incluso dispersarse en varias partes (por ejemplo: nombre + apellido + ......).
Compara el valor del campo utilizado con el dato con el que se pretende comparar, los combos (paciente y facultativo son objetos ComboBox) pueden tener mas de una columna y cualquiera de ellas puede ser el dato referente (y no el que se muestra, el referente puede estar oculto).
Solo el que creo la aplicación (o tiene la aplicación) puede verificar estos puntos.
Un simple MsgBox Me.NHistoria puede proporcionar las pistas adecuadas para resolver el problema.