Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365)

Beppe56RM

Nuovo Utente
23 Gen 2023
1
0
0
Ho compilato in passato vari database (sono autodidatta) che uso al lavoro. (lavoro in ospedale).
In genere per trovare il singolo record usavo il codice fiscale un dato che è sempre disponibile in ospedale tutto funziona benissimo. Uso regolarmente macro, ho imparato ad usare script di VBA e rarissime volte uso il SQL.
Nel mio ultimo database che ho creato per gestire la segreteria del servizio dove lavoro e che tratta solo dei dipendenti, ho un problema: non posso usare il CF sia perché dovrei cercarlo volta per volta. Potrei crearmi una tabella dei dipendenti ma sono più di 8000 ma nn posso accedere all'anagrafica dei dipendenti.
In sostanza con questo db gestisco: il movimento delle cartelle, la posta in/out, il movimento in/out di documenti amministrativi, la gestione degli specializzandi, degli studenti, dei dipendenti cessati e dei cessati radioesposti, degli studenti cessati. In poco più di un anno ho già più di 10.000 record.
Funziona bene, tengo sotto controllo tutto, ho un solo problema : la ricerca sei cognomi con caratteri speciali (apostrofo, accento). qnd cerco qst cognomi mi da errore.
Ho provato ad usare Replace ma nn riesco a farlo funzionare, mi dà ancora errore.
Ho provato una soluzione usando una query con condizione e funziona ma nn mi piace, mi sembra inelegante e poco funzionale.
In sostanza ho una maschera di ricerca con un campo non associato che pesca i dati da una query di raggruppamento per evitare i duplicati e un pulsante con qst script:

[/]codice
Private Sub Comando9_Click()
On Error GoTo Err_Comando9_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "000RIEPILOGO_msk"

stLinkCriteria = "[dipendente]=" & "'" & Me![dipendente] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando9_Click:
Exit Sub
Err_Comando9_Click:
MsgBox Err.Description
Resume Exit_Comando9_Click

End Sub
[/]codice
Funziona benissimo, salvo con i cognomi con i caratteri accentati. Con i nomi accentati mi dà "errore di sintassi, operatore mancante"

Ho provato ad usare Replace in qst modo:

[/]codice
Private Sub Comando9_Click()
On Error GoTo Err_Comando9_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "000RIEPILOGO_msk"

stLinkCriteria = "[Cognome]=" & " ' " & Replace([cognome], "'", "''") & " ' "
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando9_Click:
Exit Sub
Err_Comando9_Click:
MsgBox Err.Description
Resume Exit_Comando9_Click

End Sub
[/]codice
Mi apre la maschera ma vuota.

Spero di non essere stato troppo prolisso.

Uso Win 10 sia a casa che al lavoro.
 

Discussioni simili