Immissione Dati Perchè accade questo? :( [Risolto]

di il
28 risposte

Immissione Dati Perchè accade questo? :( [Risolto]

Io ho una semplice tabella in cui ho dei dati di alcuni dipendenti.
Ora dato che alcuni campi di cui fanno parte i Dipendenti: Divisione e Categoria sono "fissi"
(Ovvero:Ogni dipendente fa parte di una "categoria", che è un valore fisso: A, B o C e non ve ne possono essere altre.
Esempio: Il signor Luca, fa parte della Divisione Operativa della Categoria C)
Ho raggruppato il tutto in delle caselle combinate a tendina per Semplificare l'immissione automatica dei dati.
Ma non è Lineare e non capisco perchè :'(((( Eccovi riportate le foto con dati inventati per Testare il DB
err1.JPG
err1.JPG


wee2.JPG
wee2.JPG

Aiuto vi prego non riesco a capire dove sbaglio... Dovrei raggruppare questi due campi in tabelle diverse? Ma poi mi da altri errori T__T ci ho provato non riesco a venirne a capo in alcun modo

28 Risposte

  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Se ho ben capito dovresti creare altre due tabelle
    1° deve contenere le categorie
    2° deve contenere le divisioni
    e gestire il tutto sulla tabella dipendenti con una casella combinata
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Sono relativamente daccordo con Francesco. Potresti chiarirci il significato di Categorie e Divisioni? Sono disgiunte oppure strettamente legate a catena?
    Poi direi che il campo Dipendente non deve essere una casella combinata.....altrimenti di cosa parla quella tabella?
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Greta...se continui così non aiuti chi i dovrebbe aiutare e quindi non aiuti te stessa.
    Nei vari 3d che hai postato, cerchi sempre una soluzione cambiando sempre le carte in tavola, come dire appena una soluzione non funziona non ti poni mai il perché quella cosa non funziona e gironzoli a zonzo esempio:
    Hai capito perché quelle relazioni sono impostate male?
    Hai capito cosa è l'integrità referenziale e cosa vuol dire quella opzione 2, che ti evidenziava un errore scritto in Italiano?
    Hai capito perché in quella tabella Anagrafica era presente l'id della categoria e non il nome ?
    Hai capito come funziona una casella combinata che preleva i dati da una tabella?
    Hai capito cosa vuol dire spuntare la voce manteni il dato per un uso successivo?(se hai messo la spunta su questa opzione perché cerchi il dato in tabella?)
    La domanda che ti fai "in un'altro Db funziona perfettamente" non ha alcun senso senza capire come è fatto nell'altro db.
    Scusa la filippeide e arriva il consiglio:
    Studiare studiare e studiare hai provato a scaricare il database di esempio di "Northwind" ?
    La dritta a questo quesito è creare 2 tabelle Categorie e divisioni strutturate così:
    IdCat
    Categoria

    IdDivisione
    Divisione

    Gli ID devono avere una chiave esterna presente nella tabella Anagrafica.
    Togli quelle relazioni e relativi Join e vedi cosa succede.
    Stammi bene

    Ps: Scusa Osvaldo ci siamo accavallati.
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Francesco231070 ha scritto:


    Se ho ben capito dovresti creare altre due tabelle
    1° deve contenere le categorie
    2° deve contenere le divisioni
    e gestire il tutto sulla tabella dipendenti con una casella combinata
    Io così feci anche con un altro Database, ma mi da comunque problemi :\ diceva: Errore join e contemporaneamente questo errore quando compilavo.
    Nella Tabella principale dei Dipendenti oltre ad avere il campo: Nome, Telefono, Email, ho anche il campo ID_Categoria e ID_Divisione a cui vado a collegare gli ID delle due tabelle rispettive.
    Ma non funziona..
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    OsvaldoLaviosa ha scritto:


    Sono relativamente daccordo con Francesco. Potresti chiarirci il significato di Categorie e Divisioni? Sono disgiunte oppure strettamente legate a catena?
    Poi direi che il campo Dipendente non deve essere una casella combinata.....altrimenti di cosa parla quella tabella?
    Nono, categoria e divisioni sono tra loro indipendenti.
    Sono soltanto in relazione con la tabella Dipendente.
    Il campo dipendente mi serve come cbo perchè mi facilita la ricerca dei dipendenti e selezionando il dipendente che mi serve mi escono tutti i dati relativi ad esso
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Gianni55 ha scritto:


    Greta...se continui così non aiuti chi i dovrebbe aiutare e quindi non aiuti te stessa.
    Nei vari 3d che hai postato, cerchi sempre una soluzione cambiando sempre le carte in tavola, come dire appena una soluzione non funziona non ti poni mai il perché quella cosa non funziona e gironzoli a zonzo esempio:
    Hai capito perché quelle relazioni sono impostate male?
    Hai capito cosa è l'integrità referenziale e cosa vuol dire quella opzione 2, che ti evidenziava un errore scritto in Italiano?
    Hai capito perché in quella tabella Anagrafica era presente l'id della categoria e non il nome ?
    Hai capito come funziona una casella combinata che preleva i dati da una tabella?
    Hai capito cosa vuol dire spuntare la voce manteni il dato per un uso successivo?(se hai messo la spunta su questa opzione perché cerchi il dato in tabella?)
    La domanda che ti fai "in un'altro Db funziona perfettamente" non ha alcun senso senza capire come è fatto nell'altro db.
    Scusa la filippeide e arriva il consiglio:
    Studiare studiare e studiare hai provato a scaricare il database di esempio di "Northwind" ?
    La dritta a questo quesito è creare 2 tabelle Categorie e divisioni strutturate così:
    IdCat
    Categoria

    IdDivisione
    Divisione

    Gli ID devono avere una chiave esterna presente nella tabella Anagrafica.
    Togli quelle relazioni e relativi Join e vedi cosa succede.
    Stammi bene

    Ps: Scusa Osvaldo ci siamo accavallati.
    Io sto solo elencando le varie problematiche che ho riscontrato durante il processo di sviluppo del database, non cambio carte in tavola, semplicemente vorrei solo cercare di capire quali sono i miei errori dal momento che sono una neofita e vorrei qualche consiglio.
    Non sono una che sta con le mani in mano quindi sperimento su Database di Test le varie nozioni che Imparo studiando, da autodidatta, per comprendere meglio come funziona.
    Il database precedente è molto diverso da questo ma almeno sono riuscita, studiando e studiando a fargli fare ciò che doveva fare.
    Ma su quest'altro non riesco nemmeno a collegare le tabelle senza che riscontrassi errori e sinceramente ora non capisco più nulla.

    No, non ho spuntato la voce mantieni il dato per un uso successivo dal momento che il Campo Dipendente mi serve solo ai fini della Ricerca dei nomi...mentre nelle cbo delle categorie e divisioni è inutile poichè sono dati fissi quindi non ho bisogno di Immettere altri record.

    Vorrei solo comprendere perchè invece di apparire tutto su una stessa riga, l'ID e il Dipendente escono su una riga sfalsata?
    wee2.JPG
    wee2.JPG

    Inizialmente così erano strutturate le tabelle.. ma mi dava comunque problemi :\
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Ho "Risolto" Il problema con Due Tabelle:
    TBLNOMI --> In cui ho solo i nomi dei dipendenti.
    ID
    Dipendente
    --------
    TBLDIP--> In cui ho tutti gli altri dati
    ID
    Matricola
    Categoria
    Divisione
    Qualifica
    Telefono
    ID_Dipendente
    ----------------------
    Creo Maschera e Sottomaschera. E l'Immissione dei dati avviene impeccabilmente ma c'è un piccolissimo problema che ora vi riporto.
    Nella Maschera creo la Cbo per la Ricerca dei nomi dei dipendenti così che nella sottomaschera mi escano i loro dati.
    Nell'Evento Non in Elenco metto il codice per inserire un nuovo record qualora ve ne fosse bisogno:
    CODICE:
    Dim db As DAO.Database, rs As DAO.Recordset ' Variabili per gestire oggetti DAO
    Dim strMes As String ' Variabile stringa per la finestra di messaggio

    'costruisce la stringa per la domanda da visualizzare
    'nella finestra di messaggio usando l'argomento intrinseco NewData
    'e la costante vbCrLf di VBA
    strMsg = "'" & NewData & "' non è un nome di Medico disponibile"
    strMsg = strMsg & vbCrLf & "Desidera aggiungerlo all'elenco dei Medici?"
    strMsg = strMsg & vbCrLf & "Clicc su Sì per aggiungerlo, su No" & _
    "per selezionarne uno esistente."
    'Presenta l'alternativa all'operatore
    If MsgBox(strMsg, vbQuestion + vbYesNo, _
    "Aggiungere un nuovo nome?") = vbNo Then
    'Se l 'operatore rinuncia a modificare l'elenco
    'importa il valore della costante intrinseca Response
    Response = acDataErrContinue
    Else

    'Se, invece, l'operatore sceglie di aggiungere il nuovo valore,
    'apre la tabella Medici e vi inserisce un nuovo
    'record corrispondente al valore digitato
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblnomi", dbOpenDynaset)
    rs.AddNew
    'Esegue il metodo AddNew specificando il campo Medico
    rs!Dipendente = NewData

    'Inserisce materialmente il nuovo valore nella tabella e poi la chiude
    rs.Update
    rs.Close
    'Imposta un valore di uscita per la costante intrinseca Response
    Response = acDataErrAdded
    End If

    Inserisco il Dipendente Nuovo e tutto ok.
    Nella sottomaschera vorrei che appena inserisco il nome Nuovo appena immesso mi aggiunga un nuovo record relativo ad esso poichè è come se la sottomaschera non si aggiornasse....
    E spesso non mi salva i dati che immetto relativi a quel Dipendente.
    I dati... me li aggiunge però devo cliccare 300 volte su aggiorna oppure cliccare su un Dipendente vecchio e poi su quello nuovo che ho immesso per far uscire i campi della sototmaschera "Puliti"
    Non so se si è capito :I
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    greta.macedonio ha scritto:


    TBLNOMI --> In cui ho solo i nomi dei dipendenti.
    ID
    Dipendente--------
    TBLDIP--> In cui ho tutti gli altri dati
    IDMatricola
    Categoria
    Divisione
    Qualifica
    Telefono
    ID_Dipendente
    Non va bene. Un Dipendente avrà una sola Matricola, un solo Telefono. Trovo terribile/impensabile usare una tabella Nomi uno-a-molti Dipendenti. Quando dici Nomi intendi Luca, Giorgio, Mario, Paolo? O intendi anche il Cognome? E' vero che esistono molti Luca, molti Giorgio, molti Mario, Paolo...ma non è in questo caso che si usa la relazione uno-a-molti.
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    Ora mi chiarisco di più, spiegando il motivo della mia scelta...

    Quando dico nomi intendo: Giordani Luca, Rossi Piero, Minieri Alfonso... e così via. Cognome e Nome in un solo campo.

    Inizialmente era impensabile anche per me ma era l'unica che ha funzionato in definitiva.
    Così che ho una tabella Principale in cui ho il Dipendente ed una Maschera Secondaria in cui ho i dati di quel Dipendente

    Ho raggruppato i nomi in una tabella separata così che ai dati: Telefono, Matricola, Qualifica in Tbldip.. corrisponde quel determinato Dipendente nella tblnomi.
    Facendo dei test compilando la maschera, devo dire che funziona impeccabilmente... l'unico problema che resta è che la sottomaschera non si aggiorna a dovere quando inserisco un nuovo Dipendente e non so se dipende perchè devo inserire un comando o fare altro...

    -----------------------------------------------------------------------------------------
    Passando ad un Discorso Generale per comprendere di più la mia scelta...

    Prima di creare questo database in Access, ho creato uno schema chiedendomi: Qual'è la funzionalità del Database(?) A cosa serve questo Database (?) Cosa deve permettere di fare a chi gestisce il Database (?)
    Così per capire come strutturarlo al meglio.

    Da qui poi sono giunta a conclusione che non mi serve sapere se Un Dipendente è in Categoria A,B o C o in Divisione Dirigenza o Specialistica... così per il Numero di telefono e la mail.
    (In più categoria e Divisione sono dati che restano immutati, quelli sono e così restano per sempre quindi li ho lasciati lì senza ulteriori suddivisioni in tante tabelle)

    Quello che mi serve ai fini del database, e che farò in futuro è: A che ora quel Dipendente è Reperibile in un determinato Dipartimento. (Che non ho ancora aggiunto) Mentre la Divisione mi serve per un secondo fine che spiegherò a seguito.

    Ciò che vorrei fare e che sto tentando di creare ora è un semplice Elenco di tutti i Dipendenti dell'azienda. Semplice semplice.

    Così che in un Secondo momento Spartirò ai loro Distretti.
    Quindi avrò il Giorno "x" del mese "x" il Signor Rossi Mario alle 17:00 in Distretto "xx"
    (Che poi il Signor Rossi Mario è di Categoria A, in Divisione Dirigenza col numero di telefono tot, è una cosa che a me non interessa)
    -------------------------------------
    Poi vorrei che due persone, tramite Password accedano a una maschera per gestire i Dipendenti che sono nelle due Divisioni: Dirigenza e Comparto.
    E lo farò tramite due maschere basate su una Query.
    Quindi la Persona A gestisce la maschera Dirigenza e la Persona B gestisce il Comparto.


    Spero di essere stata più chiara :\
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    greta.macedonio ha scritto:


    Quando dico nomi intendo: Giordani Luca, Rossi Piero, Minieri Alfonso... e così via. Cognome e Nome in un solo campo.
    OK.

    greta.macedonio ha scritto:


    Da qui poi sono giunta a conclusione che non mi serve sapere se Un Dipendente è in Categoria A,B o C o in Divisione Dirigenza o Specialistica... così per il Numero di telefono e la mail.(In più categoria e Divisione sono dati che restano immutati, quelli sono e così restano per sempre quindi li ho lasciati lì senza ulteriori suddivisioni in tante tabelle)
    Io ho capito che Rossi Mario ha la combinazione Categoria=A, Divisione=Peperepè, Qualifica=Quaquaraquà, poi ha un SUO telefono e una SUA e-mail. Tutti questi dati sono STRETTAMENTE legati alla Persona=Dipendente, quindi puoi inglobarli tutti nella stessa tabella Dipendenti.
    Stop.

    Tutto il resto, limitatamente alla tabella Anagrafica, cioè Dipendenti, salta per aria riguardo alle caselle combinate.
    Se solo ci spieghi se Dipendenti serve ad alimentare altre tabelle "figlie", allora possiamo parlare di casella combinata che guarda la tabella Dipendenti attraverso il suo IDDipendente.
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    OsvaldoLaviosa ha scritto:


    Tutto il resto, limitatamente alla tabella Anagrafica, cioè Dipendenti, salta per aria riguardo alle caselle combinate.
    Se solo ci spieghi se Dipendenti serve ad alimentare altre tabelle "figlie", allora possiamo parlare di casella combinata che guarda la tabella Dipendenti attraverso il suo IDDipendente.
    Quindi mi consigli di Inglobare tutto in una sola tabella, Anagrafica, benissimo.
    Beh, le caselle combinate le uso per velocizzare\facilitare l'immissione dei dati, così da non scrivere a mano ogni volta.

    La tabella figlia è la tabella Distretto che ho pensato di costruirla così:

    TBLDISTRETTO
    ID_distretto
    NomeDistretto --> (In che distretto ogni dipendente ha il suo turno)
    Data Entrata Mattina
    Data Uscita Mattina
    Data Entrata Pomeriggio
    Data Uscita Pomeriggio
    Data Entrata Notte
    Data Uscita Notte
    ID_Dipendente ---> Chiave esterna a cui si lega la prima tabella

    Credi sia giusto?

    L'ho divisa in fasce orarie perchè devo gestire i turni lavorativi dei dipendenti nei loro distretti in base alle fasce orarie e mi è stato consigliato di dividerle così in tabella invece di avere un solo campo ORA \ DATA... non so se è questo il modo corretto per farlo ma provo a seguire il consiglio.
    Grazie mille
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    greta.macedonio ha scritto:


    le caselle combinate le uso per velocizzare\facilitare l'immissione dei dati, così da non scrivere a mano ogni volta.
    Esatto. Per quello servono.

    Per l'altra richiesta, che non c'entra più con le caselle combinate, apri un nuovo thread più relativo alla strutturazione del database.
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    OsvaldoLaviosa ha scritto:


    Esatto. Per quello servono.
    Ho rifatto la tabella e maschera con le nuove impostazioni ed ora funziona tutto a dovere.
    Sì, per la struttura della nuova tabella aprirò un nuovo Thread in seguito..
    Volevo riportare un ultimo aggiornamento riguardo questo thread poichè oggi mi sono imbattuta in un'altra difficoltà con l'Immissione dati Automatica tramite casella combinata :\

    Ho Creato la seconda tabella a cui si collega la prima, per spartire ogni Dipendente al proprio Reparto...
    per facilitare l'inserimento dei Dati nella maschera il campo relativo al reparto l'ho cambiato in Casella Combinata ma non riesco a capire dove sbaglio se è come imposto la tabella o come imposto la casella combinata.. Queste sono le relative foto...
    1.JPG
    1.JPG


    2.JPG
    2.JPG


    3.JPG
    3.JPG


    4.JPG
    4.JPG

    In tabella nel campo Reparto dovrebbe uscire il nome del Reparto non il suo ID... Potresti spiegarmi da cosa dipende per favore?
    Ho seguito dei video in cui veniva spiegato in modo chiaro e facendo passo passo come dimostrato, il risultato che io ottengo non si trova con quello nel video... (
  • Re: Immissione Dati Perchè accade questo? :( [Risolto]

    greta.macedonio ha scritto:


    OsvaldoLaviosa ha scritto:


    Esatto. Per quello servono.
    Ho rifatto la tabella e maschera con le nuove impostazioni ed ora funziona tutto a dovere.
    Sì, per la struttura della nuova tabella aprirò un nuovo Thread in seguito..
    Volevo riportare un ultimo aggiornamento riguardo questo thread poichè oggi mi sono imbattuta in un'altra difficoltà con l'Immissione dati Automatica tramite casella combinata :\

    Ho Creato la seconda tabella a cui si collega la prima, per spartire ogni Dipendente al proprio Reparto...
    per facilitare l'inserimento dei Dati nella maschera il campo relativo al reparto l'ho cambiato in Casella Combinata ma non riesco a capire dove sbaglio se è come imposto la tabella o come imposto la casella combinata.. Queste sono le relative foto...
    1.JPG
    1.JPG


    2.JPG
    2.JPG


    3.JPG
    3.JPG


    4.JPG
    4.JPG

    In tabella, ultima foto, nel campo Reparto dovrebbe uscire il nome del Reparto non il suo ID... Potresti spiegarmi da cosa dipende per favore?
    Ho seguito dei video in cui veniva spiegato in modo chiaro e facendo passo passo come dimostrato, il risultato che io ottengo non si trova con quello nel video... (
    Ho anche rifatto la relazione della tabella così che la Chiave Primaria della tblrep si collega ad una Esterna in tbldip
    Come risultato dovrebbe uscire che aprendo la tabella principale (tbldip) nel campo chiave secondaria mi viene riportato l'ID del reparto assegnato in tblrep.. invece lì non c'è scritto nulla
Devi accedere o registrarti per scrivere nel forum
28 risposte