Newsgroup: it.comp.appl.access
Titolo: Query con camo calcolato di posizione record

Qualcuno mi sa indicare come inserire in una query di selezione un campo che
mi indichi la posizione del record selezionato?
ES:
Se il risultato della query di selezione è costituito da tre record
BIANCHI
ROSSI
VERDI
mi occorrerebbe nella quey un campo calcolato che riporti la stringa
1/3    BIANCHI
2/3    ROSSI
3/3    VERDI
Grazie.
Danilo.

> "C.F." news:WgAr9.898$
TD1....@news2.tin.it
:

        Query: x CF Query1
        SELECT
            [x CF].Nome AS Nome
        FROM
            [x CF]
        ORDER BY
            [x CF].Nome
        ;
        Query: x CF Query2
        SELECT
            (
              SELECT
                  Count(*)
              FROM
                  [x CF Query1] AS TEMP
              WHERE
                  TEMP.Nome <= [x CF Query1].Nome
            )
            &
            "/"
            &
            (
              SELECT
                  Count(*)
              FROM
                  [x CF Query1]
            ) AS Espr1
          , [x CF Query1].Nome
        FROM
            [x CF Query1]
        ;
OUTPUT:
Espr1  Nome
1/3    BIANCHI
2/3    ROSSI
3/3    VERDI
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:aomkrs$nv949$1...@ID-52090.news.dfncis.de...

Funziona se la uso da sola;  ma se la query la metto alla base di una
sottomaschera filtrata dalla maschera principale la sottomaschera lavora su
tutti i dati della tabella non su quelli filtrati dalla maschera principale
(come dovrebbe fare una buona sottomaschera); sai dirmi come posso fare?
Grazie.

 (come dovrebbe fare una buona sottomaschera); sai dirmi come posso fare?
    Dire *prima* le cose come stanno e non dopo? ;-)
    Dovrai aggiungere la clausola WHERE opportuna, basata sui controlli
della maschera. Ma io da qui non arrivo a vedere il tuo monitor quindi non
saprei proprio che altro dire.
    Ah, si'... Potresti dare un'occhiata al 3d "Numerare i record" aperto da
Alessandro il 13/10/02 alle 11.10. C'e' sicuramente qualcosa che potrebbe
interessarti (a parte le fregnacce medicee).


 wrote:
... e se la prima query non potessimo ordinarla? Hai già una
soluzione?

 soluzione?
    Quella che ho indicato a Danilo penso possa andar bene:
        "Potresti dare un'occhiata al 3d "Numerare i record" aperto
        da Alessandro il 13/10/02 alle 11.10. C'e' sicuramente
        qualcosa che potrebbe interessarti (a parte le fregnacce
        medicee)."
    Mi riferisco in particolare alla funzione:
Public Function GetRecNum( _
) As Long
  On Error GoTo erh
  Dim frm As Access.Form
  Dim rst As DAO.Recordset
  Set frm = CodeContextObject
  Set rst = frm.RecordsetClone
  With rst
    If Not ((.BOF = True) And (.EOF = True)) Then
      .Bookmark = frm.Bookmark
      GetRecNum = .AbsolutePosition + 1
    End If
  End With
ext:
  Set rst = Nothing
  Set frm = Nothing
  Exit Function
erh:
  GetRecNum = 0
  Resume ext
End Function
che in questo caso potrebbe essere integrata e modificata per restituire una
stringa del tipo:
        1/3
        2/3
        3/3
        ...


    Mi riferisco in particolare alla funzione:
Intendevo con una Query :-)

 Intendevo con una Query :-)
    Ok.
    Come dicevo non abbiamo informazioni sufficienti per scriverla in quanto
Danilo non si e' sprecato. Dobbiamo cosi' inventare nomi di campi, di
controlli, di maschere... Ma alla fin fine da qualche parte ci sara'
qualcosa del genere:
        WHERE
            [NomeCampo]
            =
            Forms![FormName]![CtlName]
da ripetere probabilmente anche nelle sottoquery.


 
le "fregnacce" saranno quelle di numerare i record!
--
a.cara

 le "fregnacce" saranno quelle di numerare i record!
    :-))


 ;
innanzitutto complimenti a maurizio borrelli
ho provato ad usare questa funzione ma mi va in crash il database.
questa è l'SQL che ho usato:
SELECT [R banca italia erogazioni].cbabi, (SELECT Count(*) FROM [R banca
italia erogazioni] AS TEMP WHERE TEMP.[cbabi] <= [R banca italia
erogazioni].cbabi) AS Espr2, (SELECT Count(*) FROM [R banca italia
erogazioni]) AS tot
FROM [R banca italia erogazioni];
non riesco a capire come mai succede tutto questo. qualcuno sa darmi una
risposta
ciao e grazie
--------------------------------
Inviato via 
http://usenet.libero.it