Inserimento nuovi record a seguito di ricerca

di il
5 risposte

Inserimento nuovi record a seguito di ricerca

Buonasera sono nuovo, vi anticipo che non ho una preparazione eccelsa di acces e sql.
Ad ogni modo sono riuscito a creare un db con relative maschere.
Si tratta di un db per la gestione di un'agenzia assicurativa.
Quindi esistono 2 tabelle cliente e polizza, con collegamento uno a molti.
In realtà tramite query e maschere sono riuscito ad fare tutto ciò di cui avevo bisogno, però mi rimane un unico problema.
Ho creato una query che su richiesta del cognome dell'assicurato mi restituisce i dati anagrafici e scorrendo sotto con i cursori le polizze che possiede.
Nella stessa maschera di ricerca ho inserito anche un bottone per l'inserimento di un nuovo record, ovvero dopo aver fatto la ricerca di quel cliente devo inserire una nuova polizza che magari ha fatto successivamente. Ma non mi funziona.
Ogni volta per l'inserimento di una nuova polizza devo scorrere tutti i clienti uno ad uno, fino a quello desiderato e poi lì inserire il nuovo record.

in conclusione devo attivare una query che dopo aver chiesto l'inserimento del cognome del cliente, una volta trovato, mi permetta di inserire una nuova polizza,
Spero di essere stato chiaro, grazie in anticipo per le Vs risposte

5 Risposte

  • Re: Inserimento nuovi record a seguito di ricerca

    Io non ho capito se hai o no una maschera/sottomaschera Clienti/Polizze basata sulle corrispondenti TABELLE (non query). Ti basterebbe fare questo. Ti suggerisco la procedura guidata. Sulla maschera Clienti puoi organizzare una ricerca sul Cliente e sotto dovresti vedere automaticamente tutte le sue Polizze.
  • Re: Inserimento nuovi record a seguito di ricerca

    Io ho una maschera cliente con dentro una sottomaschera polizza che sono collegate alle due tabelle, dove una volta trovato il cliente desiderato, posso scorrere le sue polizze ed eventualmente aggiungerne una nuova, poi nella stessa maschera ho inserito un bottone di ricerca che si basa su questa query:

    SELECT Cliente.Nome, Cliente.Cognome, Cliente.Indirizzo, Cliente.Cap, Cliente.Comune, Cliente.[Citta'], Cliente.Telefono, Cliente.Email, Cliente.Documenti, Polizza.Tipo, Polizza.Compagnia, Polizza.Effetto, Polizza.[Scadenza semestre], Polizza.[Scadenza polizza], Polizza.Frazionamento, Polizza.Premio, Polizza.[Data pagamento], Polizza.[Modello auto], Polizza.Targa, Polizza.Rca, Polizza.[Furto/Incendio], Polizza.[Infortuni conducente], Polizza.Cristalli, Polizza.[Atti Vandalici], Polizza.[Eventi atmosferici], Polizza.Assistenza, Polizza.[Documenti polizza], Cliente.Note, Polizza.Note, Polizza.[Assegnata a], Cliente.[Codice fiscale]
    FROM Cliente INNER JOIN Polizza ON Cliente.[ID] = Polizza.[Id_cliente]
    WHERE (((Cliente.Cognome) Like "*" & [Inserisci cognome da cercare ] & "*"));

    Ti preciso che sulla sottomaschera polizza ho inserito un bottone per inserire una nuova polizza.
    Quando clicco sul bottone ricerca(che esegue la query sopra) gli faccio aprire un'altra maschera in cui appunto vengono visualizzati i dati che restituisce la query, e pure in questa ho messo il bottone di inserimento polizza, ma quando ci clicco non mi fa aggiungere il record nuovo,

    mi spiego male?
  • Re: Inserimento nuovi record a seguito di ricerca

    massimo1985 ha scritto:


    io ho una maschera cliente con dentro una sottomaschera polizza che sono collegate alle due tabelle, dove una volta trovato il cliente desiderato, posso scorrere le sue polizze ed eventualmente aggiungerne una nuova
    Fin qui OK.

    massimo1985 ha scritto:


    poi nella stessa maschera ho inserito un bottone di ricerca che si basa su questa query
    Secondo me non ti serve quella query.
    Tu devi ricercare solo "Cognome + Nome" in maschera Clienti. Puoi farlo sfruttando il "filtro in base a maschera" oppure aggiungere una casella combinata che guarda il tuo IDCliente, ma convenientemente mostri Cognome + Nome. In quest'ultimo caso procedi così:
    1) Crea una query che includa IDCliente e un campo Cliente avente l'unione dei campi
    [Cognome] & " " & [Nome]
    con Ordinamento Crescente sulla colonna Cliente
    2) Salva la query con nome
    3) In visualizzazione struttura maschera Clienti, crea una casella combinata con procedura guidata e abbi cura di scegliere l'opzione "Trova un record nella maschera basato sul valore selezionato nella casella di riepilogo/casella combinata". Leggi qui per tutti i dettagli
    https://support.office.com/it-it/article/Creare-un-elenco-di-valori-usando-una-casella-di-riepilogo-o-una-casella-combinata-70abf4a9-0439-4885-9099-b9fa83517603
    4) Salva tutto
  • Re: Inserimento nuovi record a seguito di ricerca

    Ok funziona così è molto più agevole.
    Ho creato questa query :
    SELECT Cliente.ID, Cliente.Cognome, Cliente.Nome
    FROM Cliente
    ORDER BY Cliente.Cognome;

    e poi ho creato la casella combinata associandola alla query.
    Come faccio però a creare l'unione dei due campi in modo da visualizzarli entrambi nella casella combinata.
    Ps lo che me lo hai scritto sopra ma non riesco a creare il codice sql per l'unione, mi restituisce sempre qualche errore.
  • Re: Inserimento nuovi record a seguito di ricerca

    Io ragiono in visualizzazione struttura. Nella seconda colonna della query deve esserci scritto qualcosa del genere:
    ClienteCompleto: [Cognome] & " " & [Nome]
    [ClienteCompleto] diventa un nuovo nome campo su cui fare l'Ordinamento Crescente
Devi accedere o registrarti per scrivere nel forum
5 risposte