Query di accodamento

di il
6 risposte

Query di accodamento

Buonasera !

Per un database dove devo inserire vari nominativi, che si aggiungono di volta in volta, ho preparato una query di accodamento.
La prima volta ha funzionato, ma le successive volte che ho rieseguito la query, mi sommava i record già accodati in precedenza oltre i nuovi. Nelle proprietà della query ho inserito SI a "record univoci", e NO a "Mostra tutti i campi".

Perché non funziona l'uso successivo della query di accodamento ?

6 Risposte

  • Re: Query di accodamento

    Intanto io eviterei che la query di accodamento accodi record già esistenti sfruttanto un'altra "query ricerca dati non corrispondenti" (preventivamente), poi accoderei.
    Poi la tabella di arrivo dovrebbe avere opportune impostazioni univoche, ossia devi impostare un "Indice multicampo univoco" (leggi la guida in linea) che ti impedisce di avere valori multicampo ripetuti. Se lo fai, un messaggio di errore viene inviato da Access.

    Però non ci dici:
    - nomi delle 2 tabelle
    - tutti i campi delle tabelle
    - come funzionerebbe il tuo meccanismo e perchè hai bisogno di accodare in quel modo
  • Re: Query di accodamento

    La tabella che si aggiorna di continuo si chiama Clienti. La tabella di destinazione, che riceve l'accodamento, si chiama "Elenco generale". Questa riepiloga Clienti, Fornitori e Dipendenti
    Le due tabelle sono simili con i dati. Quindi non c'è il problema di adattare i campi prima dell'accodamento.
    I campi sono: ID, Denominazione, Tipo, Città, Stato

    Ho provato varie volte, ma la query di accodamento mi riaccoda sempre gli stessi record. La prima volta va bene, ma poi le volte successive perché mi riporta anche i record precedenti ?
    Ho creato anche un indice multicampo, ma continua a non funzionare.
    Vorrei solo capire quale passaggio manca.
  • Re: Query di accodamento

    Ho provato un'altra query di accodamento, per accodare 4 records alla tabella "Elenco generale".

    Esce il seguente avviso:

    - Impossibile accodare tutti i record nella query di accodamento.
    numero di record non aggiunti alla tabella a causa di violazioni di chiavi: 4

    Cosa significa ?

    Aggiungo che sia nella tabella "Elenco generale" che nella tabella "Clienti" al campo Tipo c'è una casella combinata con un elenco valori: Clienti, Fornitori, Dipendenti. Ciò per sapere nella tabella "Elenco generale" a chi appartengono i nominativi.
  • Re: Query di accodamento

    ProgrammD ha scritto:


    Esce il seguente avviso:
    - Impossibile accodare tutti i record nella query di accodamento.
    numero di record non aggiunti alla tabella a causa di violazioni di chiavi: 4
    Cosa significa ?
    Direi che questo messaggio dovresti augurarti che appaia. Ti dice (in sostanza) che stai tentando di inserire dati duplicati, ma l'impostazione di "Indice multicampo univoco" ti mette un "alt" perchè non lo puoi fare. In questo caso si trattava di 4 record. Immagina di voler accodare 100 record di cui 80 sono "tranquilli", mentre i restanti 20 esistono già, vedrai lo stesso messaggio segnalato "...numero di record non aggiunti...a causa di violazioni di chiavi...20".

    In generale, mi sembra del tutto normale che una query di accodamento vada eseguita una volta sola per motivi di logica e praticità. Là dove non riesci a capire dove impedire pasticci...starebbe a te trovare un modo (VBA per esempio) per parare i colpi il più possibile...
  • Re: Query di accodamento

    OsvaldoLaviosa ha scritto:


    In generale, mi sembra del tutto normale che una query di accodamento vada eseguita una volta sola per motivi di logica e praticità. Là dove non riesci a capire dove impedire pasticci...starebbe a te trovare un modo (VBA per esempio) per parare i colpi il più possibile...
    Questa query di accodamento mi serve per successive operazioni, non solo per il primo accodamento.
    Se questa query non mi automatizza il lavoro, qual'è la soluzione ?
  • Re: Query di accodamento

    Ho risolto l'arcano con la query di Unione, su cui ho creato una maschera.
    Con altre tabelle provvedo all'inserimento dati, e con la maschera sulla query unione mi trovo i dati aggiornati, come volevo.
Devi accedere o registrarti per scrivere nel forum
6 risposte