D.B. Access per per piccola società sportiva

Egidio Fichera

Nuovo Utente
20 Gen 2014
3
0
0
Buongiorno
Utilizzo Access 2010
Vorrei chiedere aiuto per risolvere un problema in merito alla gestione di un D.B. relativo ad una piccola società sportiva.
Semplificando:
ho creato una tabella "Anagrafica Soci" con i seguenti campi (Codice Socio, nome, cognome, - soliti campi di anagrafica - ) (Codice socio campo con chiave)
ho creato una tabella "Pagamenti" con i campi: (Codice Socio, Quota Sociale, Data Pagamento)
Ho messo in relazione il campo "Codice Socio" delle due tabelle con relazione (uno a molti)
Faccio un esempio:
Creo l'anagrafica di 4 soci: (socio A - socio B - Socio C, Socio D)
La quota sociale del mese di gennaio viene pagata dai soci: ( A e B) ed inserisco il relativo pagamento nella tabella "Pagamenti"
Creo una query per sapere i soci che hanno saldato la quota di Gennaio, per cui filtro la colonna "Data pagamento" con il criterio: (Between [data inizio] AND [Data fine]) filtro la colonna "Quota Sociale" con filtro: >0
La risposta della query é corretta ed ottengo l'elenco dei soci che hanno pagato.
PROBLEMA:
Mi serve conoscere l'elenco dei soci che ancora devono pagare.
Non riesco a risolvere il problema perché i record nella tabella "Pagamenti" vengono generati soltanto al momento del pagamento del socio. Per cui se filtro le colonne come sopra utilizzando ad esempio "Is Null" nella colonna "Data Pagamento", non trovando record che soddisfino questo filtro, non mi da il risultato corretto.
Come posso risolvere?
Spero di essere stato esaustivo nell'esposizione del problema
Ringrazio chiunque voglia darmi un suggerimento.
egidio
 

HolidaySoft.it

Utente Attivo
16 Ott 2012
105
0
0
Milano
www.holidaysoft.it
Ciao,
per estrarre dalla tabella anagrafica i soci non paganti dovresti utilizzare l'OUTER JOIN anzichè l'INNER JOIN come nell'esempio sotto riportato:

SELECT Anagrafica_Soci.Codice_Socio, Anagrafica_Soci.Cognome, iif(isnull(Pagamenti.Quota_Sociale),0,Pagamenti.Quota_Sociale) AS Quota_Sociale
FROM Anagrafica_Soci LEFT JOIN Pagamenti ON Anagrafica_Soci.Codice_Socio = Pagamenti.Codice_Socio;

Nella query sopra esposta vengono estratti tutti i soci e per i non paganti, il valore del campo "Quota_Sociale" è 0.
Nel caso vuoi estrarre solo i non paganti, ovviamente devi aggiungere il filtro "WHERE Pagamenti.Codice_Socio IS NULL" come segue:

SELECT Anagrafica_Soci.Codice_Socio, Anagrafica_Soci.Cognome, iif(isnull(Pagamenti.Quota_Sociale),0,Pagamenti.Quota_Sociale)
FROM Anagrafica_Soci LEFT JOIN Pagamenti ON Anagrafica_Soci.Codice_Socio = Pagamenti.Codice_Socio
WHERE Pagamenti.Codice_Socio IS NULL

Ciao
Mik



A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 

Egidio Fichera

Nuovo Utente
20 Gen 2014
3
0
0
Grazie

Ti ringrazio per il tuo prezioso suggerimento.
Provato su una simulazione sembra funzionare.
A buon rendere
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Appicazione HTML per inserimento dai in Database Access Microsoft HTML e CSS 0
T mysql tutorial per importare tabelle access in mysql aiuto MySQL 2
A [MS Access] Pulsante per inserire allegati in campo maschera MS Access 0
A [MS Access] Maschera per interagire con tabella excell MS Access 19
GraceHawk [MS Access] Findfirst per ricerca record MS Access 1
M Access-Query per creare una tabella con la data nel nome tabella MS Access 0
C ht access per redirect PHP 3
P [Access 2000] Export query in tanti file (uno per ogni record) MS Access 0
G stringa di connessione per Access 2013 - provider OleDB ASP.NET 1
G [Access 2003] Crere un controllo per dati già presenti MS Access 2
A Aiuto, query per Access 2003 MS Access 5
O query per db access PHP 0
G Access per me è un problema MS Access 0
F access ricerca record con apostrofo. MS Access 0
P Access: recuperare Indice dopo un insert into MS Access 0
N Access: Filtro su maschera MS Access 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Errore interno Access MS Access 2
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
L Access Periodo maschera continua MS Access 4
B Aumento dimensioni grafico Access Database 0
R [C#] Quali dipendenze occorrono su progetto "Setup" con Access Database? .NET Framework 1
K mc Access/phpmyamin MS Access 0
L Collegare un form html ad un database access Javascript 2
R salve a tutti sono un insegnante di pianoforte e a tempo perso mi sto dedicando ad access Presentati al Forum 1
G Access point con rete guest, consigli? Reti LAN e Wireless 0
P Access Inserimento data. MS Access 4
ges Microsoft ACCESS oltre ogni limite (tre manuali) Altri Annunci 2
@ [MS Access] Funzione Iif..is null... Database 0
P [MS Access] Sostituire un carattere in tutta la tabella MS Access 11
B tasti rapidi Access MS Access 1
M [MS Access] Pulsante su maschera che esegue azioni su altra maschera MS Access 3
C [MS Access] Pagina di dialogo con allegati MS Access 1
F Modificare report di etichette di access con vba MS Access 0
strambotto [MS Access] Smembramento tabella MS Access 5
D [MS Access] Piu' maschere con una sola tabella dati... MS Access 0
G [MS Access] Funzione ARROTONDA non definita nell'espressione MS Access 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
M [MS Access] Relazione tra maschere MS Access 1
G Access Point POE da esterno Reti LAN e Wireless 0
M [MS Access] controllo valido se MS Access 8
N [MS Access] Come relazionare DB Libri trasposti in Film e viceversa MS Access 1
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
D [MS Access] MS Access 2
S [MS Access] Apertura Maschera su nuov record in base a determinato ID MS Access 0
maria_ia Microsoft Access Windows e Software 0
S [MS Access] Apertura maschera MS Access 3
S [MS Access] trasformare un numero in lettere in un report MS Access 1
D [Visual Basic] [MS Access] query con parametro di testo Visual Basic 4
P [MS ACCESS] Estrarre più somme da una query MS Access 4

Discussioni simili