Importare dati da tabella provvisoria nelle tabelle correte

di il
19 risposte

Importare dati da tabella provvisoria nelle tabelle correte

Buongiorno a tutti
avrei bisogno un'aiuto per inserire i dati che ho nella tabella provvisoria, nelle tabelle corrette.
Tramite java converto un pdf in testo, poi creo un file che contiene il testo e lo importo in Access con una procedura di import che crea una tabella provvisoria. Ora ho la mia tabella Importa-File1 che contiene i campi id, data, prestazione,OraInizio,OraFine,QtaOre,Produzione,Importo.
Devo creare un pulsante che prende il campo prestazione della tabella Importa-File1 e lo mette nella tabella Collaboratori, i campi data, oraInizio, oraFine, qtaOre, Produzione,Importo nella tabella incarichi.
Ho provato con insert into nometabella select nomecampo from nometabella ma non funziona, mi da errori di vario genere (ho provato in diversi modi, con e senza parentesi ecc ma non riesco). Anche per il fatto che non conosco bene la sintassi corretta (ho guardato le guide microsoft e ho provato a fare come dicono ma senza successo...).
Potete aiutarmi per favore? magari con un esempio?
Grazie
Gabriele

19 Risposte

  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Gamberone ha scritto:


    la mia tabella Importa-File1 che contiene i campi id, data, prestazione,OraInizio,OraFine,QtaOre,Produzione,Importo.

    Gamberone ha scritto:


    Devo creare un pulsante che prende il campo prestazione della tabella Importa-File1 e lo mette nella tabella Collaboratori, i campi data, oraInizio, oraFine, qtaOre, Produzione,Importo nella tabella incarichi.
    Non pensi che questi campi che hai elencato abbiano qualcosa di "non normalizzato" dal punto di vista delle tabelle?
    Data, OraInizio, OraFine possono diventare tranquillamente 2 campi TimeInizio e TimeFine se crei il formato Data/Ora completo.
    QtaOre non deve figurare in una tabella. Essendo frutto di un calcolo che può fare Access, ciò va delegato a lui possibilmente grazie a una query.

    Gamberone ha scritto:


    Ho provato con insert into nometabella select nomecampo from nometabella ma non funziona, mi da errori di vario genere (ho provato in diversi modi, con e senza parentesi ecc ma non riesco). Anche per il fatto che non conosco bene la sintassi corretta (ho guardato le guide microsoft e ho provato a fare come dicono ma senza successo...).
    Tutto questo va rivisto con quello che ti ho detto prima. Poi, almeno io, avrei bisogno di una constestualizzazione di più ampio respiro per capire bene cosa vuoi fare veramente.
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Ciao,
    non saprei come fare a normalizzarli: io ricevo un pdf dal cliente con i campi separati come ho scritto prima, cioè ad esempio:

    colonna data: 02
    colonna prestazione: testo
    colonna ora inizio: 08:00
    colonna Ora fine: 12:00
    colonna prestazione: testo
    colonna qta ore: 4.00
    colonna produzione: testo
    ho fatto un programmino in java che converte il pdf in txt e poi importo il txt nella tabella Importa-File1.
    Il mese e l'anno non ci sono nel pdf e quindi nemmeno nel txt che creo(devo fare 2 menù a tendina dove poterli scegliere), quindi nella tabella Incarichi ho fatto altri 2 campi (mese e anno).
    Sono uno studente e sto facendo uno stage per ottenere il diploma e il lavoro consiste nello sviluppare un gestionale per i collaboratori (prestito di personale), io ricevo dal cliente(al quale abbiamo prestato un collaboratore) un pdf con i dati che dicevo prima, e devo importare in access.
    Il capo dice che vuole poter segliere collaboratore, anno e mese all'inizio e poi importare i dati nelle tabelle. Io per ora sono riuscito a fare appunto la conversione da pdf a txt e importo in una tabella provvisoria. Adesso dovrei riuscire a mettere il tutto nelle rispettive tabelle.
    poi dovrò fare dei report per visualizzare : il collaboratore pinco pallino a gennaio ha lavorato il giorno 2, dalle alle, ore totali, per quale produzione,importo....ed alla fine di ogni riga eseguire dei controlli in base alla tarifa per quella prestazione(ad esempio tecnico luci) agli orari e se era una domanica e verificare che l'importo che ho sia corretto.
    Se non è chiaro dimmelo che provo a spiegalo in altre parole, non è semplice perchè non posso divulgare info dettagliate(firmato accordo di confidenzialità).
    Grazie
    Gabriele
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Ho bisogno di un mio ordine di idee, quindi ti pongo le seguenti domande:
    - di cosa parla il database (quello che sta dentro Access)
    - elenca i nomi propri di tutte le tue tabelle
    - elenca i nomi propri di tutti i campi di ogni tabella con l'indicazione della chiave primaria
    - le relazioni
    ...in alternativa puoi postare una immagine della finestra Relazioni
    - poi rispiega tutto passo passo quello che vuoi fare usando i nomi propri
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    La finestra Relazioni "sembrerebbe" normalizzata (ignoro i dettagli logici). Ma allora tu cosa vuoi fare?
    Hai bisogno di accodare i record di Importa-File1 in Incarico? Ma poi non si capisce quale Collaboratore associare!!! Mi perdo un po'.
    Consigli: usa sempre nomi tabella al PLURALE e nomi campo al SINGOLARE
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Devo creare un pulsante che prende il campo prestazione della tabella Importa-File1 e lo mette nella tabella Collaboratori, i campi data, oraInizio, oraFine, qtaOre, Produzione,Importo nella tabella incarichi.
    Esistono diverse incongruenze (dal mio punto di vista) :
    - Il collaboratore fornisce da 1 a n prestazioni -> quindi la prestazione NON può essere presente nella tabella 'Collaboratori' ma dovrebbe essere presente nella tabella 'Incarico' (dove peraltro è anche già presente)
    - nel caso volessi 'mettere' il dato prestazione nella tabella 'Collaboratori', occorre capire cosa intendi per mettere : se intendi un aggiornamento ti occorre specificare anche l' IDCollaboratore (usando l' istruzione SQL 'Update .... WHERE IdCollaboratore = ID), nel caso invece volessi inserire la prestazione ci voglio anche gli altri campi della tabella (magari nome, cognome del collaboratore) e SQL ti genera il nuovo Id (tramite INSERT INTO ....) per le successive oprazioni sulla tabella 'Incarichi'

    Secondo me tu dovresti, sfruttando l' ID fare degli inserimenti nella sola tabella 'Incarichi', se poi così non è, prova a spiegare meglio il problema.
    Resta anche da capire il campo ID che cosa realmente significa (IDCollaboratore ?)
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Ciao, guarda sto panicando, devo consegnare il tutto tra un mese e sono in alto mare.
    in pratica il capo vuole poter visualizzare (in un report) o in una maschera:
    mese, anno, nome collaboratore, referente, numero incarico in cima, e poi:
    colonna data: 2 colonna funzione: tecnico luci colonna ora inizio: 08:00 colonna orafine: 23:00 colonna Qta ore: 12 colonna produzione: telegiornale colonna importo: 450
    questo per ogni giorno del mese che il collaboratore ha lavorato.
    Io ora ho i dati in tabelle diverse (ho aggiunto delle tabelle dall'immagine che ho postato perche non importavo ancora il referente ed il numero dell'incarico) ora posto nuova immagine.
    Ho una tabella incarico che contiene i campi delle altre tabelle "provvisorie", e dovrei riuscire a mettere tutto dentro questa tabella,( il nome del collaboratore viene scelto da un menu a tendina, e poi dovrei avere un pulsante che prende tutti i campi delle tabelle provvisorie e il nome del collaboratore e mette tutto nella tabella incarico.
    Una volta fatto questo devo controllare se gli importi sono corretti in base alle varie tariffe (giorni festivi, prima delle 7 di mattina, dopo mezzanotte ecc) ma questi controlli il mio chef vorrebbe che li facessi in un report, dove vengano anche visualizzate le ore totali, le ore di straordinario, quelle a tariffa maggiorata (festivi e domeniche) e i supplementi per straordinari.
    Sono veramente in panico non so piu come continuare.....
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Max.riservo è riuscito a centrare qualcosa che a me non era chiaro e non riuscivo a esplicitare. Quindi occorre mettere ordine:
    1) Innanzitutto normalizzare tutte le tabelle
    2) Chiarirti le idee sulla differenza fra query e tabella
    3) Non perdere mai di vista lo spirito archivistico tipico di Access. Le tabelle conservano dati. I calcoli li fanno le query.
    3) Hai richiesto troppe cose insieme e direi anche disordinatamente. Scopo del forum non è quello di risovere grandi problemi tutti insieme. Ti consiglio di porre piccole domande una alla volta e possibilmente su thread diversi. Io ho perso il filo di tutto.
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Ciao, grazie, ho risolto con una query di accodamento.
    Ora avrei un altro piccolo problemino:
    ho dei record che hanno la stessa data (lo stesso giornio diviso in 2) es 05.01.2016 dalle 8 alle 12 e 05.01.2016 dalle 13 alle 17. Devo creare un campo che visualizza la somma delle ore totali lavorate quel giorno (quindi in questo caso sommare le ore di 2 record). Ho creato una query che mi somma le ore dove le date sono uguali ma come faccio a mettere i risultati nei campi della tabella? (dovrei sostituire i dati che ho adesso (qta ore 4 per il primo e qta ore 4 per il secondo) con la somma (nella riga del 05.01.2016 metta 8 )
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Continui a non cogliere la differenza fra tabella e query.
    Nelle tabelle si vanno a mettere i soli dati che l'utente deve digitare. Tutto ciò che è frutto di calcoli successivi non deve essere memorizzato in tabella, ma mostrato in una query. Per venirti incontro, vale la pena creare una query che ricalchi esattamente tutti i campi della tabella con l'aggiunta di campi che effettuano i calcoli che tu vuoi ottenere.
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Ok grazie provo così. Ma alcuni campi li ho ricavati in tabella usando i campi calcolati, è sbagliato?
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    Il "campo calcolato" è una invenzione di Microsoft Access dalla versione 2007 in poi. Pare che in altre applicazioni similari non esiste (mi si corregga se sbaglio). I puristi di Access ritengono il campo calcolato una contraddizione con lo spirito che anima le query.

    OsvaldoLaviosa ha scritto:


    Nelle tabelle si vanno a mettere i soli dati che l'utente deve digitare. Tutto ciò che è frutto di calcoli/espressioni successivi, deve essere la "macchina" a metterli in moto, quindi si usa una query.
    In linea generale questi 2 concetti andrebbero rispettati e tenuti ben distinti.
    Poi (secondo una mia interpretazione) Access ha pensato così "ma che diamine, possibile che per fare un semplice [Campo1]+[Campo2] bisogna mettere in piedi una query apposta apposta? Ecco che i campi calcolati verrebbero incontro per queste piccole occorrenze.
    Scegli tu, ma non abusarne.
  • Re: Importare dati da tabella provvisoria nelle tabelle correte

    A ok, grazie mille
Devi accedere o registrarti per scrivere nel forum
19 risposte