RISOLTO - PRIMO NUMERO DISPONIBILE

di
Anonimizzato13723
il
3 risposte

RISOLTO - PRIMO NUMERO DISPONIBILE

Buongiorno a tutti,
sono un nuovo utente e un nuovo programmatore in Access.
Ho una domanda da porvi.
Sto travasando dei dati da un software in MS DOS a Access e la BD dei clienti è in txt.
L'importazione del file non mi ha dato problemi, ma i campi sono tutti in formato testo.
La prima cosa che ho fatto è stata creare una tabella dove accodare i dati con il formato più consono ai dati che ho acquisito.
Il campo "Codice cliente", logicamente l'ho impostato numerico.
Poi ho costruito la Maschera dove visualizzare tale tabella e dove aggiungere nuovi clienti.
Il mio problema è che nel vecchio software era possibile cancellare i clienti e all'inserimento di uno nuovo, il software proponeva il primo numero di codice libero.
Quindi ho una serie di buchi che voglio riempire.
Vorrei creare una query che analizzando i numeri nella colonna codice mi indichi il primo numero disponibile, cioè se è presente un buco (es. 11 - 12 - 14 - 15) mi presenti come suggerimento il numero 13, altrimenti (es. 11 - 12 - 13 - 14 - 15) se non ci sono buchi il primo numero dopo l'ultimo, il 16 in questo caso.
Sapete darmi una mano?
Grazie.

3 Risposte

  • Re: RISOLTO - PRIMO NUMERO DISPONIBILE

    Vorrei ricordarti 2 cose:

    1) L'importazione di File di Testo consente, leggendo bene le OPZIONI del Wizzard, di andare a definire e/o Ridefinire eventuali gestioni sui singoli CAMPI, questo darà origine ad una Specifica di Importazione che verrà salvata nel File(MDB) e che sarà richiamabile anche via VBA.

    2) Normalmente i campi NUMERICI saranno solo quelli che hanno ragione di esselo, come quelli Oggetto di Calcolo, tuttavia nel tuo caso dovendo rispecchiare, almenno per quanto comprendo, una logica di PROGRESSIONE numerica è una scelta corretta.

    Il problema di cercare i BUCHI è una cosa non di semplice soluzione se non sei un pò pratico di VBA.
    Devi infatti aprire un Recordset sulla tabella dopo l'importazione, ordinare l'estrazione del Recordset in modo CRESCENTE sul Campo [CODICE] e ciclare tutti i dati finchè non trovi che la differenza tra Attuale e precedente>1, a quel punto devi sommare 1 al precedente ed otterrai un primo TAPPO...!
    Ovviamente questa procedura di ricerca deve essere ben strutturata per essere richiamata all'occasione(da definire...)

    Se non hai pratica con VBA... vedo molto prematura questa cosa.
  • Re: RISOLTO - PRIMO NUMERO DISPONIBILE

    Chissà se ti può dare una mano questa discussione:
  • Re: RISOLTO - PRIMO NUMERO DISPONIBILE

    Grazie 1000 Osvaldo,
    Perfetto, con una query ho risolto il mio problema

    Scusate, per chiudere un argomento come si fa?
    Ho cliccato sul link "Regolamento" che appare sotto nel paragrafo "Rispetta la community", ma mi dice che l'argomento richiesto non esiste????
Devi accedere o registrarti per scrivere nel forum
3 risposte