Newsgroup: it.comp.appl.access
Titolo: Distinguere tra maiuscolo e minuscolo

Ciao a tutti,
ho una tabella con i seguenti campi e valori
numero 	tipo
1	a
1	A
1	B
1	a
1	A
1	a
1	A
1	a
1	b
1	b
1	a
1	a
1	B
1	B
1	b
1	a
se faccio una query dove voglio le quantita per TIPO non riesco a
distinguere tra maiuscolo e minuscolo e come risultato ho solo due
righe (10 a e 6b) anziche' quattro (7a, 3A, 3b, 3B).
Non vale convertire i valori TIPO in A1 A2 B1 B2 o altro, i dati
devono rimanere in questo formato.
Grazie anticipate a chiunque possa aiutarmi.
Stefano

 ha scritto nel messaggio
news:4007c936...@news.iunet.it...

Ciao Stefano
devi includere nella GROUP BY un ulteriore parametro che indica se il tipo è
maiuscolo o minuscolo
------------------------------
SELECT Sum(Qt) AS Totale,
              Tipo
FROM   t_Tipi
GROUP BY Tipo,
              StrComp([Tipo],UCase([Tipo]),0)
--------------------------------
Ciao Giorgio


Grande, funziona alla perfezione.
Ho sempre usato le funzioni messe a disposizione dai menu' che penso
abbiano dei limiti.
Ho notato che una volta inserito il codice, nella finestra Query di
selezione è stata aggiunta in automatico un'altra colonna con la
stringa. Dove trovo informazioni relative a questo modo di procedere?
In ogni caso ti ringrazio moltissimo
Ciao
Stefano


Ciao Stefano
con modo di procedere intendi creare una query con il linguaggio Sql al
posto dell'interfaccia grafica di Access ?
Se la risposta č affermativa per quanto riguarda il linguaggio SQL potresti
prendere spunto dal manuale di Sqlserver al capitolo "Guida di riferimento a
Transact-SQL" e in particolare "Esempi dell'istruzione SELECT"
http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp
(purtroppo quello di access č a dir poco inesistente).
Anche se Access non č SQL92 compatibile al 100% la maggior parte delle
istruzioni funziona, (escludendo le piů belle come CUBE ROLLUP e COMPUTE).
Per quanto riguarda le funzioni come StrComp() devi riferirti al manuale di
VBA, tutte le funzioni di VBA possono essere inserite in una query di Access
prestando attenzione a sostituire le costanti con i valori numerici
corrispondenti.
Ciao Giorgio

 Ciao Giorgio
Ciao Giorgo, come sempre per quanto riguarda TSQL sei mostruoso......!
A proposito della tua ultima affermazione, ho notato in A_XP che uso da poco
nelle Opzioni Tabelle/Query la possibilità di impostare la compatibilità ad
SQL
ANSI92, di conseguenza cercavo di capire se la tua affermazione è inerente
a questa nuova opzione, oppure ti riferivi alle vecchie limitazioni
risapute....!
Ti chiedevo perchè ho badato a questa cosa per caso, ma non ho trovato molto
che mi chiarisca le idee....!
Ciao.
@Alex.

 (purtroppo quello di access è a dir poco inesistente).
[...]
    Questo non e' malaccio:
        Acey James Bunch:
        . Fundamental Microsoft Jet SQL for Access 2000
        . Intermediate Microsoft Jet SQL for Access 2000
        . Advanced Microsoft Jet SQL for Access 2000
si trova qui:
 
http://msdn.microsoft.com/library
        Office Solution Development
          Microsoft Access
            Microsoft Access 2000
              Technical Articles
-- 
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------


Ciao @Alex,
Ovviamente ti riferisci ai file MDB di Access e non agli ADP (che sono 100%
compatibili con T-SQL in quanto utilizzano l'interfaccia di Enterprise
Manager e la convalida delle istruzioni direttamente da Sql Server).
L'opzione "Sintassi compatibile Sql Server (Ansi92)" da quel che ho potuto
provare è inerente alla  funzione LIKE, infatti i caratteri jolly sono
compatibili con SQL92 (% al posto di * ecc..). Altre istruzioni tipo CROSS
JOIN o FULL JOIN e soprattutto COUNT(DISTINCT x) non sono ancora supportate,
inoltre nelle JOIN sono ancora necessarie le maledette parentesi con più di
due tabelle in relazione.
(Questo esempio è semplice perché ha solo tre tabelle ma con più di cinque
la cosa si complica)
-----------------------------
SELECT A.Campo1,
               B.Cambo2,
               C.Campo3
FROM (A INNER JOIN B ON A.Campo1 = B.Campo2)
             INNER JOIN C B.Campo2 = C.Campo3;
-----------------------------
Con T-SQL puoi usare l'alias dei campi calcolati nella ORDER BY con Access
no
-------------------------------
SELECT Nome+' - '+Cognome AS Nominativo
FROM   Tabella1
ORDER BY Nominativo
-------------------------------
Altre cose al momento non mi vengono in mente.
Ciao Giorgio