** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Formularios que paran el programa
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFormularios que paran el programa

 Responder Responder
Autor
Mensaje
charlyto Ver desplegable
Nuevo
Nuevo


Unido: 23/Mayo/2008
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Tema: Formularios que paran el programa
    Enviado: 08/Febrero/2010 a las 12:30
Hola compañeros,
 
Estoy haciendo una hoja de cálculo para el trabajo y el problema que tengo es el siguiente.
 
He hecho un formulario con un listado de tareas que se supone la hoja de cálculo hace cuando le das al comando guardar. Por ejemplo
 
Crear directorio
Actualizar access
Proceso finalizado
 
Y quiero y poniendole a la izquierda el ok en verde, para que cuando estés esperando sepas lo que está haciendo.
 
El problema es que cuando abro el formulario no me arranca el proceso hasta que lo cierro de nuevo.
 
Hay algo para que no se quede el programa esperando a que cierre el formulario?.
 
Gracias.
Arriba
Coco Ver desplegable
Colaborador
Colaborador


Unido: 02/Febrero/2005
Localización: España
Estado: Sin conexión
Puntos: 2718
Enlace directo a este mensaje Enviado: 08/Febrero/2010 a las 13:54
Hola!
 
lo siento pero no me entero de nada Confused
 
Además sería de desear que expusieras el código que utilizas para tratar de averguar cual sea el problema.
Saludos
Arriba
charlyto Ver desplegable
Nuevo
Nuevo


Unido: 23/Mayo/2008
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 08/Febrero/2010 a las 14:26
Aqui expongo el codigo
 
Sub Guardar(fichero, dire As String)
Dim sFilename, Tipo As String, TipoServicio As Long
Dim dbs As DAO.Database, _
    rst As DAO.Recordset, _
    strSQL As String, _
    strBaseDatos As String
   
   
' Abrir la base de datos
strBaseDatos = Base_Datos
Set dbs = OpenDatabase(strBaseDatos)
'Hacer consulta
strSQL = "SELECT * FROM [T-VENTAS] WHERE  [Nº S-]= '" & Range("M5").Value & "'"
Set rst = dbs.OpenRecordset(strSQL, dbOpenDynaset)
Procesos.Show

    If Not dir(Directorio_Service & dire, vbDirectory) = vbNullString Then
           
            sFilename = Directorio_Service & dire & "\CALCULO OFERTA " & fichero & ".xls"
            Range("M9").Value = False
            ThisWorkbook.SaveAs sFilename
            Procesos.Label5.Visible = False
            Procesos.Label6.Visible = False
            Procesos.Repaint
'            MsgBox "Oferta guardada en el directorio: " & dire
            Call Datos_Oferta_Aceptar
           
            'Actualizar datos en Access
 
            With rst
                .Edit
                .Fields("CosteOferta") = Range("B16").Value
                .Fields("PrecioOferta") = Range("H16").Value
                .Fields("Version") = Range("M4").Value
                .Fields("Tipo-Int") = tipo_oferta(Range("M7").Value)
                .Fields("IdTipoServicio") = tipo_servicio(Range("M7").Value)
                .Fields("Tema") = Range("B6").Value
                .Update
            End With
            Procesos.Label7.Visible = True
            Procesos.Label8.Visible = True
            Procesos.CommandButton1.Enabled = True
            Procesos.Repaint
    Else
        If MsgBox("Directorio no existe, desea crearlo?", vbYesNo,) = 6 Then
            MkDir Directorio_Service & dire
            MkDir Directorio_Service & dire & "\COMUNICACIÓN CLIENTE"
            MkDir Directorio_Service & dire & "\COMUNICACIÓN INTERNA"
            MkDir Directorio_Service & dire & "\COMUNICACIÓN PROVEEDOR"
            MkDir Directorio_Service & dire & "\TÉCNICA"
            Procesos.Label5.Visible = True
            Procesos.Repaint
            sFilename = Directorio_Service & dire & "\CALCULO OFERTA " & fichero & ".xls"
            Range("M9").Value = False
            ThisWorkbook.SaveAs sFilename
            Procesos.Label6.Visible = True
            Procesos.Repaint
'            MsgBox "Oferta guardada en el directorio: " & dire
            Call Datos_Oferta_Aceptar
            Tipo = tipo_oferta(Range("M7").Value)
            TipoServicio = tipo_servicio(Range("M7").Value)
            Call Añadir_S(Range("M5").Value, Range("B16").Value, Cliente, 1, TipoServicio, Range("H16").Value, Date, Range("M4").Value, Tipo, Range("B6").Value)
            Procesos.Label7.Visible = True
            Procesos.Label8.Visible = True
            Procesos.CommandButton1.Enabled = True
            Procesos.Repaint
        End If
    End If
'Cerrar consulta
If Not rst Is Nothing Then
    rst.Close
    Set rst = Nothing
End If
End Sub
 
Resumiendo, cuando abro el formulario que me indicará en que parte del proceso está se queda parado el programa esperando a que lo cierre y cuando lo cierro continúa correctamente por la segunda línea que he marcado en negrita.
 
Mi pregunta es, como puedo hacer para que el programa siga corriendo aunque haya abierto el formulario.
 
O si necesito cambiar la forma de hacerlo.
 
El formulario se llama Procesos.
 
Saludos y gracias.
Arriba
charlyto Ver desplegable
Nuevo
Nuevo


Unido: 23/Mayo/2008
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 08/Febrero/2010 a las 15:00

Bueno pues ya me respondo yo ya que lo he encontrado.

Quitándole la propiedad Modal, ese era el problema que tenía.
 
Saludos y gracias de todas formas.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable