Copiare dato tra tabelle non in relazione

di il
4 risposte

Copiare dato tra tabelle non in relazione

Salve a tutti,
la situazione è questa: ho creato 2 maschere tabulari partendo da 2 tabelle non in relazione tra loro. Nella form "A" ho inserito un tasto che mi apre la form "B". A quel punto vorrei che, con un doppio click su una riga in form B, l'ID della riga venga copiato solo ed esclusivamente in un campo della riga del form "A" dove ho precedentemente cliccato il tasto. Io ho provato e funziona tutto solo che il mio codice VBA copia l'ID in tutti i campi del form A e non, quindi, solo nella riga voluta. Allego il codice sotto:
Forms!A!IDTRIALREQ = Me.IDREQUEST.Value
in pratica non riesco a far capire di copiare il valore IDREQUEST solo nella riga dove ho precedentemente cliccato sul pulsante e non invece, come fa ora, in tutti i campi IDTRIALREQ

E' concettualmente possibile quello che voglio fare?
Grazie

4 Risposte

  • Re: Copiare dato tra tabelle non in relazione

    Ho risolto in altro modo!
    comunque...è tecnicamente possibile la cosa che ho descritto sopra? come avrete potuto capire non sono un esperto di access.
    Grazie
  • Re: Copiare dato tra tabelle non in relazione

    Prima cosa SPIEGA COME HAI RISOLTO, serve a tutti leggere le soluzioni.

    Cosa non funziona...?
    Quello che dici è fattibile, anche se lo fai in un modo molto errato.
    Prima di tutto potrebbe esserci un problema... che quando apri la Form B se usi un Button non nel Record ma nel PiediPagina ad esempio, si perde il Focus sul Record attivo.

    In ogni caso si fa in altro modo.
    Devi aprire la Form(B) in modalità SINCRONA, si usa il parametro acDialog, ma devi passare alla Form B il riferimento della PK della Form(A) in cui vuoi scrivere.
    L'operazione di scrittura, che tu chiami copia, è più adatto eseguirla in Tabella direttamente poi aggiornare la Form(A) quando chiudi la Form(B)... e per questo suggerivo la modalità SINCRONA.
  • Re: Copiare dato tra tabelle non in relazione

    Grazie mille!
    E' una soluzione banale e sempliciotta...ma ho risolto bypassando il problema lavorando su una form non più tabulare (quindi con tante righe) ma bensì a colonne (in modo da visualizzare solo i dati per 1 riga alla volta). Certo che questo metodo è forse poco ortodosso ma alla fine mi rende il lavoro più veloce e snello.

    Ho alcune domande...modalità SINCRONA=parametro acDialog, equivale alla proprietà maschera "pupup=yes"? per "riferimento della PK" intendi che devo passargli l'ID riga in form A? e come si fa? Purtroppo il mio livello di conoscenza Access è quasi ZERO.

    Grazie mille
  • Re: Copiare dato tra tabelle non in relazione

    deko ha scritto:


    Grazie mille!
    E' una soluzione banale e sempliciotta...ma ho risolto bypassando il problema lavorando su una form non più tabulare (quindi con tante righe) ma bensì a colonne (in modo da visualizzare solo i dati per 1 riga alla volta). Certo che questo metodo è forse poco ortodosso ma alla fine mi rende il lavoro più veloce e snello.
    Questo metodo elimina solo una parte del problema... vale a dire quello che ti avevo esposto come perdita del Focus su Form continue...!
    Ragionaci sopra se poi sei consapevole della problematica e della soluzione... va tutto bene... ma in realtà sarebbe meglio gestire come ti ho detto la modalità SINCRONA...

    deko ha scritto:


    Ho alcune domande...modalità SINCRONA=parametro acDialog, equivale alla proprietà maschera "pupup=yes"?
    Decisamente NO, popup è solo una proprietà che definisce che la Form non è Figlia della MDI... ma è una Form indipendente, tant'è che appare SOPRA e non vincolata all'area di Access ma la puoi muovere in tutto lo schermo...
    La modalità SINCRONA o Modale, fa in modo che nella Form CHIAMANTE tutto si fermi, compreso il codice in esecuzione... che riprende alla chiusura della FORM CHIAMATA(Sincrona).
    Questo consente di intercettarne il rientro ed aggiornare la form chiamante in seguito a modifica effettuata sulla Form chiamata.
    In sostanza è l'unico modo per rendere SEQUENZIALE la modifica del dato e di conseguenza eseguire condizioni in sequenza.

    deko ha scritto:


    per "riferimento della PK" intendi che devo passargli l'ID riga in form A? e come si fa? Purtroppo il mio livello di conoscenza Access è quasi ZERO.
    Grazie mille
    Se non dici nulla alla Form B, lei si apre sul primo Record, e questo anche se la apri in modalità SINGOLA... se ti va bene non devi fare nulla.. altrimenti devi farla aprire in modo che punti in un determinato Record... e forse passare un dato dalla Form A--->B è il modo giusto, anche perchè essendo la B aperta come acDialog la rende non accessibile dall'esterno, quindi si usa il parametro OpenArgs per passare dati ....

    Purtroppo di queste cose si parla sempre molto nel Forum, ma serve un minimo di preparazione altrimenti risultano concetti non comprensibili...
    Fai qualche ricerca con "OpenArg"
Devi accedere o registrarti per scrivere nel forum
4 risposte