E' il classico problema degli apici (l'accento è un'altra cosa).
I parametri stringa nelle query vanno sempre indicati raddoppiando gli apici, perchè l'apice nel linguaggio SQL è il delimitatore di stringa, per cui quando la stringa contiene un'apice, come ad esempio nei cognomi DALL'OLIO, SQL va in pallone perchè è come se tu scrivessi:
SELECT * FROM tabella WHERE cognome=' DALL'OLIO
quindi la parte OLIO per SQL non viene considerata parte della stringa perchè fuori dalla stringa e generare un'errore, logicamente.
Esempio come fare:
Se tu usassi ADO potresti sfruttare i relativi Parametri, il che equivale a scordarsi di tutti i problemi di formattazione dei parametri (apici, cancelletti, formati, ecc.). Leggi l'articolo, se vuoi:codice:Dim sRagSoc As String sRagSoc = Replace(List1.Text,"'","''") Set rst1 = DB1.OpenRecordset("SELECT * FROM DB_AZIENDE where RAGIONESOCIALE ='" & sRagSoc & "'")
ADO, Parametri ed affini
http://nuke.vbcorner.net/Articoli/VB...5/Default.aspx
Purtroppo stai usando ancora il preistorico DAO quindi dovrai sempre formattarti le stringhe 'a mano' ogni volta.
Ti consiglio caldamente di studiarti BENE una qualsiasi guida SQL, queste cose sono spiegate per bene perchè sono la base del linguaggio SQL (di tutti i dialetti) indipendentemente che tu usi DAO o ADO.
Ciao![]()