Sigue siendo un mensaje muy inespecífico.
Antes de nada debes saber si una aplicación MDI es la adecuada para tu programa.
Una aplicación MDI, simplemente contempla la posibilidad de alojar múltiples instancias de uno o más ventanas denominadas 'child' dentro de la ventana principal, en vez de esparramadas por el escritorio. De ahí su nombre: Interfaz de Múltiples Documentos. En la práctica, suele ser una sola ventana, la que es child y es esa la que tiene múltiples instancias. ...pero no está limitado.
En este tipo de aplicaciones, las ventana Child, que tengas un menú, se pasan a la ventana principal, cuando dicha ventana es la activa. Eso permite ganar espacio en la ventana incrustada y para el menú es mejor porque se sitúa en una zona visible no tapada si la ventana activa no cabe enteramente en la ventana principal. A su vez un formulario MDI, no ocupa nunca una medida (externa) mayor que la que tene el escritorio, pero dentro (de su interfaz) dispone de sendos controles scroll para moverse por sus dimensones internas.
El modo de verlo bien funcionar es tener 2 o más formularios distintos cada uno con su propio menú (que sean distintos para reconocerlos adecuadamente). Eso hace que si tiene más de una instancia del mismo formulario, no se aprecie diferencia en el menú cuando saltes de un menú a otro, excepto por las opciones activas que tengas en cada menú (que solo verás cuando despliegues el menú) y por los menús principales si alguno se ha ocultado en una instancia y no en la otra...
Nota que una ventana hija es solo así si tiene activada la propiedad MDIChild a TRUE , sino, es solo otra ventana de la aplicación y si esta tiene un menú, no se integra en el menú del formulario MDI.
Respecto de tu problema, como no me sigue quedando claro cual es realmente el problema que tienes, solo puedo intentar a interpretarlo y esperar a acertar habida cuenta que sigue siendo igual de críptico que al inicio.
Tú dices que al poner código en un botón-menú 'nuevo', te va al formulario MDI... en vez de al formulario clientes...
Mi interpretación de tu problema es que posiblemente estés dando al menú el mismo nombre en ambos formularios. No es estrictamente necesario que el nombre de un menú con el mismo texto tenga que llamarse como el nombre de otro menú con el mismo texto en otra ventana.
Sin embargo, haciendo un ejemplo así, no logro reproducir el problema. Creo una aplicación con 5 formularios:
1 MDI, con 3 ventanas child, de éstas, 2 tienen menú la tercera no y el formulario MDI también tiene menú... y una 5ª ventana que no es Child del formulario MDI.
En todas ellas (las que tienen un menú) doy al menu 'copiar' el mismo nombre 'mnuEditCopy' y en cada una de las 4 ventanas con menú pongo el simple código para identificar su procedencia...Como pongo en el código y se ve en las imágenes que adjuntaré al final.
Ventana MDI (su menú propio está activo cuando está activo un formulario Child sin menú):
Private Sub mnuEditCopy_Click()
MsgBox "Pulsado el menú del formulario MDI"
End Sub
En la ventana sin bordes (que es child del formulario MDI):
Private Sub mnuEditCopy_Click()
MsgBox "Pulsado el menú del formulario sin bordes"
End Sub
En la otra ventana child con menú:
En esta incluso he creado otro menú con el nombre ligeramente cambiado y tirando de arrays para los submenús..
Private Sub mnuEditCopy_Click()
MsgBox "Pulsado el menú del formulario de ejemplo"
End Sub
Private Sub mnuEditar_Click(Index As Integer)
MsgBox "Pulsado el menú del formulario de ejemplo"
End Sub
En la ventana que NO ES CHILD del formulario MDI:
Private Sub mnuEditCopy_Click()
MsgBox "Pulsado el menú del formulario NO CHILD"
End Sub
La ventana sin menús, es para permitir que al estar activa, se muestra el menú del formulario MDI (pués la ventana hija no tiene menú).
En todas ellas el resultado es el esperado (salta el msgbox que identifica claramente el menú de la ventana a la que pertenece). Luego o yo no he interpretado correctamente tu problema o estás haciendo alguna otra cosa que no has descrito, o bien tienes una concepción errónea de lo que es una aplicación MDI y una ventana Child
Insisto en que unas imágenes de la captura antes y después ayudarían a identificar o al menos a entender tu problema... en su defecto podrías compartir el proyecto (no es necesario que sea el proyecto entero, basta copiar y pegar el proyecto en otra ubicación y eliminar todo excepto la operatoria que falla, o bien crear otra aplicación donde tengas un formulario MDI y esa ventana y metas el código exclusivamente necesario para reproducir el problema (lo que te fuere más sencillo y rápido) y que uno tras descargarlo, pueda entender que te está sucediendo....
Y ahora unas capturas, primero de la interfaz general y del código asociado a cada una, y detrás una a una la invocación del menú edición ---> copiar
la interfaz general y del código asociado a cada una: