• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Access veritabanına birden fazla bağlantı hk.

  • Konbuyu başlatan Konbuyu başlatan tamer42
  • Başlangıç tarihi Başlangıç tarihi
....Siz buna bir çözüm biliyor musunuz?

Evet, bu sıkıntılar için C# ile bir VBA connector yazdım ve bitirdim; ancak son kez gözden geçmesi gerektiği için henüz yayınlamadım. UTF8' den kaynaklanan LCASE, UCASE, SORT, WHERE problemleri yoktur.

Sqlite tercihiniz doğru bir seçim... Yaptığım testlerde ve incelemelerimde oldukça güçlü, hızlı ve memory database gibi güzel özelliği olan bir veritabanı olduğunu gördüm. Ayrıca Access gibi database limiti yok... 128 TB herkes için yeterli olacaktır.

.
 
Son düzenleme:
Hocam zamanında vba excelde sqlitedeki verileri aratırken türkçe karakterler çalışmıyordu biliyorum.Yada sqlitede sıralama yaparken türkçe karakterler tam doğru sıralanmıyordu sanırım en altlarda çıkıyordu örneğin ç,ş,ğ gibi harfler.Bu yüzden bırakmıştım ve çözüm bulamamıştım.Siz buna bir çözüm biliyor musunuz?
@FERAZ hocam koda rs.CursorLocation = 3 ekleyince Türkçe sıralamada sorun çıkarmadı
Kod:
Sub xSıraliVeri()
  Dim con As Object, rs As Object
   
    Set con = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
   
    con.Open "DRIVER=SQLite3 ODBC Driver;Database=" & ThisWorkbook.Path & "\deneme.db;" 'Locale Identifier=1055;
   
    strSQL = "SELECT baslik from tblDeneme order by baslik" ' COLLATE NOCASE" 'Kücük büyük harf
    rs.CursorLocation = 3'|<----bu satır eklenmeli
    rs.Open strSQL, con, 1, 3
    rs.Sort = "baslik"'|<----bu satır eklenmeli
    With Sheets("Sayfa2")
        .Range("E:E").ClearContents
        .Range("e1").CopyFromRecordset rs
    End With
    rs.Close
    con.Close
    Set rs = Nothing: Set con = Nothing
End Sub
 
Son düzenleme:
Evet, bu sıkıntılar için C# ile bir VBA connector yazdım ve bitirdim; ancak son kez gözden geçmesi gerektiği için henüz yayınlamadım. UTF8' den kaynaklanan LCASE, UCASE, SORT, WHERE problemleri yoktur.

Sqlite tercihiniz doğru bir seçim... Yaptığım testlerde ve incelemelerimde oldukça güçlü, hızlı ve memory database gibi güzel özelliği olan bir veritabanı olduğunu gördüm. Ayrıca Access gibi database limiti yok... 128 TB herkes için yeterli olacaktır.

.
Sağolun.
Dediğim durumdan dolayı kullanmsmıştım ama merak salmıştım zaten genelde hepsi aynı gibi sql sorgu vs bildikten sonra.
İnşAllah dediğiniz gibi çözüm bulunursa faydalanmak isteriz bende access tarafı değilim biraz işlem yapınca boyut büyüyüp duruyor sonra veritabanıonar gibi birşey ile biraz küçülüyordu vs.. yoksa accesste benim işimi görür normalde ama zaten sqllite ücfetsiz olduğu için herkesin işine yarar bencede.
 
@FERAZ hocam koda rs.CursorLocation = 3 ekleyince Türkçe'de sorun çıkarmadı
Kod:
Sub xSıraliVeri()
  Dim con As Object, rs As Object
   
    Set con = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
   
    con.Open "DRIVER=SQLite3 ODBC Driver;Database=" & ThisWorkbook.Path & "\deneme.db;" 'Locale Identifier=1055;
   
    strSQL = "SELECT baslik from tblDeneme order by baslik" ' COLLATE NOCASE" 'Kücük büyük harf
    rs.CursorLocation = 3'|<----bu satır eklenmeli
    rs.Open strSQL, con, 1, 3
    rs.Sort = "baslik"'|<----bu satır eklenmeli
    With Sheets("Sayfa2")
        .Range("E:E").ClearContents
        .Range("e1").CopyFromRecordset rs
    End With
    rs.Close
    con.Close
    Set rs = Nothing: Set con = Nothing
End Sub
İlk fırsatta deneyeceğim hocam.Garip olan sqlite proğramlarında sorgu ile sıralamada dediğim sorun oluyordu.
 
hatırladığım kadarıyla o zaman Rs.Sort kullanmamıştık
 
Ben sayin accessman'in konusunu hatırlıyorum oradaki dosya üzerinde denedim hatta o konuya kod ve resim ekledim.
 
@FERAZ hocam koda rs.CursorLocation = 3 ekleyince Türkçe'de sorun çıkarmadı
Kod:
Sub xSıraliVeri()
  Dim con As Object, rs As Object
   
    Set con = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
   
    con.Open "DRIVER=SQLite3 ODBC Driver;Database=" & ThisWorkbook.Path & "\deneme.db;" 'Locale Identifier=1055;
   
    strSQL = "SELECT baslik from tblDeneme order by baslik" ' COLLATE NOCASE" 'Kücük büyük harf
    rs.CursorLocation = 3'|<----bu satır eklenmeli
    rs.Open strSQL, con, 1, 3
    rs.Sort = "baslik"'|<----bu satır eklenmeli
    With Sheets("Sayfa2")
        .Range("E:E").ClearContents
        .Range("e1").CopyFromRecordset rs
    End With
    rs.Close
    con.Close
    Set rs = Nothing: Set con = Nothing
End Sub

Hocam dediklerinizi uyguladım çalışmadı.Eğer sorun oluyorsa yazdıklarım mesajlar silinebilir başkasının konusu olduğu için.
 
dosyanızda hem rs.CursorLocation = 3 '|<----bu satır eklenmemiş
hem de rs.Sort = "baslik" yerine rs.Sort = baslik yazılmış baslik değil "baslik" olmalıydı yani çift tırnak içinde.
başkasının konusu olduğu için ben de daha fazla mesaj yazmayacağım, benim mesajlar da silinebilir
 
Son düzenleme:
Merhaba,

@FERAZ
@haliliyas

Forumda yorum çeşitliliğine hiçbir zaman karşı olmadık. Sizlerin yorumlarını incelediğim kadarıyla önerilen uygulamalarda yaşanan genel sorunları dile getirmişsiniz. Bu sebeple mesajlarınızın silinmesine gerek yok.
 
Bilgi olarak eklediğim dosyada alttaki sort da " bunlar yokmuş ve curcorlocation olanda yokmuş.
Bunları ayarlayınca excele veri alıp sıralanınca Türkçe karakterlerde doğru oluyor.Halil hocamızın sayesinde öğrenmiş olduk sağolsun.

rs.CursorLocation = 3'|<----bu satır eklenmeli
rs.Sort = "baslik"'
 
Bilgi olarak eklediğim dosyada alttaki sort da " bunlar yokmuş ve curcorlocation olanda yokmuş.
Bunları ayarlayınca excele veri alıp sıralanınca Türkçe karakterlerde doğru oluyor.Halil hocamızın sayesinde öğrenmiş olduk sağolsun.

rs.CursorLocation = 3'|<----bu satır eklenmeli
rs.Sort = "baslik"'

where field like 'i%'
where field like 'I%'
select field, lower(field), upper(field)

denediniz mi?

.
 
where field like 'i%'
where field like 'I%'
select field, lower(field), upper(field)

denediniz mi?

.
Yok hocam denemedim,Halil hocamızın kodları çalışmıştı.Sizin mesajı yeni gördüm deneyeceğim gün içerisinde.
 
Geri
Üst