Newsgroup: it.comp.appl.access
Titolo: problema con gli apostrofi in ricerca per stringa

Ciao a tutti
ho costruito una form principale nella quale cè un campo non associato
che mi serve per cercare dei record digitando le prime lettere del
record...ad esempio se voglio cercare il cognome  "Rossi" mi basta
digitare "ros" premere invio e vedere visualizzato nella sottoscheda
associata alla maschera principale il record completo. Fin qui tutto
bene ma se però devo cercare un cognome con l'apostrofo access mi da
errore.
C'è qualcuno che mi può aiutare con il codice? Mi sembrava di averlo
visto sul sitocomune ma non sono riuscito a trovarlo.
Ciao e grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:b9132798de30608ba31...@mygate.mailgate.org...

Se usi Access 2000 cerca sulla guida in linea Replace.
E speriamo di non scatenare un 'altro putiferio :(
SunRex

Lucio Bagat ha scritto:

Sostituisci gli apici con i doppi apici (chr(34)) nel criterio di ricerca.
Namor
-- 
Aiuta chi ne ha bisogno, non ti costa niente:
www.shopmon.it
  -  
www.porloschicos.com
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

...

Io ho sempre fatto così ......
QueryStrCom = "CodCom = """ & StringaCom & """"  diversamente avresti
potuto usare ....
QueryStrCom = "CodCom = '" & StringaCom & "'"
Ciao
maurizio.

 wrote in message
news:5203294c.03111...@posting.google.com

ciao Maurizio
ho cercato di applicare le tue informazioni ma non mi viene (sicuramente
perchè sono ancora poco pratico con il codice.
Ti mostro quà di seguito il pezzo di codice che mi permette
di inserire le stringhe e trovare il record corrispondente nella
sottoscheda...
forse tu ci capisci qualcosa di più:
' Crea una clausola WHERE utilizzando i criteri di ricerca immessi
    '  dall'utente e imposta la proprietà "RecordSource"
    '  ("Origine record") della Sottoscheda richieste.
 
    Dim MioSQL As String, Criteri As String, MiaOrigineRecord As String
    Dim NumArg As Integer
    Dim Temp As Variant
    '  Inizializza il conteggio degli argomenti.
    NumArg = 0
    '  Inizializza l'istruzione SELECT.
    MioSQL = "SELECT * FROM [registrazione richieste] WHERE "
    Criteri = ""
    '  Utilizza i valori immessi nelle caselle di testo
    '  dell'intestazione della scheda per creare criteri per la
    '  clausola WHERE.
    Aggiungi [Cerca titolo], "[titolo]", Criteri, NumArg
 
    '  Se non è stato specificato alcun criterio, restituisce tutti i
    '  record.
    If Criteri = "" Then
        Criteri = "True"
    End If
    '  Crea l'istruzione SELECT.
    MiaOrigineRecord = MioSQL & Criteri
    '  Imposta la proprietà "Origine record" della Sottoscheda ricerca
    '  indirizzi.
    Me![Sottomaschera richieste].Form.RecordSource = MiaOrigineRecord
 
    '  Se nessun record corrisponde ai criteri, visualizza un
    '  messaggio.
    '  Seleziona il pulsante Cancella.
    If Me![Sottomaschera richieste].Form.RecordsetClone.RecordCount = 0
Then
        MsgBox "Nessun record corrisponde ai criteri immessi.", 48,
"Nessun record trovato"
        Me!Cancella.SetFocus
    Else
        '  Attiva i controlli nella sezione Corpo.
        Temp = AttivaControlli("Corpo", True)
        '  Seleziona la Sottoscheda ricerca clienti.
        Me![Sottomaschera richieste].SetFocus
    End If
[CERCA TITOLO] è il controllo non associato posto nella maschera
principale nel quale digito
 i valori di ricerca che mi permettono di trovare il record
corrispondente
nella sottoscheda.
Ciao e comunque grazie


 
Prova questa routinetta in una maschera con un pulsante ....
Private Sub Comando0_Click()
Dim MioSQL As String, Criteri As String, MiaOrigineRecord As String
Dim Comune As String
 '  Inizializza l'istruzione SELECT.
    MioSQL = "SELECT * FROM [registrazione richieste] WHERE "
 
    Comune = "REGGIO NELL'EMILIA"
    Criteri = "Comune = """ & Comune & """"
 
    MiaOrigineRecord = MioSQL & Criteri
    MsgBox MiaOrigineRecord
 
' Ti da questo risultato:
'
' SELECT * FROM [registrazione richieste] WHERE  Comune = "REGGIO NELL'EMILIA"
'
' In pratica devi sostituire al semplice apice (') due doppi apici ("").
' Se fosse stato invece anzichè REGGIO NELL'EMILIA, BOLOGNA
' 
' avresti potuto scrivere:
' 
' Comune = "BOLOGNA"
' Criteri = "Comune = '" & Comune & "'"
' 
' avresti ottenuto:
' 
' SELECT * FROM [registrazione richieste] WHERE  Comune = 'BOLOGNA'
'
' che nel caso di mancanza di apici interposti va bene comunque.
'
' Si puo' usare anche CHR$(34) come scritto nei precedenti messaggi.
'
'Ciao
'maurizio.
End Sub