ayuda con el mdiform

joa
31 de Marzo del 2006
hola q tal tengo un formulario dmi que es el principal resulta q yo kiero q ese formulario se cargue normal con todas las cosas q le he puesto unos cuantos menus en la parte superior y un toolabr, pero ala vez yo quiero q cuando se cargue ese formulario haga una revisio de la base de datos para ver si esta conforme o no (esa verficafion la tengo y me devuelve un valor) de cauerdo ese valor yo veo si le muestra un mensaje de advertencia de q hay datos incompleto de la base de datos
pero antes de q levante la pantalla principal q es un mdi (no un mdichild) tengo un inicio de seion despues de q la persona se logee y salga la ventana principal quiero q recien salga el mensaje de advertencia , pero a mi no me sale asi sino q se logea la persona e inmediatamente sale el mensaje de advertencia y recien cuando le doy aceptar sale el, mdi principal

esto lo q inicialmente estoy haciendo
Private Sub MDIForm_Load()
fecha = Format(Date, "dd/mm/yyyy")
hora = Format(Now, "hh:mm:ss")
stbestado.Panels(1).Text = "Usuario :" + Inicio.UserLogeo
stbestado.Panels(2).Text = "Fecha :" + fecha
verificarDLCC ' esta es una funcion de verificaion de mi bd
End Sub

Function verificarDLCC()
Dim sumaT As Recordset ' devuelve la suma de cad distribucion dl o dc
Dim lista As Recordset ' devuelve los codigos y su tipo de todas las distrib DC y DL que hay
Set lista = DLC_CONSULTAS.ListaDistrib
Do While Not lista.EOF
Set sumaT = DLC_CONSULTAS.sumaPorc(lista(0), lista(1))
If CDbl(sumaT(0)) < 100 Then
Call MsgBox("Existen Distribuciónes x Lineas y/o Centros de Costo incompletas", vbExclamation Or vbDefaultButton1, "Sistema Contable")
frmListadoDLCC.Show
frmRegistrarDLCC.enfocarUltimo (lista(0))
Exit Do
End If
lista.MoveNext
Loop
End Function

Rosa
31 de Marzo del 2006
Hola Joa, lo que pasa es que estás codificando en el evento load del mdi, el orden está así:

1) Se lanza el evento Load
2) Se hace la validación y se muestra el mensaje si hay error, que es una ventana modal y hasta que no le des aceptar o cancelar no se ejecuta la siguiente línea de código.
3) Termina el evento Load y ahí recién se muestra el mdi

Lo que puedes hacer es codificar en un método Sub Main de un .bas y pones el orden así:

1) Lanza el Login
2) mdiForm.show
3) Haces la validación

Recuerda poner el Sub Main como objeto inicial de tu aplicación.

joa
31 de Marzo del 2006
gracias rosa por la ayuda, me sirvio