Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    [access] - emulare funzione group_concat di mysql

    Buona serata.

    Avendo ad esempio una situazione del genere

    codice:
    id_patenti id_utente  patente
    1                 1           C
    2                 1           D
    3                 1           E
    4                 2           A
    5                 2           D
    mi chiedevo come fosse possibile avere come risultato della mia query


    1 C,D,E
    2 A,D

    Per quanto ho potuto vedere non mi sembra che access offra una funzione nativa simile al group_concat di mysql. E' possibile ovviare in qualche modo?
    Grazie per l'attenzione.

  2. #2
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702

    Re: [access] - emulare funzione group_concat di mysql

    Originariamente inviato da nicola75ss
    Buona serata.

    Avendo ad esempio una situazione del genere

    codice:
    id_patenti id_utente  patente
    1                 1           C
    2                 1           D
    3                 1           E
    4                 2           A
    5                 2           D
    mi chiedevo come fosse possibile avere come risultato della mia query


    1 C,D,E
    2 A,D

    Per quanto ho potuto vedere non mi sembra che access offra una funzione nativa simile al group_concat di mysql. E' possibile ovviare in qualche modo?
    Grazie per l'attenzione.
    A cosa ti serve?
    Da visualizzare o da manipolare?
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Eccolo lì il mio paladino.

    Non ho capito cosa intendi per manipolare.

    A me servirebbe che una volta che faccio un raggruppamento per utente le patenti mi venissero concatenate con la virgola o con un qualsiasi altro separatore.
    Una volta ottenuta la visualizzazione desiderata nella query la posso sfruttare anche nei report.

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    Originariamente inviato da nicola75ss
    Eccolo lì il mio paladino.

    Non ho capito cosa intendi per manipolare.

    A me servirebbe che una volta che faccio un raggruppamento per utente le patenti mi venissero concatenate con la virgola o con un qualsiasi altro separatore.
    Una volta ottenuta la visualizzazione desiderata nella query la posso sfruttare anche nei report.
    Quindi ti serve una stringa formattata in quella maniera da stampare?
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Si esattamente. Poi il join con la tabella utenti per recuperare i dati anagrafici lo so fare.
    Il problema è proprio quello di concatenare le patenti relative al singolo utente.

    La funzione mi tornerebbe utile anche in altri contesti del mio db per altri raggruppamenti.

  6. #6
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    Originariamente inviato da nicola75ss
    Si esattamente. Poi il join con la tabella utenti per recuperare i dati anagrafici lo so fare.
    Il problema è proprio quello di concatenare le patenti relative al singolo utente.

    La funzione mi tornerebbe utile anche in altri contesti del mio db per altri raggruppamenti.
    Dunque una stringa costruita.
    Mi sa che la puoi ottenere solo via codice.

    Un query incrociata ti fornisce un prospetto a griglia con utenti e patenti possedute, ma per avere la stringa occorre scrivere in VB.
    Definisci le variabili e le assegni (Database e Recordset).
    Poi costruisci la stringa alle occorrenze trovate in un ciclo Do While - Loop.
    D'altra parte group_concat non è altro che una funzione di concatenazione.

    Nel report però puoi usare la funzione di raggruppamento che non ti crea la stringa ma che può soddisfare le tue esigenze.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Quindi come temevo una funzione del genere non è inclusa in access.
    Vedrò cosa riesco a fare.
    Grazie come al solito per i tuoi consigli.

  8. #8
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    Originariamente inviato da nicola75ss
    Quindi come temevo una funzione del genere non è inclusa in access.
    Vedrò cosa riesco a fare.
    Grazie come al solito per i tuoi consigli.
    Di niente.
    Se opti x il codice, scriviamolo insieme
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Misterxxx
    Di niente.
    Se opti x il codice, scriviamolo insieme
    Colgo un leggero sfottò.

    Comunque ho risolto con questa funzione.


    http://www.rogersaccesslibrary.com/O...p#Hookom,Duane

    (Generic Function To Concatenate Child Records)


    Ciao Mister e grazie come sempre.

  10. #10
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    Originariamente inviato da nicola75ss
    Colgo un leggero sfottò.
    Assolutamente no !!!
    Non volevo tu precludessi quella strada e mi offrivo, in caso di necessità.

    Se guardi il codice è + o - meno quello che avresti dovuto scrivere.
    Ti consiglio, se non l'ha fatto, di analizzarlo per il futuro.

    Cmq, è incredibile ma non tanto: pensi a una cosa da fare e c'è sempre qlc che l'ha già fatta !!! Sarà che Access ormai è utilizzato da molti anni e da molti utenti.

    Bye.
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.