Realizzo una videata con circa 200 dati interrogando una tabella anagrafica
Utilizzo il comando DCOUNT memorizzando ogni risultato in caselle di testo
Ma l'interrogazione effettuata in rete locale e' piuttosto lenta...
evidentemente perche' per ogni dato utilizzo il conteggio
Private Sub CalcolAttivi()
' TEORIE
' conta AM e AMA
Me.txtFro0104 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0105 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0106 = Me.txtFro0104 + Me.txtFro0105
Me.txtFro0107 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0108 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0109 = Me.txtFro0107 + Me.txtFro0108
Me.txtFro0204 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0205 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0206 = Me.txtFro0204 + Me.txtFro0205
Me.txtFro0207 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0208 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0209 = Me.txtFro0207 + Me.txtFro0208
Me.txtFro0304 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0305 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0306 = Me.txtFro0304 + Me.txtFro0305
Me.txtFro0307 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0308 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0309 = Me.txtFro0307 + Me.txtFro0308
' conta A1 e A1A
Me.txtFro0404 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0405 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0406 = Me.txtFro0404 + Me.txtFro0405
Me.txtFro0407 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0408 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0409 = Me.txtFro0407 + Me.txtFro0408
Me.txtFro0504 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0505 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0506 = Me.txtFro0504 + Me.txtFro0505
Me.txtFro0507 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0508 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0509 = Me.txtFro0507 + Me.txtFro0508
Me.txtFro0604 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0605 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0606 = Me.txtFro0604 + Me.txtFro0605
Me.txtFro0607 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0608 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0609 = Me.txtFro0607 + Me.txtFro0608
' conta A2 e A2A
Me.txtFro1104 = DCount("*", "Anagrafe", "CORSO = 'A2' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro1105 = DCount("*", "Anagrafe", "CORSO = 'A2' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro1106 = Me.txtFro1104 + Me.txtFro1105
Me.txtFro1204 = DCount("*", "Anagrafe", "CORSO = 'A2A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro1205 = DCount("*", "Anagrafe", "CORSO = 'A2A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro1206 = Me.txtFro1204 + Me.txtFro1205
Me.txtFro1304 = DCount("*", "Anagrafe", "CORSO LIKE '*A2*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro1305 = DCount("*", "Anagrafe", "CORSO LIKE '*A2*' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro1306 = Me.txtFro1304 + Me.txtFro1305
' conta A
Me.txtFro1404 = DCount("*", "Anagrafe", "CORSO = 'A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro1405 = DCount("*", "Anagrafe", "CORSO = 'A' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro1406 = Me.txtFro1404 + Me.txtFro1405
' conta tot A
Me.txtFro1504 = Me.txtFro1304 + Me.txtFro1405
Me.txtFro1505 = Me.txtFro1305 + Me.txtFro1405
Me.txtFro1506 = Me.txtFro1306 + Me.txtFro1406
' conta B conseguimenti
Me.txtFro0704 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'M'")
Me.txtFro0705 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'F'")
Me.txtFro0706 = Me.txtFro0704 + Me.txtFro0705
Me.txtFro0707 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'M'")
Me.txtFro0708 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'F'")
Me.txtFro0709 = Me.txtFro0707 + Me.txtFro0708
' conta B estensioni
Me.txtFro1604 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND ESTENSIONE = True AND SEX = 'M'")
Me.txtFro1605 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND ESTENSIONE = True AND SEX = 'F'")
Me.txtFro1606 = Me.txtFro1604 + Me.txtFro1605
' conta REV
Me.txtFro0804 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0805 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0806 = Me.txtFro0804 + Me.txtFro0805
Me.txtFro0807 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0808 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0809 = Me.txtFro0807 + Me.txtFro0807
' conta B totali
Me.txtFro1704 = Me.txtFro0704 + Me.txtFro1604
Me.txtFro1705 = Me.txtFro0705 + Me.txtFro1605
Me.txtFro1706 = Me.txtFro0706 + Me.txtFro1606
' conta TUTTO
Me.txtFro0904 = DCount("*", "Anagrafe", "FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0905 = DCount("*", "Anagrafe", "FASE_CORSO = 'ISCRIZIONE' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0906 = Me.txtFro0904 + Me.txtFro0905
Me.txtFro0907 = DCount("*", "Anagrafe", "FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtFro0908 = DCount("*", "Anagrafe", "FASE_CORSO = 'TEORIA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtFro0909 = Me.txtFro0907 + Me.txtFro0908
' GUIDE
' conta guide AM e AMA
Me.txtPat0104 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0105 = DCount("*", "Anagrafe", "CORSO = 'AM' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0106 = Me.txtPat0104 + Me.txtPat0105
Me.txtPat0204 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0205 = DCount("*", "Anagrafe", "CORSO = 'AMA' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0206 = Me.txtPat0204 + Me.txtPat0205
Me.txtPat0304 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0305 = DCount("*", "Anagrafe", "CORSO LIKE '*AM*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0306 = Me.txtPat0304 + Me.txtPat0305
' conta guide A1 e A1A
Me.txtPat0404 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0405 = DCount("*", "Anagrafe", "CORSO = 'A1' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0406 = Me.txtPat0404 + Me.txtPat0405
Me.txtPat0504 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0505 = DCount("*", "Anagrafe", "CORSO = 'A1A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0506 = Me.txtPat0504 + Me.txtPat0505
Me.txtPat0604 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0605 = DCount("*", "Anagrafe", "CORSO LIKE '*A1*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0606 = Me.txtPat0604 + Me.txtPat0605
' conta guide A2 e A2A
Me.txtPat1004 = DCount("*", "Anagrafe", "CORSO = 'A2' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat1005 = DCount("*", "Anagrafe", "CORSO = 'A2' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat1006 = Me.txtPat1004 + Me.txtPat1005
Me.txtPat1104 = DCount("*", "Anagrafe", "CORSO = 'A2A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat1105 = DCount("*", "Anagrafe", "CORSO = 'A2A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat1106 = Me.txtPat1104 + Me.txtPat1105
Me.txtPat1204 = DCount("*", "Anagrafe", "CORSO LIKE '*A2*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat1205 = DCount("*", "Anagrafe", "CORSO LIKE '*A2*' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat1206 = Me.txtPat1204 + Me.txtPat1205
' conta guide A
Me.txtPat1304 = DCount("*", "Anagrafe", "CORSO = 'A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat1305 = DCount("*", "Anagrafe", "CORSO = 'A' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat1306 = Me.txtPat1304 + Me.txtPat1305
' conta guide tot A (estensioni escluse A1 e AM)
Me.txtPat1404 = Me.txtPat1204 + Me.txtPat1304
Me.txtPat1405 = Me.txtPat1205 + Me.txtPat1305
Me.txtPat1406 = Me.txtPat1206 + Me.txtPat1306
' conta guide estensioni B
Me.txtPat1504 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND ESTENSIONE = True AND SEX = 'M'")
Me.txtPat1505 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND ESTENSIONE = True AND SEX = 'F'")
Me.txtPat1506 = Me.txtPat1504 + Me.txtPat1505
' conta guide B
Me.txtPat0704 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'M'")
Me.txtPat0705 = DCount("*", "Anagrafe", "CORSO = 'B' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND ESTENSIONE = False AND SEX = 'F'")
Me.txtPat0706 = Me.txtPat0704 + Me.txtPat0705
' conta B totali
Me.txtPat1604 = Me.txtPat0704 + Me.txtPat1504
Me.txtPat1605 = Me.txtPat0705 + Me.txtPat1505
Me.txtPat1606 = Me.txtPat0706 + Me.txtPat1506
' conta guide REV
Me.txtPat0804 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0805 = DCount("*", "Anagrafe", "CORSO = 'REV' AND FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0806 = Me.txtPat0804 + Me.txtPat0805
' conta guide TUTTO
Me.txtPat0904 = DCount("*", "Anagrafe", "FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'M'")
Me.txtPat0905 = DCount("*", "Anagrafe", "FASE_CORSO = 'GUIDA IN CORSO' AND ATTIVO = True AND SEX = 'F'")
Me.txtPat0906 = Me.txtPat0904 + Me.txtPat0905
End Sub
Non credo che questa sia la scelta migliore ne' tantomeno la piu' veloce, che metodo sarebbe meglio usare?