SQL UPDATE Sorgusunda TextBox taki Metin içinde yer alan karakterden kaynaklı hata

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Herkese Merhaba,
Access ten SQL sorgusu için oluşturduğum ekteki dosyada her şey uzunca anlatılmıştır. Yinede kısaca durumu özetmeye çalışayım: String ifade olarak Textbox içinde yer alan metinde tek tırnak işareti varsa (') bu hataya sebep olmaktadır. Bunu aşacak bir sorgu formülü bulamadım.
Kullandığım sorgu kodları aşağıdaki gibidir:
Kod:
Private Sub CommandButton1_Click()
Dim conn As Object, rs As Object, yol As String, sorgu As String
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
yol = ThisWorkbook.Path & "\datalar.accdb"
conn.Open = "provider=microsoft.ace.oledb.12.0; data source=" & yol & "; persist security info=false"
sorgu = "update data1 set konu = '" & CStr(Me.TextBox2.Text) & "', " & _
        "detay = '" & CStr(Me.TextBox3.Text) & "' where id = clng('" & Me.TextBox1.Value & "')"
Set rs = conn.Execute(sorgu)
Set rs = Nothing
Set conn = Nothing
MsgBox "Güncelleme işlemi başarı ile tamamlandı.", vbInformation, "GÜNCELLEME RAPOR EKRANI"
Call UserForm_Initialize
End Sub
İlgilenen arkadaşlara şimdiden teşekkürler..
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Standart modüle aşağıki functionu yazın.
Sonra sorguda kullanın.
Değiştirmede tek tırnağı 2 kere tek tırnaka basarak değitirin.
'' 2 tane tek tırnaktan çift tırnak oluşturur.
Kod:
Function deg(tirnak As String) As String
deg = replace(tirnak, "'", "''")
End Function
Kod:
sorgu = "update data1 set konu = '" & deg(Me.TextBox2.Text) & "', " & _
        "detay = '" & deg(Me.TextBox3.Text) & "' where id = clng(" & Me.TextBox1.Value & ")"
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Evren Hocam, ilgilendiğiniz için çok teşekkürler. SQL Update sorgusunda benzer soruna yol açan (tek tırnak gibi) başka karakterler var mıdır acaba?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Evren Hocam, ilgilendiğiniz için çok teşekkürler. SQL Update sorgusunda benzer soruna yol açan (tek tırnak gibi) başka karakterler var mıdır acaba?
Başka varmıdır bilmiyorum.:cool:
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Çözüm öneriniz işe yaradı. Teşekkür ederim.
 
Üst