Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2007, 12:14   #1
Rimadil
Junior Member
 
Iscritto dal: Oct 2006
Messaggi: 12
Query di ricerca

Ciao a tutti, ho un piccolo problema con Access (oltre a quello più serio di non saperlo usare ).
Sto preparando una piccola applicazione che serve per gestire la clientela di uno studio, in pratica ho una tabella che contiene i nomi dei clienti, il tipo di attività che viene fatta per quei clienti, la data, il contratto e via dicendo. Ho preparato una query per ognuno dei campi presenti nella tabella principale e attraverso delle maschere adesso posso gestire l'elenco clienti (aggiungi, rimuovi, modifica), l'elenco delle attività (come per i clienti) e l'archivio (quest'ultimo viene salvato automaticamente in una tabella, non in una query).
Il problema sono le query di ricerca, o meglio: nella maschera principale (quella da cui si richiamano le tre maschere sopracitate) vorrei mettere un pulsante che mi apra una quarta maschera, nella quale inserendo il nome del cliente si visualizzino solo i suoi record, presi dalla tabella archivio. Ci sto impazzendo da due giorni, probabilmente è molto più semplice da fare di quello che penso io, ma non riesco a trovare il modo . Qualcuno può aiutarmi?
Rimadil è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 15:01   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2788
Ma hai una sola tabella? Se sì prima di andare avanti ti consiglio di suddividerla in più tabelle.
Comunque la query che ti serve è qualcosa del tipo:
Codice:
select * 
   from archivio 
   where nomecliente=xxx and cognomecliente=xxx
se hai tutte le info in una sola tabella, altrimenti sarà qualcosa del tipo:
Codice:
select archivio.* 
   from archivio inner join clienti on archivio.codicecliente=cliente.codice
   where cliente.nome=xxx and cliente.cognome=xxx
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 15:21   #3
Rimadil
Junior Member
 
Iscritto dal: Oct 2006
Messaggi: 12
Ciao wingman87. Ho due tabelle, una dove sono conservati tutti i dati "fissi", che non devono cambiare mai (esempio: Cliente, Elenco attività, archiviazione, etc..), da questa tabella ho già estrapolato una query per ogni colonna. Poi ho una seconda tabella, che si chiama archivio e e che per ogni riga contiene il nome del cliente, con l'attività relativa, la data di inizio, etc...).

Vorrei creare una maschera che contenga una casella di testo e un pulsante, nella casella di testo (ma forse è meglio una combo box che attinga alla query cliente) deve apparire un nome. Premendo il pulsante vorrei che nella stessa maschera apparissero tutte le righe della tabella Archivio contenenti come valore nella colonna "cliente" lo stesso nome selezionato nella casella di testo o nella combobox.

Il problema è che non sono molto brava nella programmazione di Access, quindi non saprei come utilizzare il codice che gentilmente mi hai inviato. Potresti spiegarmi dove e come lo devo inserire?
Rimadil è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2007, 18:51   #4
funky80
Member
 
L'Avatar di funky80
 
Iscritto dal: Dec 2005
Città: sassuolo
Messaggi: 104
Quote:
Originariamente inviato da Rimadil Guarda i messaggi
Ciao wingman87. Ho due tabelle, una dove sono conservati tutti i dati "fissi", che non devono cambiare mai (esempio: Cliente, Elenco attività, archiviazione, etc..), da questa tabella ho già estrapolato una query per ogni colonna. Poi ho una seconda tabella, che si chiama archivio e e che per ogni riga contiene il nome del cliente, con l'attività relativa, la data di inizio, etc...).

Vorrei creare una maschera che contenga una casella di testo e un pulsante, nella casella di testo (ma forse è meglio una combo box che attinga alla query cliente) deve apparire un nome. Premendo il pulsante vorrei che nella stessa maschera apparissero tutte le righe della tabella Archivio contenenti come valore nella colonna "cliente" lo stesso nome selezionato nella casella di testo o nella combobox.

Il problema è che non sono molto brava nella programmazione di Access, quindi non saprei come utilizzare il codice che gentilmente mi hai inviato. Potresti spiegarmi dove e come lo devo inserire?
Allora: io farei così. Per prima cosa ti crei una maschera che contenga una combobox basata su di una query che seleziona l'elenco dei clienti dalla tabella "fissa". Quindi crei una query che seleziona tutti i campi della tabella "archivio" e metti come filtro nel campo "cliente" [forms]![nomemiamascheraprincipale]![nomecombobox]. Così selezioni tutti e soli i record il cui cliente corrisponde alla combobox. Crei quindi una sottomaschera da inserire nella prima basandola sulla query appena creata. Infine vai nelle proprietà della combobox ( tasto dx -> propietà) e nella scheda eventi vai a cliccare sul campo "afterupdate", in particolare sui 3 puntini a dx dello spazio vuoto. Così vai ad aggiungere del codice visualbasic all'evento afterupdate, che, come dice il nome stesso, viene invocato tutte le volte che la combobox viene aggiornata e in particolare dopo la modifica stessa. Ti si dovrebbe quindi aprire l'editor di visual basic col cursore puntato all'interno di una routine del tipo nomedellatuacombobox_afterupdate(). Quì dentro aggiungi il codice "Forms!nomesottomaschera.requery" e poi salva.
Questo comando non fà altro che riaggiornare la tua sottomaschera ogni volta che cambi il valore nella combobox

Ultima modifica di funky80 : 26-06-2007 alle 18:53. Motivo: errori battitura
funky80 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 08:06   #5
Rimadil
Junior Member
 
Iscritto dal: Oct 2006
Messaggi: 12
Ciao funky80, era esattamente quello che mi serviva! Ti ringrazio moltissimo per il tuo aiuto, ora funziona perfettamente.
Rimadil è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v