Cuestión : ¿Cómo puedo llenar una caja de lista que demuestre si no se ha hecho ningún contacto en los 90 días pasados y no se ha agregado ningún archivo a una carpeta específica en los 90 días pasados en formas del acceso del ms con VBA?


Tengo los sistemas del código siguientes. Estos códigos generan alarmas cuando no ha habido contacto en los 90 días pasados, o la carpeta no se ha puesto al día en 90 días.

esta parte está para los contactos

  Si DateDiff (“d”, DMax (“DateTime1”, “ComCon”, “FundName='" y Me.FundName y “'"), fecha) > 90

esta parte está para los archivos (cheque si un nuevo archivo creado en una carpeta específica en los 90 días pasados o no)
Función pública NewestFileInFolder (strFolderPath como secuencia) como número entero
    objFSO dévil como FileSystemObject, objFolder como objeto, objFile como archivo, intTemp como número entero, bolFirstPass como boleanos
    Fijar el objFSO = CreateObject (“Scripting.FileSystemobject”)
    Fijar el objFolder = objFSO.GetFolder (el strFolderPath)
    los bolFirstPass = verdad
    Para cada uno objFile en objFolder.Files
        intTemp = DateDiff (“d”, objFile.DateCreated, fecha)
        Si bolFirstPass entonces
            NewestFileInFolder = intTemp
            bolFirstPass = falso
       
            Si extremo < NewestFileInFolder="" Then="" NewestFileInFolder="intTemp        del intTemp si
    Después
    objFile determinado = nada
    Fijar el objFolder = nada
    Fijar el objFSO = nada
Terminar la función

Estos ambos alimentan en un Form10 que sea específico para una entrada (específica para un fondo). Éstos están solamente para un fondo.

Quisiera crear la misma cosa que va y busca todos los fondos, y pongo en evidencia todos los campos requeridos atención en la base de datos entera. Y los enumera en una caja de lista.

gracias
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
Form_Current secundario privado ()
        
    Si DateDiff (“d”, DMax (“DateTime1”, “ComCon”, “FundName='" y Me.FundName y “'"), fecha) > 90 entonces
        Me.lstAlerts.AddItem (“UpdateContacts, pone al día los contactos: ha sido más de 90 días”)
    Terminar si
    
    Si >= 90 de NewestFileInFolder (Me.Folder) entonces

     Me.lstAlerts.AddItem (“UpdateFiles, pone al día los archivos: ha sido más de 90 días”)
'Me.lstAlerts.AddItem (“UpdateFiles, pone al día los archivos: ha sido más de 90 días”)

    Terminar si

    
    
    

Terminar el submarino

Form_Load secundario privado ()

    intX dévil como número entero
    
    Para el intX = 0 a Me.lstAlerts.ListCount - 1
        Me.lstAlerts.RemoveItem (intX)
    intX siguiente
    
    
    Submarino del extremo

lstAlerts_DblClick secundario privado (cancelación como número entero)

    Seleccionar el caso Me.lstAlerts.Value
        Encajonar “UpdateContacts”
            DoCmd.OpenForm “comform”, “FundName='" y Me.FundName y “'”, acDialog
    Extremo selecto
    
     
Submarino del extremo


Función pública NewestFileInFolder (strFolderPath como secuencia) como número entero
    objFSO dévil como FileSystemObject, objFolder como objeto, objFile como archivo, intTemp como número entero, bolFirstPass como boleanos
    Fijar el objFSO = CreateObject (“Scripting.FileSystemobject”)
    Fijar el objFolder = objFSO.GetFolder (el strFolderPath)
    los bolFirstPass = verdad
    Para cada uno objFile en objFolder.Files
        intTemp = DateDiff (“d”, objFile.DateCreated, fecha)
        Si bolFirstPass entonces
            NewestFileInFolder = intTemp
            bolFirstPass = falso
        
            Si intTemp  < NewestFileInFolder="" Then="" NewestFileInFolder="intTemp" End="" If="" Next="" Set="" objFile="Nothing" Set="" objFolder="Nothing" Set="" objFSO="Nothing" End="" Function="" with="" help="" from="">
           

Respuesta : ¿Cómo puedo llenar una caja de lista que demuestre si no se ha hecho ningún contacto en los 90 días pasados y no se ha agregado ningún archivo a una carpeta específica en los 90 días pasados en formas del acceso del ms con VBA?

Usted podría incorporarse ambos cheques a criterios de la pregunta.  Usted puede pasar la información necesaria del fondo en cada función y puede volver detrás el número de días.  Sin embargo, dependiendo de cuántos fondos usted tiene, esto podría ser realmente lento hacer en marcha.  Puede ser que sea mejor construir una tabla de trabajo con la información y después permitir que el usuario la restaure cuando es necesario.  Entonces usted puede basar el listbox en esa tabla de trabajo.

O, usted puede denormalize un pedacito y almacenar el LastContactDate y el LastFileDate en la tabla del fondo, restaurando ésos cuanto sea necesario.  Ésa sería probablemente mi preferencia.  En nuestra tienda, señalamos campos calculados con un sufijo del _CALC de modo que nadie permita equivocadamente que el usuario lo cambie en el UI.
Otras soluciones  
 
programming4us programming4us