Vraag : Hoe kan ik een lijst vullen vakje dat toont als geen contact in de laatste 90 dagen is opgenomen en geen dossier aan een specifieke omslag in de laatste 90 dagen in de vormen van MS-Access met VBA is toegevoegd?


Ik heb de volgende reeksen van code. Deze codes produceren alarm wanneer er geen contact in de laatste 90 dagen is geweest, of de omslag is niet bijgewerkt in de dagen van 90.

dit deel is voor de contacten

  Als DateDiff („D“, DMax („DateTime1“, „ComCon“, „FundName='" & Me.FundName & „'“), Datum) > 90

dit deel is voor de dossiers (controle als een nieuw dossier dat in een specifieke omslag in de laatste 90 dagen of niet wordt gecre�ërd)
Overheidsfunctie NewestFileInFolder (strFolderPath als Koord) als Geheel
    Schemerige objFSO als FileSystemObject, objFolder als Voorwerp, objFile als Dossier, intTemp als Geheel, bolFirstPass zoals Van Boole
    Reeks objFSO = CreateObject („Scripting.FileSystemobject“)
    Reeks objFolder = objFSO.GetFolder (strFolderPath)
    bolFirstPass = Waar
    Voor elk objFile in objFolder.Files
        intTemp = DateDiff („D“, objFile.DateCreated, Datum)
        Als bolFirstPass toen
            NewestFileInFolder = intTemp
            bolFirstPass = Vals
        Anders
            Als intTemp < NewestFileInFolder="" Then="" NewestFileInFolder="intTemp        als beëindig
    Daarna
    Vastgestelde objFile = niets
    Reeks objFolder = niets
    Reeks objFSO = niets
De Functie van het eind

Dit beide voer in een Form10 die voor een specifieke ingang (voor een fonds) specifiek is. Deze zijn slechts voor één fonds.

Ik zou het zelfde ding willen tot stand brengen dat gaat en alle fondsen, zoekt en al aandacht vereiste uit gebieden in het gehele gegevensbestand brengt. En lijsten hen op een lijstvakje.

dank
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:
Privé SubForm_Current ()
        
    Als DateDiff („D“, DMax („DateTime1“, „ComCon“, „FundName='" & Me.FundName & „'“), Datum) > 90 toen
        Me.lstAlerts.AddItem („UpdateContacts, werkt de contacten bij: het is meer dan 90 dagen“ geweest)
    Beëindig als
    
    Als NewestFileInFolder (Me.Folder) >= 90 toen

     Me.lstAlerts.AddItem („UpdateFiles, werkt de dossiers bij: het is meer dan 90 dagen“ geweest)
'Me.lstAlerts.AddItem („UpdateFiles, werkt de dossiers bij: het is meer dan 90 dagen“ geweest)

    Beëindig als

    
    
    

Beëindig Sub

Privé SubForm_Load ()

    Schemerige intX als Geheel
    
    Voor intX = 0 aan Me.lstAlerts.ListCount - 1
        Me.lstAlerts.RemoveItem (intX)
    Volgende intX
    
    
    Sub van het eind

Privé SublstAlerts_DblClick (annuleer als Geheel)

    Selecteer Geval Me.lstAlerts.Value
        Geval „UpdateContacts“
            DoCmd.OpenForm „comform“, „FundName='" & Me.FundName & „'“, acDialog
    Uitgezocht eind
    
     
Sub van het eind


Overheidsfunctie NewestFileInFolder (strFolderPath als Koord) als Geheel
    Schemerige objFSO als FileSystemObject, objFolder als Voorwerp, objFile als Dossier, intTemp als Geheel, bolFirstPass zoals Van Boole
    Reeks objFSO = CreateObject („Scripting.FileSystemobject“)
    Reeks objFolder = objFSO.GetFolder (strFolderPath)
    bolFirstPass = Waar
    Voor elk objFile in objFolder.Files
        intTemp = DateDiff („D“, objFile.DateCreated, Datum)
        Als bolFirstPass toen
            NewestFileInFolder = intTemp
            bolFirstPass = Vals
        Anders
            Als intTemp  < NewestFileInFolder="" Then="" NewestFileInFolder="intTemp" End="" If="" Next="" Set="" objFile="Nothing" Set="" objFolder="Nothing" Set="" objFSO="Nothing" End="" Function="" with="" help="" from="">
           

Antwoord : Hoe kan ik een lijst vullen vakje dat toont als geen contact in de laatste 90 dagen is opgenomen en geen dossier aan een specifieke omslag in de laatste 90 dagen in de vormen van MS-Access met VBA is toegevoegd?

U kon beide controles in vraagcriteria bouwen.  U kunt de noodzakelijke fondseninformatie in elke functie overgaan en het kan het aantal dagen terug terugkeren.  Nochtans, afhankelijk van hoeveel fondsen u hebt, zou dit werkelijk langzaam kunnen zijn om tijdens de vlucht te doen.  Het zou beter kunnen zijn om een het werklijst met de informatie te bouwen en dan de gebruiker toe te staan om het wanneer noodzakelijk te verfrissen.  Dan kunt u listbox op die werklijst baseren.

Of, u kunt denormalize een beetje en opslaat LastContactDate en LastFileDate in de lijst van het Fonds, die die zonodig verfrissen.  Dat zou waarschijnlijk mijn voorkeur zijn.  In onze winkel, wijzen wij berekende gebieden met een achtervoegsel van _CALC aan zodat niemand verkeerd de gebruiker toestaat om het in UI te veranderen.
Andere oplossingen  
 
programming4us programming4us