Macro che cerca un record secondo un determinato campo

di il
19 risposte

Macro che cerca un record secondo un determinato campo

Salve a tutti e buon anno nuovo. Dopo un pò di tempo, mi trovo alle prese con un altro grattacapo e avrei la necessità di ottenere il seguente risultato: Ho un db con una maschera di inserimento dati "DATI" (e relativa tabella), una query di ricerca "CERCAQUERY", una maschera che mi restituisce i dati secondo la query "RICERCA". (non menziono altre piccole sfaccettature). Ho cercato un record secondo il COGNOME, la query mi ha restituito il risultato con la bella maschera. Ecco cosa mi servirebbe fare adesso...Con un pulsante, ho la necessità di aprire la maschera dati, cercare nel campo COGNOME lo stesso cognome che mi aveva restituito la mia ricerca. Ringrazio anticipatamente tutti, magari anche chi mi vuole suggerire altri modi per ottenere lo stesso risultato...

19 Risposte

  • Re: Macro che cerca un record secondo un determinato campo

    Hai nominato 2 query, ma mi sembra che la maschera che ricerca si chiama RICERCA. Prova così:
    1. Su questa maschera RICERCA aggiungi (in visualizzazione struttura) un pulsante di comando
    2. Crea una macro in visualizzazione struttura e imposta così:
    ApriMaschera: DATI
    Condizione WHERE: [Cognome]=[Maschere]![RICERCA]![Cognome]
    3. Salva con nome la macro X
    4. Ritorna sulla visualizzazione struttura maschera RICERCA, vai alle proprietà del pulsante, scheda Eventi, Su clic: X
    5. Salva tutto
  • Re: Macro che cerca un record secondo un determinato campo

    CIao Osvaldo e grazie... Ho provato la soluzione che mi hai suggerito, ero sicuro dovesse funzionare, ma mi apre soltanto la maschera con tutti i campi vuoti. In realtà mi dovrebbe visualizzare il record relativo allo stesso cognome della maschera RICERCA, con tutti i relativi campi....
  • Re: Macro che cerca un record secondo un determinato campo

    L'errore sta nel voler filtrare partento da COGNOME. Per ottenere un risultato ottimale devi fare in modo che il valore da filtrare sia il valore del campo chiave ID. In tal caso occorre correggere
    Condizione WHERE: [CampoID]=[Maschere]![RICERCA]![CampoID]
  • Re: Macro che cerca un record secondo un determinato campo

    CIoa Osvaldo... Ho modificato secondo quello che mi hai suggerito, ora filtra correttamente, però non mi visualizza il record filtrato ma un record vuoto (come se ne dovessi inserire uno nuovo). Però se mi sposto tra i record tramite i selettori, mi trova solo il record filtrato secondo la maschera precedente. Come mai non me lo visualizza quando clicco sul pulsante? Spero di essermi spiegato bene ...Grazie
  • Re: Macro che cerca un record secondo un determinato campo

    Cerca di dare una descrizione passo passo e con tutti i nomi corretti degli oggetti e campi che entrano in gioco. Oppure allega qualche immagine significativa.
  • Re: Macro che cerca un record secondo un determinato campo

    Allora cerco di riassumere tutto. Tabella DATI con i campi IDSPEC (impostato come chiave primaria)NOME, COGNOME, DATA di NASCITA e altri tra cui DATA_ARRIVO.
    Query RICERCA_query con criterio di ricerca inserendo il COGNOME da cercare.
    Maschere DATI modificabile con la quale inserisco i dati nella tabella DATI
    Maschera RICERCA non modificabile che tramite la RICERCA_query mi visualizza il record cercato.
    Nella maschera RICERCA ho messo vari pulsanti...NUOVA RICERCA (che mi rilancia la RICERCA), ESCI, e poi mi servirebbe il pulsante MODIFICA sul quale stiamo dibattendo.
    Premetto che nella maschera DATI ho anche messo un pulsante che mi effettua la funzione TROVA RECORD, grazie alla quale io poi vado a modificare per esempio il campo DATA_ARRIVO.
    Vorrei ottenere lo stesso risultato, partendo dalla maschera RICERCA, senza doverla chiudere, poi aprire la maschera DATI e cliccare sul pulsante MODIFICA selezionando il campo del cognome... Vorrei fare tutto automaticamente cliccando sul pulsante MODIFICA dalla maschera RICERCA.
  • Re: Macro che cerca un record secondo un determinato campo

    sevenhertz ha scritto:


    Tabella DATI con i campi IDSPEC (impostato come chiave primaria)NOME, COGNOME, DATA di NASCITA e altri tra cui DATA_ARRIVO.
    Query RICERCA_query con criterio di ricerca inserendo il COGNOME da cercare.
    Sei consapevole del fatto che il solo campo COGNOME non è sufficiente per una ricerca UNIVOCA?
    Cosa vuoi ottenere se nel tuo database ci sono le seguenti persone:
    Rossi Mario
    Rossi Alessandro
    Rossi Giulio
    Verdi Teresa
    Verdi Sara
    Rossi Paolo
  • Re: Macro che cerca un record secondo un determinato campo

    Certo. Dato che però nel mio caso, i casi di omonimia del cognome sono davvero pochi, quando effettuo la ricerca, la maschera mi restituisce tutti i record che iniziano con quel cognome (saranno massimo tre) tra i quali mi sposto tramite due semplici pulsanti che ho inserito nella maschera... In ogni caso, ben vengano consigli per migliorare il tutto, perchè no...
  • Re: Macro che cerca un record secondo un determinato campo

    sevenhertz ha scritto:


    Tabella DATI con i campi IDSPEC (impostato come chiave primaria)NOME, COGNOME, DATA di NASCITA e altri tra cui DATA_ARRIVO.
    A me questa tabella non convince. Cosa rappresenta il campo DATA_ARRIVO?

    sevenhertz ha scritto:


    Certo. Dato che però nel mio caso, i casi di omonimia del cognome sono davvero pochi, quando effettuo la ricerca, la maschera mi restituisce tutti i record che iniziano con quel cognome (saranno massimo tre) tra i quali mi sposto tramite due semplici pulsanti che ho inserito nella maschera... In ogni caso, ben vengano consigli per migliorare il tutto, perchè no...
    Io parteggio spesso per la filosofia del "sbagliando s'impara". Il tuo filo logico non lo butterei a mare, ma oggi i Cognomi omonimi sono soltanto max 3, ecc...però non sono d'accordo su tutto quello che devi saper prevedere poi. Forse ho detto tutto e nulla. Non mi devi comprendere per forza. Per darti una risposta/consiglio più corposo, gradirei:
    - una descrizione completa a tutto campo di TUTTE le tabelle, i campi davvero significativi e soprattutto CAMPI CHIAVE, le RELAZIONI
    - sapere di cosa parla il tuo database.
  • Re: Macro che cerca un record secondo un determinato campo

    Ok. Il mio reparto di lavoro, interagisce con altri gruppi che di volta in volta cambiano. Il mio database, deve essere un archivio generale di tutto il personale che passa, con tutti i dati personali, quali nome, cognome, data e luogo di nascita, residenza, stato civile, telefono e DATA_ARRIVO. Io ho creato SOLO la tabella DATI, con tutti i predetti campi. Una maschera INSERIMENTO che mi permette di inserire tutti i campi nella tabella DATI. Una RICERCA_query che mi permette di ricercare i recordo secondo il criterio COGNOME (e qui, se posso in qualche modo scongiurare i casi di omonimia , mi farebbe piacere ,ma le mie conoscenze di access non mi fanno venire in mente altri metodi). Una maschera RICERCA che utilizza la RICERCA_query, nella quale ho messo anche i pulsanti di spostamento tra record nel caso di più cognomi uguali. Mi fermo qui perchè le altre cose che ho inserito tipo REPORT_totale (per la stampa di tutto il personale), E altre cose simili, funzionano e per ora non credo influiscano sul risultato che vorrei ottenere cioè quello di poter modificare il campo DATA_ARRIVO del record in quel momento visualizzato nella maschera RICERCA, magari cliccando su di un semplice pulsante. Grazie ancora.
  • Re: Macro che cerca un record secondo un determinato campo

    sevenhertz ha scritto:


    Il mio reparto di lavoro, interagisce con altri gruppi che di volta in volta cambiano. Il mio database, deve essere un archivio generale di tutto il personale che passa, con tutti i dati personali, quali nome, cognome, data e luogo di nascita, residenza, stato civile, telefono e DATA_ARRIVO. Io ho creato SOLO la tabella DATI, con tutti i predetti campi.
    Mi sembra troppo poco una sola tabella.
    Ribadisco il mio dubbio sul significato del campo DATA_ARRIVO. Cosa significa?
    Tu hai:
    1/Laviosa/Osvaldo/5-2-1966/Bari/Via Europa unita, 14 B Conversano/Coniugato/0804959436/10/1/2010
    2/Dalla/Lucio/4-3-1943/Bologna/Piazza Maggiore 1, Bologna/Celibe/33624567/11/1/2011
    3/Rossi/Mario/10-10-1970/Roma/Via Nazionale 10, Roma/Celibe/063134223/12/1/2011

    Che succede se Dalla Lucio se ne va il giorno 10/1/2015 e Brambilla Roberto nato a Milano ecc...arriva il giorno 14/1/2015? Tu sostituisci tutti i campi del record 2 oppure crei un nuovo record?
  • Re: Macro che cerca un record secondo un determinato campo

    Persona nuova = nuovo record. Dato che spesso dopo che vanno via potrebbero ritornare,io li ho già in database, e vado solo a modificarne la data di arrivo. Ecco la mia esigenza di avere nella maschera RICERCA un pulsante che mi vada a modificare il campo relativo al record (nominativo) che ho cercato.
  • Re: Macro che cerca un record secondo un determinato campo

    Ho riletto tutta la discussione da capo a piedi. Per me non regge, su tutto il discorso, il fatto che stai lavorando con una sola tabella quando invece hai la necessità di contabilizzare dove sta Tizio, Caio, Sempronio. Non vedo una tabella Stanze o Reparti. Ribadisco il concetto che il campo DATA_ARRIVO non è omogeneo con la tabella DATI che, in altri ambiti, viene preferibilmente chiamata Anagrafica o Persone o Dipendenti.
  • Re: Macro che cerca un record secondo un determinato campo

    sevenhertz ha scritto:


    Ribadisco il concetto che il campo DATA_ARRIVO non è omogeneo con la tabella DATI che, in altri ambiti, viene preferibilmente chiamata Anagrafica o Persone o Dipendenti.
    In che senso non è omogeneo? Spiegati meglio, magari con un esempio
Devi accedere o registrarti per scrivere nel forum
19 risposte