Pagina 1 di 1

[Risolto] Dati formulario non salvati in tabella

Inviato: giovedì 9 aprile 2015, 22:44
da maxim
Buonasera,
Ho un problema di salvataggio dati con un formulario principale (creato solo per inserimento dati) con all'interno un altro formulario. Cerco di fare una descrizione della situazione nel miglior modo possibile scusandomi subito per la mia ignoranza nel non utilizzare i termini tecnici corretti.
Il formulario principale è agganciato ad una tabella Richiesta Quotazioni e tutto funziona egregiamente (a parte qualche piccolo lavoro di finitura da fare) mentre il secondo è agganciato alla tabella Vettori, dove seleziono il nome e gli altri dati tramite una casella riepilogo con una tabella filtro e un pulsante aggiorna solo per questo formulario. I dati di questo secondo formulario li seleziono regolarmente nel formulario unico aperto solo che, in fase di salvataggio record, salva nella tabella Richieste Quotazioni solo i dati del primo formulario mentre dovrei (o meglio vorrei) aggiungere alla tabella anche i dati del formulario Vettori. (Ho i vari campi ID, anzi , anche di più, visto che questo database lo sto importando da Access e gli indici si sono moltiplicati, ho però tenuto solo come chiave primaria quella generata da Base.)
Ho fatto diverse prove e tentativi ma senza risultati positivi, dove sbaglio o dimentico qualcosa? O forse per la selezione dei dati Vettori da inserire è meglio utilizzare una Ricerca?
Mentre scrivevo mi è venuto un atroce sospetto. Non vorrei che nel momento della creazione guidata ho selezionato qualche campo di spunta in sbaglio, nel caso, come posso cambiarli?
Scusatemi per il lungo questionario.
Vi ringrazio per l'aiuto.

Re: Dati formulario non salvati in tabella

Inviato: venerdì 10 aprile 2015, 8:48
da charlie
Ciao in linea di massima credo possa esserci una impostazione sbagliata del pulsante di aggiornamento. Ma serve che tu alleghi il tuo file per capire.

Re: Dati formulario non salvati in tabella

Inviato: venerdì 10 aprile 2015, 18:16
da maxim
Buongiorno.
@charlie, grazie per la risposta.
Lo so, era meglio allegare subito il file, ci ho provato :) . Considerata la quantità di dati già presente ho dovuto prima pulirlo e poi allegerirlo, togliendo tutto ciò che non è collegato al formulario in questione.
Ora lo allego con già dei record di campione molto fantasiosi.
Non nascondo che ho parecchie difficoltà nel compilare i formulari, dall'altra parte (Access :roll: ) utilizzavo diverse macro per le funzioni che qui, al momento, per me sono ancora tanto molto assai oscure. Ho tentato qualche soluzione con queste ma mi sono aggrovigliato, ergo incasinato, sui termini e il DB si era persino bloccato.
Spero che il problema sia facilmente risolvibile e che la causa sia un mio errore d'impostazione iniziale. Mi preme capire dove ho sbagliato e come fare anche perchè mi attendono al varco diversi formulari nuovi, collegati a 3-4 tabelle :knock: :knock:
Oltre naturalmente ad una bella serie di rapporti.
Ringrazio anticipatamente per il prezioso supporto.

Re: Dati formulario non salvati in tabella

Inviato: venerdì 10 aprile 2015, 19:23
da charlie
Non mi sembra il problema che avevo pensato circa il pulsante. Ma il file non mi ha chiarito, anzi. Riesci a descrivermi cosa deve fare esattamente il formulario?

Re: Dati formulario non salvati in tabella

Inviato: venerdì 10 aprile 2015, 21:33
da maxim
Grazie charlie.
Il formulario mi serve solo per inserire i dati nella tabella Richieste Quotazioni agendo come hai avuto modo di vedere direttamente su quella tabella, e fin qui tutto bene a parte alcuni dettagli e campi da aggiungere o sistemare. Il problema sorge con la seconda parte del formulario, tutta la parte sotto la riga gialla, da dove recupero i dati nella tabella Vettori cliccando sul pulsante aggiorna, che visualiiza regolarmente, ma poi non salva-scrive all'uscita nella tabella delle Richieste Quotazioni.
A dire il vero il problema credo si potrebbe risolvere diversamente e forse più semplicemente recuperando i dati Vettori con una casella riepilogo (o nel caso combinata) come avviene con NomeSocietà Committenti nel primo formulario, dove seleziono i dati da una terza tabella. Anche qui però mi scontro con il fatto che non riesco a recuperare altri dati dello stesso nominativo, vedi la casella azzurra -non funziona-.
Sicuramente sbaglio il metodo ma dopo tante e tante prove non ci sono riuscito, e magari l'ho sotto il naso ma non lo capisco :crazy:
Per aggirare questo problema ho così pensato di seguire la strada del secondo formulario, ma la scelta, considerati i problemi insorti dopo, direi non è stata la più semplice e felice.
Una precisazione sulle caselle. Non badare allla casella IDOrdini Ultimi che è provvisoria e mi serve al momento per visualizzare questo dato. Ho dovuto ricorrere a questo escamotage per la faccenda della moltitudine di ID che mi ritrovo a furia di spostare questo database. Ma questa è un altra vicenda, magari prossimamente con altro topic ne parleremo come aggirare il problema della chiave primaria in importazione tabelle.
Scusami se mi sono dilungato, spero di aver risposto alla tua domanda.
Ancora grazie mille per l'attenzione.
ciao

Re: Dati formulario non salvati in tabella

Inviato: sabato 11 aprile 2015, 1:05
da bydindi
Ciao

Non capisco la modalità della creazione delle varie tabelle, imposti un"ID" (chiave primaria) e poi riporti un secondo ID (che presumo tu imposti manualmente), forse uno dei problemi è questo, infatti non puoi mettere in relazione IDCommittente della tabella "Richiesta quotazione" con l' IDCommittente della tabella "Committenti"

Paolo

Re: Dati formulario non salvati in tabella

Inviato: sabato 11 aprile 2015, 10:51
da maxim
Buongiorno.
Grazie bydindi.
E' come dici, l'unico vero ID con la chiave primaria è il primo a sinistra mentre gli altri IDxyzw al momento sono solo campi di testo o formattati senza nessun controllo o relazione. IDOrdine che dovrebbe essere la vera e unica chiave primaria per la tabella di riferimento al momento lo inserisco proprio manualmente rifacendomi al numero sopra, certamente non il massimo per un database.
Il campo IDCommittenti, che qui non funziona, era mia intenzione riempirlo in automatico trascinando il relativo numero dopo la selezione del campo NomeSocietàCommittenti, proprio come facevo in altro dbase con una casella combinata, solo che qui non capisco come fare e non ci riesco. Riuscendo a capire e a far funzionare questo sistema potrei benissimo evitare, almeno credo, di mettere un secondo formulario per selezionare i dati della tabella Vettori.
Purtroppo questi doppioni di campi IDxywz sono il risultato di vari spostamenti tra Access o importazioni di tabelle. Comunque ora credo, o meglio spero, di aver trovato il modo per eliminare alcune di queste colonne superflue e impostare come chiave primaria uno dei miei vecchi campi che per questioni ovvie non posso eliminare esistendo già migliaia di relazioni basate proprio su questi riferimenti.
Francamente sto valutando l'oppurtunità di ricominciare ex novo questo formulario, solo che il rischio è di incorrere ancora negli stessi errori.

Re: Dati formulario non salvati in tabella

Inviato: sabato 11 aprile 2015, 23:00
da maxim
Buonasera.
Oggi mi sono finalmente deciso, con molta strizza, a pulire le varie tabelle dalla moltiplicazione degli ID.
Ho lasciato come buon senso vorrebbe un unico ID come chiave primaria così è tutto più lineare e chiaro.
Dopo aver pulito le tabelle ho provato ancora con una miriade di combinazioni, ma prorpio non riesco a far quadrare il ...
formulario :crazy: :crazy: :crazy:
Ho provato anche selezionando i dati Vettori da una ricerca ad hoc ma proprio non riesco nel salvare questi dati sul nuovo record creato.
Ho spostato campi, cambiato l'abbinamento del formulario della casella specifica, tentato con una serie di sql diversi ... nulla.
Alla fine salterà fuori che come sempre è l'ennesima fesseria.
Beh, nel frattempo allego il nuovo file pulito.
Grazie per l'attenzione e l'aiuto :super:

Re: Dati formulario non salvati in tabella

Inviato: domenica 12 aprile 2015, 8:56
da charlie
Ciao, secondo me non hai preso la strada giusta.
Le tabelle di appoggio Filtro servono ad effettuare delle ricerche mentre tu vuoi scrivere nel database.
Inoltre la tabella principale Richiesta Quotazione contiene dei dati che dovrebbero essere nelle tabelle Vettori e Committenti.
A solo titolo di esempio ti allego un file di come dovrebbe essere organizzato il database.
Nella nuova tabella Quotazione (e poi sul relativo formulario) si possono aggiungere tutti i campi necessari escludendo quelli dei Vettori e dei Committenti.

Re: Dati formulario non salvati in tabella

Inviato: domenica 12 aprile 2015, 11:04
da maxim
Buongiorno.
@charlie, tantissimi grazie mille del tuo prezioso suggerimento e esempio. Al momento ho dato solo una occhiata veloce ma lo studierò con calma.
Beh, in effetti sarebbe cosa molto saggia dover proprio rupilire e riorganizzare il tutto. La strada seguita è una conseguenza di una scelta datata nel tempo. Considera che questo file è la somma di due vecchi distinti database creati con i primi Access2, aggiornati con il tempo e integrati con l'aggiunta di nuove tabelle, query, maschere e report. Da qui quasi sicuramente sono nati i primi casini-pasticci con nomi e campi. All'inizio dello scorso anno quando ho deciso di metter mano per un pò di pulizia quello principale era di quasi 50 MB e l'altro più di 10. Eliminati vecchi e superati dati, tante tabelle non più necessarie e molta spazzatura sparsa un pò in ogni angolo, li ho poi uniti ed ora è di 25MB. Allo stato attuale considerando il tuo suggerimento devo però ammettere che la pulizia è stata scarsa :oops:
Per quanto riguarda la tabella filtro non so che dire, è la prima volta che la uso e l'ho presa da un esempio trovato su questo Forum. L'ho applicata su un altro furmulario e funziona, mi recupera i dati che voglio e poi riesco a salvarli su di un nuovo record della tabella interessata. Non escluderei affatto che in questa occasione l'ho applicata nel modo sbagliato, anzi, sicuramente è così.
Ti ringrazio molto per l'aiuto. Aggiornerò il tutto e vi darò notizie in merito.
Ciao.

Agg: per quanto mi riguarda con l'esempio e le indicazioni avute ho [Risolto] il problema. Aggiornerò poi. Grazie

Re: [Risolto] Dati formulario non salvati in tabella

Inviato: domenica 12 aprile 2015, 22:25
da bydindi
Ciao

Ci sono altre anomalie che ho riscontrato nel tuo database:

Ad esempio l' IDVettore della tabella "Richiesta quotazione" è di tipo "Numero [NUMERIC]" mentre nella tabella "Vettori Clienti"
l'ID e di tipo "Intero [INTEGER]" e questo impedisce il poter mettere in relazione i due campi delle tabelle e così vale per altri ID.

Inoltre ho notato che alcuni campi presentano degli spazi nei nomi ad esempio "CAP Vettore" nella tabella "Richiesta quotazione"
e questo viene mal digerito dal linguaggio SQL

Il tuo DB va benissimo come punto di partenza ma bisogna apportare via via le dovute "registrazioni", vedrai che soddisfazione quando tutto
funzionerà per il meglio!! :super: :super:

Re: [Risolto] Dati formulario non salvati in tabella

Inviato: lunedì 13 aprile 2015, 0:32
da maxim
Ciao.
Bybindi mille grazie per l'attenzione e il tempo che hai dedicato.
Per quanto riguarda gli spazi delle definizioni campi ho già iniziato questa sera nel sistemarli considerato che al momento ho importato solo 5 tabelle e fatto tre formulari, tra cui questo che è uno dei prinpipali.
La vicenda degli ID è invece molto molto interessante specialmente per quanto riguarda la relazione tra Integer e Numeric anche se di numeri sempre si tratta. Considerato che devo avere un contatore in ogni tabella e che il campo Integer impostato su incremento automatico è univoco in ogni tabella come è possibile aggirare l'ostacolo?
Anche se camvio tutte le definizioni degli ID nelle varie tabelle semplicemente in questo modo rimane poi sempre il fatto che la relazione tra i due tipi diversi di campo numerico è impossibile. E' così od ho capito male?
Supponendo invece di cambiare i campi Numeric in Integer senza impostare l'incremento automatico lo accetta il programma? Non ho mai fatto questa prova.
Grazie.

Re: [Risolto] Dati formulario non salvati in tabella

Inviato: lunedì 13 aprile 2015, 10:05
da bydindi
maxim ha scritto:Supponendo invece di cambiare i campi Numeric in Integer senza impostare l'incremento automatico lo accetta il programma?
E' una condizione necessaria! ;)
se cerchi "chiave esterna" nel forum troverai diversi esempi, eccone uno:
viewtopic.php?f=13&t=1778


C I A O

Re: [Risolto] Dati formulario non salvati in tabella

Inviato: lunedì 13 aprile 2015, 11:50
da maxim
Buongiorno.
Grazie bydindi.
Bene, questa sera provvederò al cambio delle condizioni dei campi. Ogni giorno se ne impara una nuova ;)
A memoria, ma sono ormai passati tanti anni, non ricordo di aver avuto questi problemi, e da allora ho solo ri-utilizzato tabelle già fatte. Forse che i primi esemplari erano di bocca buona e si accontentavano di campi simili? Boh!
Comunque poca importa ora, sistemo tutto secondo le tue preziose info e ti aggiornerò sugli sviluppi.
Grazie

Re: [Risolto] Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 12:05
da maxim
Buongiorno.

Rieccomi a … rompere. Scusatemi.
Ho fatto i compiti :mrgreen: e ho corretto le varie condizioni dei campi ID, eliminato gli spazi vuoti nei nomi come indicato da Bydindi e inserito gli esempi di Charlie adattandoli (credo nel modo giusto) al mio formulario.
Ora mi sono però incartato, ancora! Nonostante abbia provato diverse impostazioni non riesco a far riportare i vari Nomi Committenti e Vettori nelle rispettive colonne dalla tabella Richiesta Quotazioni, come da esempio nelle prime righe della tabella inserite manualmente che è poi ciò che vorrei avere nel risultato :) . Le ultime righe della tabella le ho invece inserite utilizzando il Formulario.
Una parentesi al mio impedimento sopra per menzionare il passo successivo giusto per spiegare le mie necessità. Questi Record della tabella Richieste Quotazioni li dovrei poi aprire in un secondo tempo per cambiare il nome Vettore e il Numero Ordine e quindi salvare come nuovo record. Credo però che questo sia il minore dei problemi con un Formulario di sola modifica. Giusto?
Già che sto rompendo, ne approfitto per chiedere un piccolo lume. E' possibile spostare l'ordine di visualizzazione delle colonne nelle tabelle?
Grazie mille per l'attenzione e scusatemi per lo stress.
Ciao

ore 17- rimosso il file perchè sbagliato

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 14:32
da charlie
Se l'argomento non è risolto, togli il tag [Risolto] dal primo messaggio.

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 17:06
da maxim
@charlie, ho tolto il risolto :(
Lo avevo messo arci convinto di aver trovato la soluzione invece sono ancora qua a scocciare.
Ho scoperto tra l'altro che nel file che ho allegato in precedenza c'è un errore in un campo che ora ho corretto.
Rimuovo il file sbagliato.
Guardi e riguardi, controlli e ricontrolli ma c'è sempre quel maledetto ago che sfugge :crazy:
Ora con il nuovo file dovrebbe essere Ok, almeno nei campi.
Grazie e scusate per l'errore.

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 19:08
da bydindi
Ciao

Sei sulla buona strada :D
Non capisco però perché vuoi che compaiano i nomi sulla tabella Richiesta Quotazioni quando è sufficiente inserire i codici ID, successivamente ti basterà mettere in relazione le due tabelle attraverso una query

ln pratica avrai (ad esempio):

Richiesta Quotazioni con:

IDrichiesta (integer (sta a te decidere se a incremento automatico o manuale))
IDCommitente (integer)
IDVettori (integer)
voce1
voce2
voce3

con una query estrapoli tutti i dati della tabella IDrichiesta e attraverso gli ID (commitente e Vettori) ti prendi i dati delle rispettive tabelle;
lo scopo è proprio quello di non dover riscrivere ogni volta dei dati che già si hanno!
Ho fatto una modifica alla tabella Richieste quotazioni e ho creato un nuovo formulario, noterai che sono riuscito a estrapolare il nome del vettore pur non essendo presente nella tabella IDrichiesta inoltre ho adottato una soluzione che ti fa comparire in automatico il nome del vettore senza premere alcun pulsante "aggiorna", esteticamente è meno bello da vedere (si nota la freccia non abilitata e la scritta è grigio chiaro) però ti evita possibili errori, infatti ti mostra in tempo reale ciò che hai selezionato come id quindi se ad esempio inserisci un id sbagliato e poi lo correggi ma ti dimentichi di premere "aggiorna" la correzione viene memorizzata ma a video hai un nome che non corrisponde all'id selezionato (fino a quando (ripeto) non aggiorni il formulario)

se ti piace la soluzione prova ad aggiungere il campo Nome committente come io ho fatto per il nome vettore

Paolo

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 19:37
da maxim
@bydindi
sempre moltissimi grazie per i tuoi suggerimenti.
Ho scaricato il file e darò una occhiata questa sera.
Alla tua più che giusta domanda la mia risposta potrà sembrarti banale ma il fatto è che diverse volte ho l'esigenza di avere velocemente uno specchio il più completo della situazione: tal Commitente con tal Vettore con tale Data. Mi risponderai che: si può fare altrettanto con un Formulario o più semplicemente con una Ricerca ad hoc! Verissimo e sarà uno dei prossimo formulari, ma le abitudini di un "vecchio" con un metodo vecchio sono dure da rimuovere :mrgreen: Non per parlare della concorrenza, ma io mi trovavo molto bene con la visualizzazione delle tabelle multiple collegate. Una serie di queste aperte e avevo tutto sott'occhio, fino ad arrivare alla data della fattura e all'incasso (se, nel caso :twisted: ).
Grazie ancora
Ciao
Max

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 21:28
da bydindi
maxim ha scritto:Mi risponderai che: si può fare altrettanto con un Formulario!
E' giusto..... a metà! :mrgreen:
nel senso che il formulario puoi creartelo in due modi, da una tabella oppure da una query.
Quindi la tua tabella, come ti ho scritto, avrà solamente gli ID che si riferiscono alle altre tabelle (questo è il concetto di "chiavi esterne") quindi con una query richiamerai tutti i dati che ti servono... le query sono appunto delle interrogazioni, per capire meglio (spero) ti do il link ad un mio database "vecchio" (nel frattempo l'ho migliorato), scaricalo, assicurati di impostare la sicurezza macro su "medio" (se non sai come fare te lo spiego) e vedrai che ogni volta che apri il file in automatico si apre una maschera con diversi pulsanti,puoi inserire nuovi clienti, nuove ditte, nuove auto ecc. facendo attenzione a non inserire degli id "doppi" (in alcune tabelle non ho inserito l'incremento automatico per problemi che non stò quà a spiegare), al centro della maschera ci sono dei pulsanti di ricerca che (attraverso delle query estrapolano i dati che servono a soddisfare diverse esigenze) ad esempio se vuoi sapere la predisponibilità (cioè tutte le auto che sono in circolazione) basta premere il pulsante... "predisponibilità" appunto :D e la query cercherà tutti i veicoli che sono in circolazione (cioè quelli i cui movimenti presentano una data rientro non inserita), se invece cerchi i movimenti associati ad un determinato guidatore basta premere il pulsante "ricerca mov per cognome", a questo punto il sistema ti chiederà (attraverso un box) di inserire le iniziali del cognome (inserisci ad esempio "ros" e premi invio) ecco che ti compariranno tutti i contratti del signor rossi (solo uno in verità) eppure se (nella sezione tabelle del database, clicchi nella tabella TabRA non è presente il nome rossi ma solo il suo ID corrispondente!

Credo di aver capito ciò che intendi per
maxim ha scritto:avere velocemente uno specchio il più completo
infatti se nel menù principale clicchi su "modifica RA" il sistema ti chiede quale RA vuoi modificare, tu inserisci 111 e si apre la maschera (formulario) relativa al contratto 111, in questo caso la maschera è un po' "spartana" infatti compaiono solo gli ID senza i riferimenti alla ditta al guidatore all' auto ecc. e quindi non si ha una visione "globale", però apportando delle modifiche come quella che ho apportato io al tuo DB, si possono visualizzare tutti i dati che ci servono....
qui sotto il link al mio database tieni presente che alcuni tasti non funzionano (ad esempio le stampe, infatti le macro "puntano" a dei file "esterni" che non ho allegato) però potrebbe essere uno spunto per chi vuole iniziare a immergersi nello studio della costruzione di un "semplice" database... :super: :super:

https://dl.dropboxusercontent.com/u/318 ... 0Copia.odb

buona immersione :mrgreen:

Paolo

Re: Dati formulario non salvati in tabella

Inviato: martedì 14 aprile 2015, 22:02
da maxim
Grazie infinite bydindi.
Scarico e studierò con calma :super:

Al momento ho comunque deciso, vista anche la mia scarsa conoscenza del programma, di aggiustare il Formulario che sin qui abbiamo affinato e procedere con altri (mi ha assorbito tanto che ho lasciato parecchio lavoro arretrato). Chiariamo, non che il Formulario non va bene, tutt'altro, non ho raggiunto quanto speravo-volevo ma, ripeto, al momento me lo faccio andar bene anche così. Poi con il tempo imparerò come affinarlo ;)
Intanto dove non ci arrivo mi arrangio con le Query per recuperare i dati massivamente, dove me la cavo già un pò meglio e fortunatamente sono riuscito ad importarli in massa da Access solo con piccoli e minimi aggiustamenti.
Come dicevo all'inizio di questa discussione, da questo Formulario devo togliere dei Campi e modificarne altri che, mi auguro, di riuscire in modo autonomo. Credo comunqne di aver capito il meccanismo, male che vada, copio :lol:
Mi attendono poi al varco anche diversi Rapporti tra cui, piccolo insignificante dettaglio, quelle delle Fatture.
Vi aggiornerò.
Nel frattempo ringrazio ancora tanto per l'aiuto.
Ciao
Massimo

p.s. a questo punto cosa faccio, metto il Risolto o lasciamo in sospeso?