[Visual Basic] [MS Access] query con parametro di testo

dariov

Nuovo Utente
4 Mar 2018
28
1
3
54
Ciao a tutti, importo in una tabella i dati dei file xml delle fatture elettroniche che poi devo elaborare per renderli compatibili con il mio DB.
Creo un recordset che contiene i vari record, poi con una seconda query interrogo un'altra tabella usando come filtro il nome presente nel recordset.

Codice:
Dim ricerca As String
ricerca = rstIMP(3) 'campo del record che contiene il nome nel record corrente del recordset

Set rstRIC = New ADODB.Recordset

Set cmdRIC = New ADODB.Command
    With cmdRIC
        .ActiveConnection = CurrentProject.Connection
        .CommandText = "SELECT [fornitori].[for_ID] FROM [fornitori] WHERE [fornitori].[fornitorenome] ='" & ricerca & "';"
        .Execute
    End With
Se il nome è "ANGOLO" tutto bene ma se è "L'ANGOLO" genera l'errore
Codice:
"Errore di sintassi (operatore mancante) '[fornitori].[fornitorenome]='L'ANGOLO';'
Perchè? dove sbaglio?
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
non so se hai risolto, in ogni caso,
l'apostrofo é un carattere di delimitazione dei testi
quando lo si trova in numero dispari nel comando sql, sorgono problemi di sintassi
occorre quindi gestirlo opportunamente in funzione del database usato
nel mio caso con sql server devo "raddoppiare" l'apostrofo
1584343892603.png
 

annehale

Nuovo Utente
24 Lug 2020
2
0
1
non so se hai risolto, in ogni caso,
l'apostrofo é un carattere di delimitazione dei testi
quando lo si trova in numero dispari nel comando sql, sorgono problemi di sintassi
occorre quindi gestirlo opportunamente in funzione del database usato
nel mio caso con sql server devo "raddoppiare" l'apostrofo
Vedi l'allegato 7008
Grazie mille, il problema è risolto