L'apostrofo non mi consente di aprire una maschera

di il
43 risposte

L'apostrofo non mi consente di aprire una maschera

Buongiorno, come da oggetto ho il seguente problema: la presenza dell'apostrofo in un titolo (ad es. L'Aria) non mi consente di aprire una maschera (nel mio caso la maschera Titoli); compare infatti un messaggio di errore che dice Operatore mancante. Come posso fare per ovviare al problema?

Grazie.

43 Risposte

  • Re: L'apostrofo non mi consente di aprire una maschera

    Ciao, 

    scusa ma non riesco a capire cosa vorresti fare e il contesto specifico... è possibile avere un esempio più esaustivo? 

    Comunque in generale si deve raddoppiare l'apicino...

    Dim titolo As String
    titolo = "L'Aria"
    titolo = Replace(titolo, "'", "''")
    
    se devi elabora da una select allora lasci il compito a MsAccess di gestire gli apicini:
    Esempio:
    SELECT * FROM Titoli WHERE Titolo = [YouTitle];
    Oppure manualmente:
    SELECT * FROM Titoli WHERE Titolo = 'L''Aria';
  • Re: L'apostrofo non mi consente di aprire una maschera

    Non capisco in che modo l'apostrofo dovrebbe condizionare l'apertura di una mascheta. Forse dovrebbe trovarsi nella WHERE CONDITION di apertura della maschera o nel nome della maschera? Dove?

  • Re: L'apostrofo non mi consente di aprire una maschera

    By65Franco e Antony73, Devo dilungarmi ma è necessario, altrimenti in effetti resta oscuro.

    Allora: ho realizzato un catalogo dei libri che ho a casa, tra le tabelle ci sono ovviamente tbl Autori, tbl Titoli, e tbl Comprende; Autori è collegata a Titoli, Titoli è collegata a Comprende (questa tabella contiene i titoli di libri che hanno - per esempio - dei racconti, come Racconti dell'impossibile e Racconti del mistero di Poe, che appunto sono formati da diversi racconti). In seguito ho creato una maschera formata dai Titoli e dalla maschera Comprende e l'ho chiamata Focus; poi ho fatto una query dei soli titoli (presi dalla tbl Titoli) per avere i valori univoci e ho fatto una maschera chiamata Per Titolo e che contiene appunto SOLO i titoli di tutti i volumi. Ho fatto quindi una macro: su clic ->ApriMaschera Focus Where [Titolo]...[Titolo]. Bene, funziona, ma quando faccio clic su un titolo (o altro campo collegato) che ha l'apostrofo (per esempio Racconti dell'impossibile) mi dà errore.

    Allego una foto col messaggio 

    Spero di essere stato abbastanza chiaro. Nella foto non è un titolo ma non importa, c'è comunque l'apostrofo. Grazie ancora

  • Re: L'apostrofo non mi consente di aprire una maschera

    Uhm...

    A me la sfera magica da il seguente errore

    "Non è stato possibile vedere il codice della query dell'utente"

    Puoi mostrare come esegui il filtro o la query?

  • Re: L'apostrofo non mi consente di aprire una maschera

    Allora hai due modi di procedere: 

    1) usa il consiglio di Franco, raddoppiando l'apice;

    2) indicizza. Ovvero, anziché applicare la WHERE CONDITION al campo [Titolo], la applichi al campo [ID_Titolo], se esiste.

    Il secondo metodo applicabile in relazione a come e' strutturato il DB e devi prevedere un controllo combobox o una listbox per la selezione, in quanto possiedono la proprietà .column().

    Nel secondo modo l'efficienza aumenta.

  • Re: L'apostrofo non mi consente di aprire una maschera

    Sihsandrea, in realtà io non ho immesso alcun codice, ho semplicemente fatto una query solo con i titoli

  • Re: L'apostrofo non mi consente di aprire una maschera

    Antony73, grazie, provo la seconda, perché non saprei dove inserire il codice; purtroppo non sono esperto.

  • Re: L'apostrofo non mi consente di aprire una maschera

    Antony73, ho provato: prima WHERE IDT -> IDT ma mi ha dato un messaggio di errore in quanto non sono tipi di dati uguali (me l'aspettavo), poi ho provato Titolo -> IDT, la maschera si apre ma è vuota. Per quanto riguarda la combobox volevo evitarla, altrimenti è visibile nella maschera e dà fastidio.

  • Re: L'apostrofo non mi consente di aprire una maschera

    Hai una sola tabella? Non hai un DB con tabelle correlate? Indica l'istruzione usata per l' apertura della maschera.

  • Re: L'apostrofo non mi consente di aprire una maschera

    Antony73, come ho scritto più sopra il DB si compone di più tabelle, tra cui quelle importanti sono Autori, Titoli, Comprende. L'istruzione che ho usato è una semplice macro di Apertura Maschera e il Where è appunto Titolo -> Titolo. Ripeto: funziona, ma non quando c'è l'apostrofo, che viene letto come operatore.

  • Re: L'apostrofo non mi consente di aprire una maschera

    25/01/2025 - Barsyk ha scritto:

    Sihsandrea, in realtà io non ho immesso alcun codice, ho semplicemente fatto una query solo con i titoli

    Su criteri metti

    [Inserire titolo da cercare:]

    Quando ti serve attivi il filtro.

    Li puoi cercare anche "l'alba dell'alligatore dell'america"

    Senza preoccuparti degli apici.

  • Re: L'apostrofo non mi consente di aprire una maschera

    Sihsandrea, provo subito, ti saprò dire, intanto grazie (e complimenti per l'ottimo esempio di titolo!)

  • Re: L'apostrofo non mi consente di aprire una maschera

    Sihsandrea: niente da fare, la maschera la apre ma è bianca. Peccato.

  • Re: L'apostrofo non mi consente di aprire una maschera

    25/01/2025 - Barsyk ha scritto:

    By65Franco e Antony73, Devo dilungarmi ma è necessario, altrimenti in effetti resta oscuro.

    Allora: ho realizzato un catalogo dei libri che ho a casa, tra le tabelle ci sono ovviamente tbl Autori, tbl Titoli, e tbl Comprende; Autori è collegata a Titoli, Titoli è collegata a Comprende (questa tabella contiene i titoli di libri che hanno - per esempio - dei racconti, come Racconti dell'impossibile e Racconti del mistero di Poe, che appunto sono formati da diversi racconti). In seguito ho creato una maschera formata dai Titoli e dalla maschera Comprende e l'ho chiamata Focus; poi ho fatto una query dei soli titoli (presi dalla tbl Titoli) per avere i valori univoci e ho fatto una maschera chiamata Per Titolo e che contiene appunto SOLO i titoli di tutti i volumi. Ho fatto quindi una macro: su clic ->ApriMaschera Focus Where [Titolo]...[Titolo]. Bene, funziona, ma quando faccio clic su un titolo (o altro campo collegato) che ha l'apostrofo (per esempio Racconti dell'impossibile) mi dà errore.

    Allego una foto col messaggio 

    Spero di essere stato abbastanza chiaro. Nella foto non è un titolo ma non importa, c'è comunque l'apostrofo. Grazie ancora

    Ciao,

    approccio e logica sbagliata.

    Mi sembra che nei post precedenti ti abbiamo già suggerito la soluzione.

    La ricerca del Titolo deve avvenire tramite un ID chiave e non con la field che contiene una descrizione.

    Quindi con un approccio corretto non devi mai preoccuparti del contenuto del "titolo", devi semplicemente lavorare così come si lavora con un database relazionale

Devi accedere o registrarti per scrivere nel forum
43 risposte