AccessTr.neT

Tam Versiyon: Excel İle Access' Sorgulama Yaparken Büyük/küçük Harf Sorunu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Hocam kodlar çalıştı. Harika.
Sorunuz ise "Not: dikkatimi çekti sorgunuzdaki s = "select * from sil Where [YIL] AND [NO]" satırında kullandığınız  [YIL] AND [NO] neden var sorun çıkarmıyor mu?"  Bu kodlarla veri arama, kaydetme, güncelleme olayına 2 haftadır başladım. Tam bir acemi olarak değişik sitelerden kodlara bakıyordum. Kodları sadeleştirmeye çalıştım  "k1 = Range("C1")"  "  and [YIL] like  """ & k1 & """"    "  k1 gibi
baktım bu kod çalışıyor. Korkudan çalışan kodları hiç değiştirmedim. [YIL] AND [NO]  ibaresinin kaldırılıp farklı bir şey yapılabilir mi? Siz bilirsiniz Hocam
derler ki "çalışıyorsa kurcalama ))" ama kurcalamadan da olmuyor
verial fonksiyonunu aşağıdaki kodla değiştirip deneyebilirsiniz )
dilerim işinize yarar
Kod:
Sub Verial()
Dim i As Integer, sorgu As String
Call baglanti
Range("a16:L65535").ClearContents
Set rs = CreateObject("adodb.recordset")
With Sheets("sayfa1")
k1 = Range("C1")
k2 = Range("C2")
k3 = Range("C3")
k4 = Range("C4")
k5 = Range("C5")
r1 = Range("C6")
r2 = Range("C7")
r3 = Range("C8")
r4 = Range("C9")
r5 = Range("C10")
r6 = Range("G1")
s = ""
s1 = "select * from sil "
If .Range("C1").Text <> "" Then s = s & " and [YIL] like  """ & k1 & """"
If .Range("C2").Text <> "" Then s = s & " and [NO] like  """ & k2 & """"
If .Range("C3").Text <> "" Then s = s & " and [DOSYAES] like  """ & k3 & """"
If .Range("C4").Text <> "" Then s = s & " and [TARİH] like  """ & k4 & """"
If .Range("C5").Text <> "" Then s = s & " and [HESAPNO] like  """ & k5 & """"
If .Range("C6").Text <> "" Then s = s & " and ([ACIKLAMA] like  ""%" & r1 & "%""" & _
                                        " or [ACIKLAMA] like  ""%" & Replace(r1, "i", "İ") & "%""" & _
                                        " or [ACIKLAMA] like  ""%" & Replace(r1, "ı", "I") & "%"")"
If .Range("C7").Text <> "" Then s = s & " and [TLDÖVİZ] like  """ & r2 & "%"""
If .Range("C8").Text <> "" Then s = s & " and [VADE] like  """ & r3 & """"
If .Range("C9").Text <> "" Then s = s & " and [PARA] like  """ & r4 & """"
If .Range("C10").Text <> "" Then s = s & " and [DURUM] like  ""%" & r5 & "%"""
If .Range("G1").Text <> "" Then s = s & " and [OZET] like  ""%" & r6 & "%"""
s = IIf(s = "", s, " where " & Mid(s, 5))

s1 = s1 & s & " order by [YIL],[NO]"
  rs.Open s1, con, 1, 1
  Range("a16").CopyFromRecordset rs
  If WorksheetFunction.Count(Range("A16:A65000").Value) Then
  toplambulunan = WorksheetFunction.Count(Range("A16:A65000").Value)
  Range("Sayfa1!I4").Value = toplambulunan
Exit Sub
End If
  Range("A65000").End(xlUp).Offset(1, 0).Select
End With
End Sub
merak ettim sayısal alanlarda joker karakter kullanmamışsınız
joker karakter kullanılmayacaksa tek bir değer alınacaksa like yerine sadece "=" kullanabilirdiniz
mesela and [YIL] like  """ & k1 & """" yerine and [YIL]=" & k1 gibi
Verdiğiniz kodları denedim. Mükemmel çalışıyor.
Çok Teşekkürler Hocam kolay gelsin. Emeğiniz büyük.
ÖD) iyi çalışmalar
87.000 satırlık 17 sütunluk Access dosyası sorgulama yaparken bazen ciddi anlamda yavaşlıyor. Fakat benim kullandığım bilgisayardan daha düşük güce sahip bilgisayarda sorun çıkartmıyor. Sebebi tam olarak ne olabilir
Sayfalar: 1 2 3