Inserire righe Access

di il
16 risposte

Inserire righe Access

Buongiorno. Sbagliando sezione, nei giorni scorsi ho postato quanto segue:
In una tabella di Access vorrei inserire una nuova riga, vuota, nel mezzo del database, ma trovo solo modo di metterla come ultima. Come posso fare? Grazie

Da Andrea Quaglia, che ringrazio, ho ricevuto risposta:
nei database le nuove righe vengono messe in fondo, dato che di solito l'ordine con cui vengono presentate in output dipende dalle necessità dell'operatore. Non ha senso inserire una riga vuota in mezzo.
Una nuova riga si inserisce con i dati previsti, quindi in output si sceglie con che ordine presentare le righe. Poi, se è previsto che la tabella venga presentata con un determinato ordine, si usano gli operatori di ordinamento.


Rispondo a mia volta e pongo nuova domanda:

Grazie per la risposta, ma non concordo sul fatto che “non ha senso inserire una riga in mezzo”. A me servirebbe: devo inserire una serie di record in cui spesso i campi sono uguali a quelli di altri record già presenti. Se potessi inserirli nella riga sottostante, con il comando CTRL ‘ potrei copiare il testo senza doverlo riscrivere. Cmq tant’è: se non è possibile, non è possibile.
Allora vorrei sapere se posso fare copia/incolla con un record, ma di nuovo: inserirlo dove voglio, non come ultimo record. Grazie

16 Risposte

  • Re: Inserire righe Access

    Quello che chiedi si ottiene molto più facilmente in Excel (o in tabelle dentro Word) che NON HA VINCOLI DI LOGICA. In Access non c'è motivo per compiere una operazione del genere.
  • Re: Inserire righe Access

    Ivanab quando non si concorda su concetti tecnici si deve avere una conoscenza di come funziona un database, cosa che invece tu dimostri di non avere.

    Concordo con quanto ti ha detto Andrea ed il motivo è tecnico non personale.
    Sembra tu stia ragionando come si farebbe con un Foglio di Excel in cui inserisci le righe e le colonne come vuoi, tipo taglia incolla.

    A questa stregua non puoi pensare di dissentire nel merito tecnico perché un database ha logiche di utilizzo diverse e pare assodato tu non le conosca.
    Quindi si rende obbligatorio suggerirti di studiare meglio le regole che governano un database relazionale, altrimenti il dialogo è impossibile.

    Parlando dell'obbiettivo invece...
    Il fatto tinsia stato confermato che i dati finiscono sempre in fondo, cosa che confermo, non significa che la tua esigenza non sia utile o fattibile ma solo che si ottiene in modo diverso da come ragioni tu.

    In un database queste esigenze si ottengono ordinando su piu campi ed aggiungendo campi specificamente gestiti da codice per ottenere l'ordinamento necessario.

    Le stesse considerazioni sono valide per i copia/incolla di records... ti ripeto che non è Excel e devi ragionare diversamente, si può fare tutto ma serve essere capaci e conoscere lo strumento.

    Quindi se vuoi ottenere quanto chiesto non pensare di doverlo ottenere con una logica sbagliata ma cerca di comprendere i suggerimenti di chi ti risponde.
  • Re: Inserire righe Access

    Chiedo scusa, l'errore è mio, ho sbagliato forum. Se conoscessi "tecnicamente" il data base non avrei bisogno di chiedere questo tipo di aiuto. Pensavo fosse possibile da parte di chi invece lo conosce perfettamente, dire solo "si fa così", oppure non si può fare punto. Non ho avuto questo tipo di aiuto, ma lezioni sulla mia ignoranza, sul mio errato modo di ragionare, sulle logiche che non conosco, sulla mia incapacità...... all'anima! Troppa grazia! Grazie cmq, non siete stati di nessun aiuto, ma saprò dovrò rivolgermi in futuro se avrò necessità di altre tecniche comportamentali.
  • Re: Inserire righe Access

    ivanab ha scritto:


    Grazie per la risposta, ma non concordo sul fatto che “non ha senso inserire una riga in mezzo”.
    Non si sta dicendo che "non ha senso" in assoluto come esigenza, ma solo che non ha senso nel contesto di un database.

    Tu vuoi usare il database come un foglio elettronico, ma un database NON è un foglio elettronico, e se vuoi usarlo come tale, allora usa un foglio elettronico, Excel appunto, e non un database.

    Il fatto che tu concordi o meno è irrilevante. Anche io posso non concordare sul fatto che non si possa avere la gravità spingere verso l'alto, ma essa andrà sempre e comunque verso il basso, a prescindere dal mio parere.

    ivanab ha scritto:


    Non ho avuto questo tipo di aiuto, ma lezioni sulla mia ignoranza, sul mio errato modo di ragionare, sulle logiche che non conosco, sulla mia incapacità...... all'anima! Troppa grazia! Grazie cmq, non siete stati di nessun aiuto, ma saprò dovrò rivolgermi in futuro se avrò necessità di altre tecniche comportamentali.
    Il punto è che dire "non si può fare" sembra indicare una cosa lecita ma non realizzabile per limiti del software che si sta utilizzando: se vuoi usare un rastrello per spazzare in casa, chiunque ti risponderà che lo strumento non è adatto, proprio per farti capire che la problematica non sta nel rastrello specifico che usi, o nella marca, ma nel fatto che vuoi impiegare qualcosa per scopi diversi rispetto ai quali è stato progettato, quindi in realtà ti si sta dando una informazione in più rispetto a quella che chiedi. Se non è richiesta, ci limiteremo, ma essere redarguiti per questo - mi spiace - è eccessivo e in ogni caso le risposte date sono e rimangono comunque formalmente corrette, a prescindere da come tu le prendi.

    Ciao!
  • Re: Inserire righe Access

    Mi spiace se ho urtato la suscettibilitòà di qualcuno. Tu sei stato cortese, quindi ti rispondo. Vedila dalla mia parte: ad essere redarguita sono stata io! Ho fatta una domanda molto semplice, da profano certo: ribadisco che se fossi stata esperta, non avrei avuto motivo di far domande. Chi mi ha risposto ha usato ben 16 righe per dimostrare la mia inadeguatezza, che sono la prima a conoscere, ovvio. Senza peraltro dare alcuna informazione utile. Altrettanto inutile suggerire di usare Excel o Word.... sarò inadeguata, ma so riconoscere la differenza tra Access e un foglio di calcolo o un programma di video scrittura... Quindi: quello che mi serve è Access, e rimango della mia idea: se un solo utente ha necessità di una funzione che il programma non consente, è il programma ad essere inadeguato! Se sono l'inventore del rastrello e uno spazzatore ha bisogno di usarlo ANCHE come ramazza, aggiungerò dei rami di saggina... se voglio.... Se invece non voglio è mio diritto non farlo. Ma non per questo posso dire al ramazzatore che la sua richiesta è insensata Grazie anche a te e buon lavoro,
  • Re: Inserire righe Access

    ivanab ha scritto:


    rimango della mia idea: se un solo utente ha necessità di una funzione che il programma non consente, è il programma ad essere inadeguato!
    Di fronte a questo principio, purtroppo mi arrendo e alzo le mani, perché credo che qualsiasi motivazione io possa trovare di fronte a qualcuno che pretende che l'assurdo sia possibile e ne individua il difetto nell'assurdo, non ci sia ragione che tenga.

    Un secondo motivo per cui mi astengo da ulteriori considerazioni è data dalla scomodità di passare da Access al browser per rispondere: Access non integra una finestra per poter accedere direttamente a questo forum, e questo è senz'altro un problema o una limitazione di Access.

    Aggiungo infine che ringrazio i progettisti di Access per non aver implementato determinate funzionalità come quella in oggetto, perché l'aggiunta di rami di saggina per soddisfare un utente ne avrebbero compromesso il funzionamento a tutti gli altri che distinguono invece una ramazza da un rastrello e, per seguire la metafora, sono in grado di comprendere che il mix non funzionerebbe né come l'uno né come l'altro.

    Un saluto!
  • Re: Inserire righe Access

    Ok... concordo sulla sterilità della discussione, ognuno di noi rimarrà della propria idea. Sono solo perplessa sulla "gravità" della richiesta che ho fatto. Uso Access da anni, lo trovo ottimo. Non sono partita "pretendendo" che venissero fatte modifiche a mio uso e consumo Lo uso come data base, chiaro, ma non riesco a capire perchè dovrebbe essere così complicata una funzione che ti permette solo di inserire una riga dove vuoi e non in fondo..... ok ok: magari è davvero difficile, io non posso saperlo, e questo non lo contesto. Per la natura del mio data base io avrei bisogno di inserire le righe dove voglio, perchè mai questo dovrebbe essere assurdo o inficiare le potenzialità dell'intero data base? Non voglio rivoluzionare tutte le possibilità che offre Access! Mi serve solo una piccola flessibilità nell'inserimento dei dati... e continua a parermi strano sentirlo definire assurdo....
  • Re: Inserire righe Access

    Direi che dovresti invertire la domanda: perché un database, ossia uno strumento che nasce per memorizzare in modo rigido e strutturato dei dati (che ovviamente richiede accorgimenti, compromessi e strumenti specifici dedicati a questo scopo), aggiungendo anche sovrastrutture come gli indici allo scopo di semplificarne la successiva ricerca e anche l'ordinamento secondo diversi criteri dei dati stessi, tra le altre cose, dovrebbe buttare via tutto questo e adottare uno schema assolutamente libero e inefficiente che - tra le altre cose - è anche impossibile per il file system di Windows, ossia dare la capacità di "scrivere in mezzo" (cosa che si evita sempre nei DB, proprio per motivi di performance, ed è anche il motivo per cui si fa backup/restore per compattare lo spazio), snaturandolo completamente, solo perché qualcuno vede la tabella e la vuole usare come si fa in Excel, ma lavorando in Access.

    Se usi Access, sai che l'ordine di inserimento e visualizzazione è del tutto superfluo ed è pertanto eseguito in modo da velocizzare al massimo le tempistiche di gestione dell'archivio da parte del software e ottenere le prestazioni massime possibili (nei limiti di Access), dando comunque la possibilità in seguito di estrarre, visualizzare e stampare quei dati con i filtri e gli ordinamenti che si ritengono più opportuni, sempre in modo efficiente grazie all'apporto dei suddetti indici e di tutto il resto.

    Per supportare una "posizione del record", devi aggiungere un campo (numerico o di altro tipo) per il quale effettuare l'ordinamento, altrimenti quella informazione va perduta, e non deve essere gestita se non richiesta (e praticamente nessuno lo richiede, o tutti lo aggiungono quando previsto, in base alle logiche di business associate).

    Boh, sarà un mio limite, ma io non capisco come non possa essere così chiaro il punto.
  • Re: Inserire righe Access

    A questo punto direi che a non essere stata chiara sono io. Non voglio variazioni nell'ordinamento, nella ricerca, o "estrarre, visualizzare e stampare quei dati con i filtri e gli ordinamenti che si ritengono più opportuni"! Non voglio assolutamente niente di diverso nelle funzioni e nell'utilizzo del data base! E' semplicemente una questione di INSERIMENTO dati. Devo inserire una serie di record in cui spesso i campi sono uguali a quelli di altri record già presenti. Se potessi inserirli nella riga sottostante, con il comando CTRL ‘ potrei copiare il testo senza doverlo riscrivere. Tutto qui. E' una cosa del genere che causerebbe tutti i problemi di cui mi parli?
  • Re: Inserire righe Access

    ivanab ha scritto:


    Devo inserire una serie di record in cui spesso i campi sono uguali a quelli di altri record già presenti. Se potessi inserirli nella riga sottostante, con il comando CTRL ‘ potrei copiare il testo senza doverlo riscrivere. Tutto qui.
    A me sembra tutto un altro discorso.
    La combinazione CTRL+' consente di copiare lo stesso valore campo del record precedente.
    Per ottenere più record uguali, se sono adiacenti, potresti selezionare campi e record multipli, quindi Copia, poi ti posizioni su Record Nuovo, selezioni gli interi rettangoli degli stessi campi, quindi Incolla.
    Se i record interessati non sono adiacenti, potresti filtrare momentaneamente affinchè ciò avvenga.
    Se ci mostri qualche esempio pratico di recordset significativo, riusciamo a capire meglio di cosa si tratta veramente.
  • Re: Inserire righe Access

    Ivanab,
    vedo ora che hai posto la stessa domanda in altra area, a cui avevo già risposto:
    https://www.iprogrammatori.it/forum-programmazione/presentazioni/inserire-righe-access-t49346.html
    ti allego quindi il post anche in questo thread.

    ivanab ha scritto:


    A me servirebbe: devo inserire una serie di record in cui spesso i campi sono uguali a quelli di altri record già presenti. Se potessi inserirli nella riga sottostante, con il comando CTRL ‘ potrei copiare il testo senza doverlo riscrivere.
    Come ti è stato indicato precedentemente, per porre dei record all'interno di una sequenza (e non in fondo) è necessario agire sull'ordinamento con cui si presentano i dati.
    Giusto per fare un esempio, se abbiamo 3 record contrassegnati come "Milano","Roma","Torino", i quali vengono presentati in tale sequenza alfabetica, e vogliamo inserire 2 record dopo quello di "Roma" (copiandone eventualmente i dati) è possibile tramite un ulteriore attributo assegnare una sottosequenza a partire da quella di partenza (che ipotizziamo a "0") e vada ad inserire i dati contrassegnati "1" e "2" in modo che la sequenza compessiva risulti "Milano","Roma" + "0","Roma" + "1","","Roma" + "2","Torino".
    Tale operazione è possibile esclusivamente tramite codice VBA (copiando i dati di un record, creare la nuova sequenza voluta, e riaggiornare la presentazione dei dati nella maschera).
    Chiaramente se si sta agendo su campi chiave è da valutare se la sequenza va contro la normalizzazione dei dati (assicurata dal DBMS).
  • Re: Inserire righe Access

    Non pensiamo sia sufficiente averlo detto 3 volte...?

    Io chiuderei.
  • Re: Inserire righe Access

    Per Willy55: ho posto la stessa domanda in altra area, perchè mi è stato detto che la prima era sbagliata.
    Per Alex: hai ragione, avete detto la stessa cosa per tre volte, senza aver mai capito qual'era la domanda. Chiudiamo pure, tanto non serve.
    Per Alka e Osvaldo: siete stati gli unici a cercare dvvero di capire, quindi grazie.
    Per tutti: ribadisco che l'errore è stato mio che ho sbagliato forum. Il vostro mondo di "programmatori" è a sè stante, magari capite perfettamente i programmi, ma sicuramente non capite le persone normali.
    E grazie cmq a tutti per aver perso tempo.
    Discorso chiuso.
  • Re: Inserire righe Access

    Certo hai ragione.
Devi accedere o registrarti per scrivere nel forum
16 risposte