• DİKKAT

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

Kapalı dosyadan ado ile veri akışı

Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Forumun değerli üyeleri
Ekte sunduğum dosyada kapalı dosyadan "ExecuteExcel4Macro" yöntemi ile veri alımı yapabiliyorum.
Bu konu için sayın Korhan'a çok teşekkür ederim.
Ancak veri alış verişini ADO ile yapmak istiyorum.
İlgilenecek arkadaşlara şimdiden teşekkür ederim.
Saygılarımla
 

Ekli dosyalar

Son düzenleme:
Bu çalışmaya göz atmak istedim excel kitlendi kaydı alınacak ya da aktarılacak dosyalarda yok (veriler-veri tabanı adlı dosyalar hep açık) iptal kapatmıyor alt+F4 kapatmıyor . ????????
 
bu dosya excel kitledi bir türlü veriler ya da veri tabanında değişiklik yapmıyor.
 
sayın dilek 372
zipli dosyayı açın ve içindeki klasörü masa üstüne çıkarın
her iki dosya (veritabanı ve veriler dosyası) aynı klsaör içerisinde olmalıdır
ozaman kilitlenme olmaz
veritabanı dosyasının açık olması gerekmez
veriler dosyası tc alanına bir tc yazard-sanız veritabanı içerisinden arar ve ilgili bilgileri yanına sıralar
ilginiz için teşekkürler
 
Forumun değerli üyeleri ve Sayın dilek 372
Dosya konusunda görüşlerinizi yazmadınız.
saygılarımla
 
bu konuda benim yardımım olamaz üzgünüm diğer hocalarımıza bırakıyorum.Kolay gelsin
 
Sayın dilek 372
İlgine teşekkür ederim.
Konu hakkında bilgi sahibi olan diğer hocalarımızdan ilgi bekliyorum.
Saygılarımla
 
Forumun değerli üyeleri
Mesajı güncel tutmak için bu notu yazmak zorunda kaldım.
Konu ile ilgilenecek arkaşlardan özellikle Evren Gizlen hocamdan ve Haluk hocamdan ilgi bekliyorum.
Saygılarımla
 
Veritabanı olarak .xls kullanmanız şart mı? Sıkıntılı olur. Bir Access dosyası (.mdb) kullanmanızı öneririm.
 
Sayın Zeki Gürsoy Hocam
İlginize teşekkür ederim.
Programı çok çeşitli arkadaşlara dağıtıp onlardan veri anlamında sonuç almam gerektiğinden herkesin bilgisayarında access olması bazen mümkün olmayabiliyor. Ama yinede önerilere açığım excel de ADO ile çözüm varsa lütfederseniz sevinirim.
Saygılarımla
 
İçinde bir sürü kod var böyle işlere girmek istemem ama çok ısrar ettiniz.
Önceki kodların vt den veri alan kodları sşildim.ADO ile alır şekilde yaptım.
Kontrol edin alıyor verileri ama onun dışında fazladan bir şey silmiş olmayayım.
Dosyanız ektedir..cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim conn As ADODB.Connection, rs As ADODB.Recordset
Dim say As Integer
    On Error Resume Next
    If Intersect(Target, [D2:M65536]) Is Nothing Then Exit Sub
    If Target.Column = 13 And Target <> "" Then
        Set conn = New ADODB.Connection
        Set rs = New ADODB.Recordset
        conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & _
        "\VERİTABANI.xls;extended properties=""excel 8.0;hdr=yes"""
        rs.Open "select * from [VERİTABANI$] where T_C_KİMLİK_NO='" & CDbl(Target.Text) & "';", conn, adOpenKeyset, adLockReadOnly
        If rs.RecordCount > 0 Then
            rs.MoveFirst
            Cells(Target.Row, "L") = rs(11).Value
            Cells(Target.Row, "N") = rs(13).Value
            Cells(Target.Row, "O") = rs(14).Value
            Cells(Target.Row, "P") = rs(15).Value
            Cells(Target.Row, "Q") = rs(16).Value
            Cells(Target.Row, "R") = rs(17).Value
            say = say + 1
        End If
        rs.Close
        conn.Close
        Set rs = Nothing
        Set conn = Nothing
        GoTo Çık
    End If
 

Ekli dosyalar

Sayın Evren Gizlen
İlginiz için gerçekten çok teşekkür ederim.
Çalışmanız çok güzel olmuş elinize sağlık
Küçük bir eksiğim var onuda halletmek mümkün ise yapalım.
Önceki "ExecuteExcel4Macro" sisteminde
Eğer aradığımız T.C. Kimlik No VERİTABANINDA yoksa "Girdiğiniz T.C. VERİTABANINDA tabanında yoktur eklemek istermisiniz" diye soruyordu "EVET" dersek, VERİLER dosyasının Veriler sayfasının son boş satırına yazdığımız fakat veritabanında bulunmayan T.C. Kimlik No ve ilgili bilgileri kayıt etmek için veritabanı sayfasını açıp bulunamayan T.C. yide VERİTABANI dosyasının ilgili "M" sütununa kopyalayıp bekliyordu. "HAYIR" cevabı verirsek herhangi bir şey yapmasın makro sonlansın.
Bu özelliğide ilave edebilirsek çok güzel olacak
Diğer kodlar "D" ve "K" sütunları arasına yazılan girdiler ile ilgili matematiksel hesaplamalar yapmaktadır. Bilginize
Saygılarımla
 
Son düzenleme:
Sayın Evren Gizlen
İlginiz için gerçekten çok teşekkür ederim.
Çalışmanız çok güzel olmuş elinize sağlık
Küçük bir eksiğim var onuda halletmek mümkün ise yapalım.
Önceki "ExecuteExcel4Macro" sisteminde
Eğer aradığımız T.C. Kimlik No VERİTABANINDA yoksa "Girdiğiniz T.C. VERİTABANINDA tabanında yoktur eklemek istermisiniz" diye soruyordu "EVET" dersek, VERİLER dosyasının Veriler sayfasının son boş satırına yazdığımız fakat veritabanında bulunmayan T.C. Kimlik No ve ilgili bilgileri kayıt etmek için veritabanı sayfasını açıp bulunamayan T.C. yide VERİTABANI dosyasının ilgili "M" sütununa kopyalayıp bekliyordu. "HAYIR" cevabı verirsek herhangi bir şey yapmasın makro sonlansın.
Bu özelliğide ilave edebilirsek çok güzel olacak
Diğer kodlar "D" ve "K" sütunları arasına yazılan girdiler ile ilgili matematiksel hesaplamalar yapmaktadır. Bilginize
Saygılarımla

Dosyayı düzezenledim.
11 nolu mesajdan indirebilirsiniz.:cool:
 
Sayın Evren Gizlen
İlginiz için gerçekten çok teşekkür ederim.
Çalışmanız çok güzel olmuş elinize sağlık
Tam isteğim gibi olmuş
Ancak sormak istediğim bir konu var "T_C_KİMLİK_NO"
TC KİMLİK NO aralarına alt tire koymak zorunmdamıyız TC KİMLİK NO olarak tanımlarsam olurmu?
İkincisi ADO ile ExecuteExcel4Macro arasında veri alımında ne gibi fark vardır?

Programı diğer fonksiyonları ile tam olarak test edeceğim ondan sonra gerekirse affınıza sığınarak sizi tekrar rahatsız edebilirim.
Saygılarımla
 
Sayın Evren Gizlen
İlginiz için gerçekten çok teşekkür ederim.
Çalışmanız çok güzel olmuş elinize sağlık
Tam isteğim gibi olmuş
Ancak sormak istediğim bir konu var "T_C_KİMLİK_NO"
TC KİMLİK NO aralarına alt tire koymak zorunmdamıyız TC KİMLİK NO olarak tanımlarsam olurmu?
İkincisi ADO ile ExecuteExcel4Macro arasında veri alımında ne gibi fark vardır?

Programı diğer fonksiyonları ile tam olarak test edeceğim ondan sonra gerekirse affınıza sığınarak sizi tekrar rahatsız edebilirim.
Saygılarımla
Sanırım ADO bazı kuralları var.
Alan başlılklarıda bu kurallar içinde
Denedim ama öyle kabul etmedi.
Bu şekilde yapınca oldu.
Alan isimlerinde nokta boşluk falan kullanmamak lazım ado için.Türkçe karakterlered kullanmamk lazım.
Türkçe windowsta sorun çıkmaz belki ama ingilizce yüklü bir PC'de sorun çıkararır.:cool:
 
Geri
Üst