Aiuto per access e dbase

mercoledì 08 novembre 2006 - 10.39

iomete Profilo | Newbie

Ciao a tutti. Premetto che sono nuovo e non ho nemmeno molta dimestichezza con access però ho un problema di questo tipo.

Ho due DB.

Su uno sono riportati in ordine i seguenti campi:

- Cod cliente

- Cod. cliente

Sull'altro invece:

- cod. cliente

-data operazione (dall' 1/1 ad oggi)

- tipo operazione

- importo

La chiave primaria è ovviamente il codice cliente in quanto è il codice univoco che è presente in entrambe le tabelle.

Ora voglio creare una query che mi estrapoli tutti i codici clienti che hanno effettuato operazioni in un certo range di date.

Se faccio la mia query mi da ovviamente tutti i record effettuati da tutti i clienti; mentre io ho bisogno SOLO di sapere quanti clienti hanno effettuato le operazioni e non quante operazioni.

Mi spiego meglio, almeno ci provo. Se il cliente Kalle ha effettuato 100 operazione nel range di date la query mi restituisce tutti i 100 record mentre invece io ho bisogno che mi dica solo " SI KALLE HA EFFETTUATO UNA OPERAZIONE NEL RANGE DA TE RICHIESTO".

Spero di essere stato abbastanza chiaro.

Attendo notizie.

lbenaglia Profilo | Guru

>Ciao a tutti. Premetto che sono nuovo e non ho nemmeno molta
>dimestichezza con access però ho un problema di questo tipo.

Ciao iomete,

benvenuto sul forum di .net hell

>Ho due DB.
Sicuro che non siano due tabelle?
Due DB significa due files .mdf

>Su uno sono riportati in ordine i seguenti campi:
>
>- Cod cliente
>
>- Cod. cliente
Una tabella con due colonne pressoché uguali?

>Spero di essere stato abbastanza chiaro.
Io non ho capito niente
Non ci dici nemmeno il nome delle tabelle.
Ascolta fai così, rispondi al mio post allegando un file mdb di esempio con le due tabelle, alcuni dati di prova e riporta il risultato che vorresti ottenere in un certo intervallo di date.

>Attendo notizie.
Anche noi

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Brainkiller Profilo | Guru

>Mi spiego meglio, almeno ci provo. Se il cliente Kalle ha effettuato
>100 operazione nel range di date la query mi restituisce tutti
>i 100 record mentre invece io ho bisogno che mi dica solo " SI
>KALLE HA EFFETTUATO UNA OPERAZIONE NEL RANGE DA TE RICHIESTO".

Devi fare una DISTINCT per prendere singolarmente i record (senza doppioni) e una COUNT per conteggiarli. Purtroppo ho scoperto che Access non supporta la COUNT DISTINCT ossia le due cose asssieme quindi devi fare una query di questo tipo:

SELECT COUNT(*) FROM (SELECT DISTINCT id_cliente FROM Operazioni WHERE data_operazione Between #12/14/2006# And #12/15/2006#)

Modifica i nomi dei campi id_cliente, e data_operazione, nome tabella Operazioni e range delle date in base a quelli che tu hai scelto.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

iomete Profilo | Newbie


Benaglia devo aver fatto un pò di caos.
Allora io ho due tabelle, anche se in realtà ne ho una per ogni mese dell'anno.
Ma mettiamo di prendere solo due mesi.
In entrambe le tabelle io ho, tra i vari campi, i seguenti:
- cod cliente
- data operazione
- importo operazione

Ora io vorrei creare una query dove il risultato finale sia quello di sapere quanti clienti hanno fatto "ALMENO" una operazione in un range di date.

Il mio problema stà nel fatto che se faccio la query come intendo io, non sapendo come impostarla, il risultato è quello di avere, ad es., il cliente Kalle che se ha fatto 100 operazioni nel mese la query mi restituisce i 100 record mentre invece io ho bisogno solamente che mi dica "SI KALLE HA FATTO ALMENO UN'OPERAZIONE".
Inoltre come faccio a creare la query inserendo coem data partenza una data che si trova nella tabella n. 1 e la data fine che si trova nella tabella 2.

Spero ora di essere stato un pò più chiaro...non volermene.

lbenaglia Profilo | Guru

>Spero ora di essere stato un pò più chiaro...non volermene.
Io non te ne voglio, ma se non rispondi in modo PRECISO alla domanda che ti ho fatto prima non ne usciamo.
Mi spiace, senza un esempio completo accompagnato dal risultato finale che vuoi ottenere evito di postare soluzioni a casaccio.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5