Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 15 di 16

Discussione: Access, selezionare dati da una tabella e inserirli in un'altra

  1. #1
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59

    Access, selezionare dati da una tabella e inserirli in un'altra

    ciao a tutti, scusate la lunghezza del titolo ma non sapevo come spiegare.
    premesso che sono agli inizi dell'uso di Access versione 2000 e quindi può essere che le mie siano domande per voi banali.
    ho creato una tabella con relativa maschero per inserimento dati chiamata Proprietà. in essa ci sono diverse colonne: proprietà, indirizzo, cod. fisc., partita iva.
    poi sto creando una tabella sempre con relativa maschera per inserire i dati delle unità immobiliari.
    quello che vorrei fare è trovare il sistema per selezionare dalla tabella la proprietà da collegare alla relativa unità immobiliare. questo per non inserire ogni volta gli stessi dati più volte.
    ho provato ad usare la casella combinata nella maschera della tabella delle unità immobiliari ma mi permette di inserire solo un dato che scelgo dalla selezione...ad esempio il nome della proprietà...e non tutti.
    ho provato a creare una query di accodamento ammesso che sia la scelta giusta, ma non so come fare in modo di selezionare di volta in volta la proprietà che mi interessa ed inserirla.
    avete qualche consiglio da darmi?

  2. #2
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    ciao
    devi creare una casella combinata nella maschera delle unità immobiliari e come campi della casella combinata scegli quelli che ti servono (immagina che siano i campi aaa, bbb, ccc della tabella proprietà) quando scegli il campo aaa quello va a finire nel campo 111 della maschera delle unità immobiliari; nella casella combianata creata vai nelle proprietà ed alla voce dopo aggiornamento (afetrupdate) inserisci la routine evento :
    Me!222 = Me!111.Column(1)
    Me!333 = Me!111.Column(2)
    così dovrebbeandare a mettere il campo aaa (tabella proprietà) nel campo 111 della tabella unità immobiliari ed subito il campo bbb nel campo 222 e il campo ccc nel campo 333.
    Se non ho sbaglaito nulla dovrebbe funzionare.

  3. #3
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    Ciao Marco, grazie per la risposta.
    spero di averci capito qualcosa. sai, sono proprio all'inizio dell'uso di questo programma.
    appena ho un attimo faccio delle prove.
    gentilissimo

  4. #4
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    Ciao
    se ti può servire dai un'occhiata qui Sito Comune - it.comp.appl.access

    troverai anche cose interessanti

  5. #5
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    ciao Marco, ho provato a seguire passo a passo la tua spiegazione ma non ci sono riuscito, sicuramente non ho capito qualcosa.
    Ora ti spiego come ho fatto.
    Nella tabella proprietà ho questi campi:
    ID contatto, Società, Indirizzo, Codice Fiscale, Partita IVA
    Da quel che ho capito sono i campi aaa,bbb,ccc ecc… della tua spiegazione.

    Ho creato la casella combinata inserendo tutti i campi e ho scelto il campo Società (aaa) da inserire nel campo Società della tabella unità immobiliari (111)

    (Nella tabella unità immobiliari ho dato gli stessi nomi dei campi della tabella proprietà)

    Sperando di aver fatto giusto fino a questo momento J, sono entrato nella proprietà della casella combinata.
    Ho cliccato la scheda Evento e mi sono posizionato sulla seconda riga Dopo aggiornamento.
    Ho scelto dal menù a discesa [routine evento]
    A quel punto ho scritto questo:
    [Me!Indirizzo = Me!Società.Column(1)], [Me!Codice Fiscale = Me!Società.Column(2)], [Me!Partita IVA = Me!Società.Column(3)]
    sono uscito dalla proprietà, ho salvato la maschera e l’ho aperta per vedere se funzionava il tutto.
    Aprendo la maschera, quando vado a selezionare la società mi esce questo errore:
    "impossibile trovare la macro '[Me!indirizzo=me!società'. la macro (o il relativo gruppo di macro)non esiste oppure è nuova ma non è stata ancora salvata. quando si immette la sintassi nomegruppomacro.nomemacro in un argomento, è necessario specificare l'ultimo nome con il quale è stato salvato il gruppo delle macro."
    Mi sai dire dove ho sbagliato?
    nella maschera sarebbe possibile vedere gli altri campi? Oppure è inutile e li inserisco solo nel report?
    Ultima cosa, perché quando creo una casella di riepilogo, nella colonna della tabella mi inserisce l’ID e non il campo che voglio? Per fare ciò, ad esempio ho fatto così:
    SELECT [tabella proprietà].[Società], [tabella proprietà].[Società], [tabella proprietà].[Indirizzo], [tabella proprietà].[CodiceFiscale], [tabella proprietà].[Partita IVA] FROM [tabella proprietà];
    ovvero dopo SELECT ho inserito il doppione [tabella proprietà].[Società] e così mi inserisce il nome della società. È giusto?
    Grazie sin d’ora per la pazienza.

  6. #6
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    ciao
    nella maschera unità immobiliari, basata sulla tabella unità immobiliari, devono essere presenti i campi in cui mettere i valori presi dalla tabella proprietà, ovvero, se ho ben capito, il campo società, codice fiscale, partita iva
    il campo società della maschera unità immobiliari deve essere una casella combinata che prende i dati dalla tabella proprietà (devi mettere i quattro campi società, indirizzo, codice fiscale, partita iva)
    dopo la creazione della casella combinata vai nella proprietà della casella > evento > afterupdate (dopo aggiornamento), crei una routine evento, la apri (click sul pulsante con i tre puntini) e, lascia quello che è già scritto, e scrivi l'istruzione

    Private Sub società_AfterUpdate() - dovrebbe essere già scritto

    Me!indirizzo = Me!società.Column(1)
    Me!codice fiscale = Me!società.Column(2)
    Me!partita iva = Me!società.Column(3)

    End Sub - dovrebbe essere già scritto

    poi salvi e chiudi la finestra di vba tornando al database

    indirizzo è il campo della maschera unità immobiliari dove dovrebbe andare a finire il valore indirizzo scelto dalla tabella proprietà
    codice fiscale è il campo della maschera unità immobiliari dove dovrebbe andare a finire il valore codice fiscale scelto dalla tabella proprietà etc.


    se vuoi un consiglio nei nomi di campi in tabella non mettere spazi, caratteri accentati, apici, virgolette, segno -, o punteggiatura (ad esempio il campo codice fiscale potrebbe chiamarsi cod_fisc così eviti errori anche dovuti alla digitazione, ad esempio, di doppi spazi.

    Ma, scusa, stai parlando di casella combinata o casella di riepilogo ?

    Probabilmente ti inserisce l'ID perchè nella crazione guidata hai spuntato la scelta "nascondi colonna chiave" quindi prende il valore della prima colonna che è appunto la colonna chiave; puoi togliere la colonna dalla griglia dati (vai nella proprietà casella combinata > dati > origine riga > click sul pulsante con i puntini; poi vai nella casella combinata > proprietà > dati > colonna associata e dovrebbe esserci 1 ovvero la colonna che contiene il campo società)

  7. #7
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    Citazione Originariamente Scritto da marco-65 Visualizza Messaggio
    ciao
    nella maschera unità immobiliari, basata sulla tabella unità immobiliari, devono essere presenti i campi in cui mettere i valori presi dalla tabella proprietà, ovvero, se ho ben capito, il campo società, codice fiscale, partita iva
    il campo società della maschera unità immobiliari deve essere una casella combinata che prende i dati dalla tabella proprietà (devi mettere i quattro campi società, indirizzo, codice fiscale, partita iva)
    dopo la creazione della casella combinata vai nella proprietà della casella > evento > afterupdate (dopo aggiornamento), crei una routine evento, la apri (click sul pulsante con i tre puntini) e, lascia quello che è già scritto, e scrivi l'istruzione

    Private Sub società_AfterUpdate() - dovrebbe essere già scritto

    Me!indirizzo = Me!società.Column(1)
    Me!codice fiscale = Me!società.Column(2)
    Me!partita iva = Me!società.Column(3)

    End Sub - dovrebbe essere già scritto

    poi salvi e chiudi la finestra di vba tornando al database
    indirizzo è il campo della maschera unità immobiliari dove dovrebbe andare a finire il valore indirizzo scelto dalla tabella proprietà
    codice fiscale è il campo della maschera unità immobiliari dove dovrebbe andare a finire il valore codice fiscale scelto dalla tabella proprietà etc.
    ciao Marco, hai capito benissimo
    la tua spiegazione coi suggerimenti è funzionata ))
    grandissimo !!!

    Citazione Originariamente Scritto da marco-65 Visualizza Messaggio
    se vuoi un consiglio nei nomi di campi in tabella non mettere spazi, caratteri accentati, apici, virgolette, segno -, o punteggiatura (ad esempio il campo codice fiscale potrebbe chiamarsi cod_fisc così eviti errori anche dovuti alla digitazione, ad esempio, di doppi spazi.
    per i nomi di campo tabella, mi hai dato un gran consiglio. appena mi ci ributto in questo lavoretto metto in pratica i tuoi preziosi suggerimenti.

    Citazione Originariamente Scritto da marco-65 Visualizza Messaggio
    Ma, scusa, stai parlando di casella combinata o casella di riepilogo ?
    Si, io parlavo di casella combinata...forse ho fatto confusione.

    Citazione Originariamente Scritto da marco-65 Visualizza Messaggio
    Probabilmente ti inserisce l'ID perchè nella crazione guidata hai spuntato la scelta "nascondi colonna chiave" quindi prende il valore della prima colonna che è appunto la colonna chiave; puoi togliere la colonna dalla griglia dati (vai nella proprietà casella combinata > dati > origine riga > click sul pulsante con i puntini; poi vai nella casella combinata > proprietà > dati > colonna associata e dovrebbe esserci 1 ovvero la colonna che contiene il campo società)
    per il discorso dell'ID, come dici tu ho lasciato il flag "nascondi colonna chiave".
    provvederò a sistemare come da te suggerito.

    andando avanti nel lavoro troverò ancora altre cose da chiedere, però prima voglio provare a sbatterci la testa guardando il manuale, il forum e il sito da te indicato.

    Ad esempio, con il tabulatore non vado in ordine di campi come vorrei, presumo che devo modificare "l'ordine di spostamento". farò anche questa prova.

    per il momento mi premeva ringraziarti tantissimo per l'aiuto e l'insegnamento che mi stai dando. non so come sdebitarmi.
    certo che ad esempio non imparerò mai il vba.
    buona serata
    marco

  8. #8
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    Ciao
    per l'ordine di spostamento devi vedere al proprietà ordine di tabulazione della maschera (c'è un pulsante apposta nella barra degli strumenti ma devi personalizzare la barra). Valuta anche la possibilità di andare sul controllo che desideri e nelle proprietà abilitare o disabilitare "seleziona con tabulatore".
    Ciao

  9. #9
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    ciao Marco, forse ho cantato vittoria troppo presto.
    l'indirizzo me lo mette ma il cod fisc e partita iva no.
    mi sono assicurato di aver messo il campo numerico e non testo. sto facendo altre prove...speremm.
    tra l'altro avevi ragione di non lasciare spazi nei nomi dei campi...infatti la routine non funzionava.

  10. #10
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    rieccomi .
    ho risolto e la routine funziona che è una meraviglia. grazie mille.
    in pratica ho rifatto il lavoro da zero in modo di avere tutto "pulito" e non ho avuto problemi.
    Ora proseguo col lavoro e se ho problemi, spero di no, torno a rompere le scatole.
    grazie ancora

  11. #11
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    Posto in questa discussione alcuni quesiti inerenti il mio progetto sperando di non andare contro regolamento.
    Praticamente ho finito il lavoro ma ci sono alcune cosette che vorrei chiedere.
    ho creato dei report, poi in impostazione pagina ho dato i margini per ottenere le mie belle stampe, ovviamente ho salvato, però non me li tiene in memoria. come mai?
    Se non fosse complicato vorrei anche poter fare delle stampe in base a delle date. Mi sono creato un pannello comandi dove ci sono i bottoni che aprono le maschere di inserimento dati e le stampe. In questo pannello si può fare in modo di creare un campo data...e ottenere così la stampa di tutti i documenti che hanno appunto quella data?
    Altra cosa. ho una tabella dove vengono raccolti tutti i dati. ho creato una maschera Affitto appartamenti" i cui record sono appunto appoggiati nella tabella. per velocità ho duplicato la suddetta maschera e ho creato le maschere "affitto usi diversi", "vendita appartamenti" e "vendita usi diversi". queste varie maschere si differenziano per il fatto che alcune contengono campi che altre non hanno. funziona tutto, però ad esempio il record 1 compilato con la maschera "affitti appartamenti" lo vedo anche nelle altre maschere (con più o meno dati a seconda dei campi). si può fare in modo che i record si vedano solo nelle maschere appropriate?
    spero di essermi fatto capire, nel frattempo vi saluto.

  12. #12
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    Ciao
    per i margini di stampa li hai impostati nel menu imposta pagina della struttura record ?
    Se li hai impostati così vedi se hai impostato una stampante specifica o predefinita (può essere che la stampante non supporti i margini impostati anche se dovrebbe mandare un messaggio e non reimpostarli) in alternativa puoi impostare dal menu di access (con solo la finestra database aperta cioè tutte le maschete, tabelle, etc chiuse) strumenti > opzioni > scheda generale i margini di stampa.
    Puoi inserire nel pannello comandi un campo non associato in cui inserire la data e filtrare i dati del report in modo che un campo data della tabella o query su cui si basa il report sia uguale al campo del pannelo comandi.
    Se le maschere si appoggiano tutte sulla stessa tabella è normale che tu veda tutti i record, per vederne solo alcuni devi filtrarli (o basi la maschera su una query o in maschera > proprietà > origine record crei dei criteri per filtrare i dati.

  13. #13
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    ciao Marco, i margini li avevo impostati dal menù di Access (file--->imposta pagina) con aperta l'anteprima del report che mi interessava.
    adesso provo coi tuoi suggerimenti sempre precisi e preziosi .
    per le altre spiegazioni provo a smanettarci un pochino...chissà se ci riuscirò...
    ancora grazie.

  14. #14
    Member
    Data Registrazione
    10-11-2010
    Messaggi
    59
    Finalmente, dopo tanto tempo, sono tornato a lavorare su questo database.
    ho provato a filtrare i dati affinchè sulla maschera "affitto appartamento" non si vedano i record ad esempio delle vendite e degli usi diversi.
    il risultato di quello che sono riuscito a fare si vede nell'allegato. così va già meglio, però non sono soddisfatto.
    infatti, l'immagine allegata, indica chiaramente che il record non è giustamente un affitto abitazione (il campo tipologia è vuoto) però gli altri campi si vedono lo stesso.
    cosa che vorrei evitare.

    inoltre non sono riuscito a trovare "maschera > proprietà > origine record".
    intanto ci riprovo

  15. #15
    New Member
    Data Registrazione
    28-01-2009
    Messaggi
    42
    Non ho capito cosa intendi per "non si vedano i record delle vendite .." parli di redord o di campi ?

    sorry .. maschera > proprietà > dati > origine record
    nell'immagine si vede che hai il pulsante sulla sinistra attivato (quello lungo il lato sx della maschera) che ti permette di selezionare l'intero record vai su "maschera > proprietà > formato > selettori record e imposta il valore a "no" perchè con quel pulsante selezioni tutto il record e se, per sbaglio, schiacci "canc" cancelli il record intero se lo imposti a no devi candellare un capo per volta.
    Ciao

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •