Newsgroup: it.comp.appl.access
Titolo: Query di conteggio

salve amici.. vorrei creare, se possibile, una query di conteggio
la tabella di origine Anagrafe ha una campo N_Protocollo
ed è scritto in questa maniera... 23/2002/P5674
il primo numero risulta il progressivo (quindi variabile da 1 a 5 cifre)
il secondo l'anno in corso....
il terzo il n_protocollo (variabile) e l'iniziale stà ad indicare il comune
di appartenenza.... che sono 5 in tutto (P-F-I-G-M).
ebbene mi servirebbe creare una query di conteggio, mi occorre
solo il totale....di ogni comune....
mi suggerite come posso procedere ???
Ciao e grazie...

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:4OKM8.27044$K4.6...@twister2.libero.it...

Dovresti isolare il carattere che ti identifica il comune; ti conviene
utilizzare la funzione "token" presente sul sito comune (di Alessandro CARA)
magari facendone un'altra che estrae dalla stringa restituita la lettera che
identifica il "comune" e poi assegnare l'ultima funzione ad un campo
calcolato di una query che esegue un conteggio sullo stesso.
Es.
'-------------------
Public Function Token(str As String, str1 As String, num As Integer) As
String
   ' str = stringa da controllare
   ' str1 = lista dei delimitatori
   ' num = numero del token da prelevare
   ' by Pia Toro & A. Cara
   Dim i As Long
   Dim k As Long
   Dim n As Long
   Dim j As Long
   Dim str0 As String
   Token = "NON TROVATO!"
   k = 0
   str0 = Left(str1, 1) & str & Left(str1, 1)
   For i = 1 To Len(str0)
      If InStr(str1, Mid(str0, i, 1)) > 0 Then
         If InStr(str1, Mid(str0, i + 1, 1)) = 0 Or i = Len(str0) Then
            k = k + 1
               If k = num + 1 Then
                  Token = Mid(str0, j + 1, n - j)
                  Exit For
               Else
                  j = i
               End If
            End If
      Else
         n = i
      End If
   Next i
End Function
Function letteraComune(stringaCodice As String) As String
    letteraComune = Left(Token(stringaCodice, "/", 3), 1)
End Function
'-------------------
il campo calcolato sarà (es.):
idComune: letteraComune([N_Protocollo])
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
--------------------------------->
scusa se posto quasi tutto il messaggio Sergio... ma lo faccio affinchè
resti chiara la mia richiesta... cmq...non essendo pratico di Access..
dove dovrei applicare il tuo codice in una query ???...
Cmq.. a questo punto la domanda sorge spontanea...
avendo una tabella con un campo N_protocollo...e volendo separare
in un altro campo la stringa dopo la lettera alfabetica... magari facendo
una query... non dovrebbe essere + semplice... ??
ciao


Oramai la frase: "...non essendo pratico di Access..." non attacca più; sarà
un anno che bazzichi l'NG?
Le funzioni "Token"  e "letteraComune" le inserisci (copia/incolla) dentro
un modulo; così facendo puoi richiamarle da qualsiasi form/query/report:
in un controllo su una form inserisci letteraComune([N_Protocollo]) come
origine dati (lo stesso per i report); per un campo calcolato di una query
inserisci (per esempio): lComune: letteraComune([N_Protocollo]) nella riga
"Campo:"...
Non hai nessun vincolo su come/dove utilizzare le due funzioni; decidi tu...
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
--------------------------------->
Ok... prima provo....poi dico.... Ciao e grazie....
--
SuperPippo®   [;o))


Ciao.
--
Sergio MAZZA