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

    [access] - capitalizzare iniziali e problema apostrofo.

    Ciao a tutti.Tanto per cambiare ho un problema con access.

    Supponiamo che abbia un campo cognome del tipo "D'AMICO".

    Se eseguo una query del genere

    select stconv("D'AMICO",3) AS capit

    ottengo D'amico.

    C'è un modo per "capitalizzare" anche le lettere che seguono l'apostrofo?
    Grazie come sempre.

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

    Re: [access] - capitalizzare iniziali e problema apostrofo.

    Originariamente inviato da nicola75ss
    Ciao a tutti.Tanto per cambiare ho un problema con access.

    Supponiamo che abbia un campo cognome del tipo "D'AMICO".

    Se eseguo una query del genere

    select stconv("D'AMICO",3) AS capit

    ottengo D'amico.

    C'è un modo per "capitalizzare" anche le lettere che seguono l'apostrofo?
    Grazie come sempre.
    Prova un funzione tipo:
    codice:
    Public Function Maiuscola(testo)
    Dim testo2, n
    For n = 1 To Len(testo)
    If n = 1 Then
        testo2 = UCase(Left$(testo, 1))
        Else
            If Mid$(testo, n - 1, 1) = "'" Then
                testo2 = testo2 + UCase(Mid$(testo, n, 1))
                Else
                testo2 = testo2 + Mid$(testo, n, 1)
                End If
        End If
        Next n
    Maiuscola = testo2
    che è quasi uguale ma contempla l'apostrofo; vedi se è da aggiustare che l'ho tirata giù di getto.
    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,922
    Grazie Mr, con l'end function è perfetta.

    Va benissimo sia per le query

    codice:
    select cognome, maiuscola(strconv(cognome,3)) AS capit
    from utenti;
    che per i report.

    =Maiuscola(StrConv([cognome];3))

    Grazie ancora. Spero ti sia spaparanzato bene lo scorso week-end al mare.

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    ... Spero ti sia spaparanzato bene lo scorso week-end al mare.
    Fantastic.
    Campeggio di Marina di Bibbona (LI) ... non ho fatto una mazza per 2 giorni ... mare e sole e pappa e basta ... ma a chi lo dico ... tu hai il mare a tiro di schioppo !!!

    Cmq, la funzione fa anche le veci di strconv quindi potresti non doppiare il lavoro della cpu (anche se dubito che sia rilevabile).
    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,922
    Originariamente inviato da Misterxxx
    Fantastic.
    Campeggio di Marina di Bibbona (LI) ... non ho fatto una mazza per 2 giorni ... mare e sole e pappa e basta ... ma a chi lo dico ... tu hai il mare a tiro di schioppo !!!
    Mi fa piacere.
    Vero, a meno di 10 km.


    Cmq, la funzione fa anche le veci di strconv quindi potresti non doppiare il lavoro della cpu (anche se dubito che sia rilevabile).
    Magari sbaglio qualcosa io allora. Avevo provato ad usare la tua funzione senza integrarla con strconv ma se la tabella contiene i cognomi in maiuscolo rimangono tali

    codice:
    SELECT cognome, maiuscola(strconv(cognome,3)) as capit,Maiuscola(cognome) AS senza_strconv
    FROM utenti;
    es. Tabella che contiene cognome D'AMICO tutto in maiuscolo

    codice:
    cognome   capit senza_strconv
    D'AMICO   D'amico    D'AMICO

  6. #6
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    Magari sbaglio qualcosa io allora. Avevo provato ad usare la tua funzione senza integrarla con strconv ma se la tabella contiene i cognomi in maiuscolo rimangono tali
    Ah, pensavo fossero solo minuscole.
    Allora prova:
    codice:
    Public Function Maiuscola(testo)
    Dim testo2, n
    For n = 1 To Len(testo)
    If n = 1 Then
        testo2 = UCase(Left$(testo, 1))
        Else
            If Mid$(testo, n - 1, 1) = "'" Then
                testo2 = testo2 + UCase(Mid$(testo, n, 1))
                Else
                testo2 = testo2 + LCase(Mid$(testo, n, 1))
                End If
        End If
        Next n
    Maiuscola = testo2
    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,922
    Sei un fenomeno.
    E' vero, ora non c'è bisogno di strconv. Colpa mia che non avevo precisato.

    Il db che sto cercando di sistemare conteneva tutti i campi scritti in maiuscolo (fastidiosissimi anche da leggere IMHO ). Mi è stato chiesto di lasciare almeno nome e cognome in maiuscolo. Non so se quella che ho fatto sia la scelta migliore: in pratica lascio libertà di inserimento all'utente e prima di aggiornare converto tutto in maiuscolo (con l'unica raccomandazione nel caso si decida di scrivere tutto in maiuscolo di usare le lettere accentate minuscole àèìoù affinchè i i cognomi che terminano con tali lettere vengano convertite nell'equivalente accentato e non si debba inserire un apostrofo).

    Spero si sia capito qualcosa di ciò che ho scritto. Mi stavo incasinando da solo nel spiegarlo.

  8. #8
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    Sei un fenomeno.
    E' vero, ora non c'è bisogno di strconv. Colpa mia che non avevo precisato.

    Il db che sto cercando di sistemare conteneva tutti i campi scritti in maiuscolo (fastidiosissimi anche da leggere IMHO ). Mi è stato chiesto di lasciare almeno nome e cognome in maiuscolo. Non so se quella che ho fatto sia la scelta migliore: in pratica lascio libertà di inserimento all'utente e prima di aggiornare converto tutto in maiuscolo (con l'unica raccomandazione nel caso si decida di scrivere tutto in maiuscolo di usare le lettere accentate minuscole àèìoù affinchè i i cognomi che terminano con tali lettere vengano convertite nell'equivalente accentato e non si debba inserire un apostrofo).

    Spero si sia capito qualcosa di ciò che ho scritto. Mi stavo incasinando da solo nel spiegarlo.
    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,922
    Originariamente inviato da Misterxxx
    Quando si dice una faccina vale più di 1000 parole.

    Esempio pratico. Cognome Dessì (tipico sardo).

    L'utente se decide di scrivere in maiuscolo deve scrivere DESSì e il cognome viene convertito in DESSÌ.

    Nella mia mascherina di ricerca si dovrà utilizzare il cognome con la lettera accentata e non ad esempio dessi'. Spero di essere stato più chiaro.

  10. #10
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    Originariamente inviato da nicola75ss
    Quando si dice una faccina vale più di 1000 parole.

    Esempio pratico. Cognome Dessì (tipico sardo).

    L'utente se decide di scrivere in maiuscolo deve scrivere DESSì e il cognome viene convertito in DESSÌ.

    Nella mia mascherina di ricerca si dovrà utilizzare il cognome con la lettera accentata e non ad esempio dessi'. Spero di essere stato più chiaro.
    Perfect.
    Conoscevo un Dessì (zona Cagliari)
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.