por eso para que no se amontenen hize esto que esta en cargar_formulario_productos, pues y si lo pense que asi se relacionaban tus tablas, pero tu conoces la relacion asi que lo puedes acomodar

.
Código vb:
Ver original''Aqui verifico si se presiono para eliminar los
''botones creados anteriormente y no se esten
''amontonando con los de la otra consulta
If accion = 1 Then
' Recorremos la colección de controles del formulario
For Each ctrl As Control In Me.Controls
' Si el tipo de control es un Button
If TypeOf ctrl Is Button Then
' Si se llama "x"
If ctrl.Name = "x" Then
' Lo eliminamos de la colección
Me.Controls.Remove(ctrl)
End If
End If
Next
'Limpio la tabla productos para que no se incremente
undataset.Tables("productos").Clear()
End If