Conteggio record

di il
4 risposte

Conteggio record

Scusatemi per thread vecchio
ho letto il regolamento
vi posto questo ora
credo non ci siano piu problemi

Ho un problema
ho una tabella con due chiavi primarie
una NUMCARICO numero progressivo e con duplicati ammessi
e una ANELLO univoci con duplicati non ammessi
quando vado ad inserire un NUMCARICO vorrei che per un numero
possa inserire un massimo di 4 ANELLO
quindi devo poter contare i record
e quindi ho provato con DCOUNT e con DLOOKUP
ma mi vengono numeri che sono a casaccio

come posso fare per contare i record?

grazie per la vostra pazienza
saluto
marco

4 Risposte

  • Re: Conteggio record

    Non so in quale modo tu voglia gestire l'operazione di inserimento comunque tramite VBA e una query puoi contare quanti record sono già presenti
    per un determinato NUMCARICO.

    Esempio (di principio):
    
    Select count(NUMCARICO) AS TotNumCarico From Tabella Where NUMCARICO = il numero da cercare
    
    Ad esempio, questa query potresti eseguirla nell'evento BeforeInsert e se restituisce un record con TotNumCarico >= 4 (in realtà basterebbe l'uguale) allori annulli l'evento (e quindi l'inserimento)
  • Re: Conteggio record

    bananajoe ha scritto:


    Scusatemi per thread vecchio
    ho letto il regolamento
    vi posto questo ora
    credo non ci siano piu problemi

    Ho un problema
    ho una tabella con due chiavi primarie
    una NUMCARICO numero progressivo e con duplicati ammessi
    e una ANELLO univoci con duplicati non ammessi
    quando vado ad inserire un NUMCARICO vorrei che per un numero
    possa inserire un massimo di 4 ANELLO
    quindi devo poter contare i record
    e quindi ho provato con DCOUNT e con DLOOKUP
    ma mi vengono numeri che sono a casaccio

    come posso fare per contare i record?

    grazie per la vostra pazienza
    saluto
    marco
    A casaccio cosa intendi...?
    La Funzione giusta da usare è DCOUNT e non DLOOKUP chiaramente, ma come l'hai usata...?
    Mostraci il codice di utilizzo e si capisce perchè non hai risultati attendibili.

    P.S. la questione delle 2 Chiavi Primarie di cui però 1 è Univoca è molto strana...!!!
    Se la PK è costituita da 2 Indici, ogni Indice NON Può essere UNIVOCO solo presi insieme lo possono essere, e se invece hai definito Univoco ANELLO allora la PK non può esserre costituita da 2 Indici.
  • Re: Conteggio record

    U = DMax("[NUMCARICO]", "VOLATILE")

    T = Dcount("[NUMCARICO]", "VOLATILE", [U])


    spero di aver fatto giusto a taggare il codice
    quest sono le due istuzioni per contare quanti numcarico ci sono
    per l'ultimo numcarico il maggiore numero
    pero mi da come risultato 100 che molto probabilmente
    è il numero massimo di record della tabella volatile
    vi ringrazio e saluto
    marco
  • Re: Conteggio record

    La prima cosa che devo dirti è che se devi contare ed usi DMAX significa che nemmeno hai letto le istruzioni di cosa fanno quelle 2 funzioni, e questo basterebbe per risponderti di andare prima a leggere il manuale online... !

    Ora ipotizzando di scartare DMAX in quanto a naso ci piace di più DCOUNT che assomiglia di più a qualche cosa che CONTA...

    Quel codice, DCOUNT, conta tutti i records in tabella O QUERY, non restituisce valori a caso.
    Certo che se tu devi contare solo i records che soddisfano un criterio e non lo passi alla funzione di conteggio direi che è l'utilizzo che è fatto a casaccio, la funzione non ne ha colpa.
    Se stai usando una query, ma non ci hai detto nulla di tecnicamente rilevante, e questa fosse parametrica i parametri da dove li prende...?

    Leggi le istruzioni di DCOUNT e scoprirai che consente un 3°parametro... la WHERE CONDITION ovvero l'eventuale CRITERIO di conteggio.
Devi accedere o registrarti per scrivere nel forum
4 risposte