Newsgroup: it.comp.lang.visual-basic
Titolo: Apici in riferimenti!!

Ho un problema. Con una query SQL estraggo dei valori, filtrando per un
campo presente in una combo.
SQL = "SELECT Cod_Fornitore AS Codice"
SQL = SQL & "  From Fornitori"
SQL = SQL & "  WHERE (Fornitore = '" & Ordini.Cmb_Fornitore & "')"
rs.Open SQL, Connector, adOpenKeyset, adLockReadOnly
Tutto ok, eccetto quando nel nome del fornitore è presenta un apice, che
giustamente mi manda il programma in debug!
Qualcuno suggerimento in proposito. Ho già consultato
http://groups.google.com/groups
 ma senza risultati accettabili.
Grazie
Troy

 ha scritto nel messaggio
news:b1o68c$4tsi$1...@stargate1.inet.it...

Davvero?
Mo' ci provo.....
http://groups.google.it/groups?hl=it&lr=&ie=ISO-8859-1&q=apici+where&btnG=Cerca+
con+Google&meta=
circa 6760 risposte, a naso la risposta è nei primi.
Salutoni
Sergio

 ma senza risultati accettabili.
Non ci credo. Prossima volta cerca meglio. O cerca e basta.
hth,
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org

 ha scritto nel messaggio
news:b1o6ls$14uj14$1...@ID-173193.news.dfncis.de...



STARDETTO=STRADETTO
raddoppiali
''ossia ' e accanto '
'dell'orto'
'dell''orto'
bye man
--
%%============================%%
Il Wodkino Nazionale è a : 
www.martek.it
Forum: 
http://www.martek.it/go.asp?PortamiA=1
Bestiario: 
http://www.martek.it/go.asp?PortamiA=2
 (link bestiario del
ng)

 ha scritto nel messaggio
news:b1o68c$4tsi$1...@stargate1.inet.it...

Prova in questo modo:
SQL = "SELECT Cod_Fornitore AS Codice"
SQL = SQL & "  From Fornitori"
SQL = SQL & "  WHERE (Fornitore = " & chr(34) & Ordini.Cmb_Fornitore &
chr(34) & ")"


Un aiuto in più, anche se effettivamente devi imparare a cercare ?
Se cerchi bene trovi anche :
Function AposDouble(ByVal sIn As String) As String
' restituisce una stringa con tutti gli apostrofi sostituiti da due
' apostrofi successivi (serve per le query)
Dim k As Integer, sOut As String, ch As String
' verifica che ci sia un apostrofo
If InStr(sIn, "'") > 0 Then
sOut = ""
For k = 1 To Len(sIn)
ch = Mid$(sIn, k, 1)
sOut = sOut & ch
If ch = "'" Then sOut = sOut & ch
Next
Else
sOut = sIn
End If
AposDouble = sOut
End Function
Ciao
--
Gulp ! Forse mi sono perso qualcosa !
Per rispondere via E-mail togli la x da 
xd...@cyberjunkie.com

 rs.Open SQL, Connector, adOpenKeyset, adLockReadOnly
Questo mi sa che semplicemente sposta il problema dall'apice al doppio
apice, e oltretutto non so se funzioni con Sql-Server (dovrei verificare).
Ciao
Alberto

 End Function
Per curiosità: che vantaggi offre rispetto a
Function AposDouble(ByVal sIn As String) As String
AposDouble = Replace$(sIn,"'","''")
End Function
Ciao
Alberto

 Per curiosità: che vantaggi offre rispetto a...
Un maggior allenamento come dattilografo.... :-)  ?
Ciao Albe.... ognuno da quello che ha....
sono uno che si arrabatta pure io attorno al proprio ( leggi "fatto per uso
personale") ed unico programma.
Adesso so che posso abbreviare il codice del modulo relativo... non si
finisce mai di imparare.
Grazie.


 End Function
Non è che l'abbia guardata, eh, ma un vantaggio mi è saltato
all'occhio: funziona anche in VB5 che non ha la "Replace" :-)
Bye, G.


wrote:

Una curiosità. Qualcuno ha mai usato una soluzione ADO non documentata
"#" & strCriteria & "#" ?
A me funziona con access, con SQL server non ho provato.
Anche perchè a me sembra che il rimpiazzare con i doppi apici non
funzioni nel caso che la stringa contenga due apostrofi.
Ciao