First, you might want to move the Dim statements into the Case Is blocks. Its a better idea to allocate the new forms as you need them, not before you determine that. This will save the garbage collector some time because it doesn't have to destroy objects that were never used. Second, the problem doesn't appear to be in your code snippet. I can use the exact same code and create new forms all day. Judging by the error message, the problem appears to be in the child form itself, not with the parent. You might be doing something that is not allowed in a child form, although I can't fathom what that might be. Its also possible you might have a data binding problem where pages/records/fields are getting locked and a bind is failing on the second form. You'll have to trace into the creation of the child form to find out whats going on. Set a breakpoint on the Show statement and run your app. When you click on the button to create the new child, the debugger will stop on the Show statement. Hit F11 to step into the child form to see what's going on. RageInTheMachine9532