Aralarında benzerlik olanları bulma

Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba sayın yurttas.. :)

Hatalar sanırım sizdeki verilerin içerisinde null değerler olmasından kaynaklanıyordur. Bunu aşacak şekilde çalışmayı geliştirdim. Ayrıca sadece eşleşenleri formda göreblir ve de excel dosyası olarak kaydedebilirsiniz..

Mevcut şartları örnek olarak verdiğiniz verilere göre oluşturduğumdan olası şartlar konusunda neler yapabiliriz veya eşleşmesi gerekipte eşleşmeyen verilere bir kaç örnek verme şansınız olursa ilaveler yapıp sonuca ulaşmanızda yardımcı olmaya çalışırım..

Bu haliyle bi deneyin bakalım sonuç ne olacak.. 14000'lik listeyi tbl11, 400'lük veriyide tbl22 ye import edin.. Formdaki Geri Al Düğmesi işleme hazır hale getirir. Her yeni kayıttan sonra oluşacak hataları engellemek için Geri Al düğmesine mutlaka basın. Tabloları yeniden hazır hale getirmiş olursunuz..

Selamlar..
 

Ekli dosyalar

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Merhaba sayın yurttas.. :)

Hatalar sanırım sizdeki verilerin içerisinde null değerler olmasından kaynaklanıyordur. Bunu aşacak şekilde çalışmayı geliştirdim. Ayrıca sadece eşleşenleri formda göreblir ve de excel dosyası olarak kaydedebilirsiniz..

Mevcut şartları örnek olarak verdiğiniz verilere göre oluşturduğumdan olası şartlar konusunda neler yapabiliriz veya eşleşmesi gerekipte eşleşmeyen verilere bir kaç örnek verme şansınız olursa ilaveler yapıp sonuca ulaşmanızda yardımcı olmaya çalışırım..

Bu haliyle bi deneyin bakalım sonuç ne olacak.. 14000'lik listeyi tbl11, 400'lük veriyide tbl22 ye import edin.. Formdaki Geri Al Düğmesi işleme hazır hale getirir. Her yeni kayıttan sonra oluşacak hataları engellemek için Geri Al düğmesine mutlaka basın. Tabloları yeniden hazır hale getirmiş olursunuz..

Selamlar..

Sayın Taruz,

Günaydın,

İnceledikten sonra döneceğim.

Bu kez yanılmıyorsam, satırlar çok olduğu için çalışmama veya kilitlenme söz konusu olacak.

Bakalım umarım çalışır.

Tekrar teşekkür ederim.

.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sayın Taruz,

Evet. Tahmin ettiğim gibi. Tüm hafızayı yiyor. Ve program yanıt vermiyor. 14000 satırdan deneyerek aşağıya doğru 1000 satıra kadar düşürdüm. yine olmayınca sıkıldım bıraktım.

Benim aklıma parçalayarak yapmak gelmişti. 1000 satırda çalışsaydı. Tablo verilerini 14 kere değiştirerek bir sonuca ulaşılabilirdi. Ancak olmadı.

Yine de sizin aklınıza başka bir çözüm gelirse yaparsanız memnun olurum.

Size ve sayın modalı'ya zahmetler verdim.

İkinize de teşekkür ederim.


.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhabalar;
Sayın Yurttas, yukarıda yazılanlar aynen geçerli olmak üzere "trz" formundaki tüm kodları silip alttaki kodları ekleyip dener misiniz? Çok daha hızlandığını sanıyorum. Refreanslardan Ado yu ekleyiniz..

Kod:
Private Sub Komut10_Click()
Dim cnn As New ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = CurrentProject.Connection
cnn.Open

cnn.Execute "DELETE tbl1.ES FROM tbl1"
cnn.Execute "DELETE * FROM tbl2"
cnn.Execute "INSERT INTO tbl2 ( AD2 ) SELECT tbl22.AD22 FROM tbl22"
cnn.Execute "INSERT INTO tbl1 ( AD ) SELECT tbl11.AD11 FROM tbl11"

DoCmd.Requery
cnn.Close
Set cnn = Nothing
End Sub

Private Sub Komut13_Click()
DoCmd.OutputTo acQuery, "excel", "MicrosoftExcel(*.xls)", "", False, "", 0
End Sub

Private Sub Komut15_Click()
DoCmd.OpenForm "trz2"
End Sub

Private Sub Komut4_Click()
On Error Resume Next
Dim cnn As New ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = CurrentProject.Connection
cnn.Open
cnn.Execute "UPDATE tbl1, tbl2 SET tbl1.ES = tbl2.AD2 WHERE (((tbl1.AD)=[tbl2].[AD2]))"
cnn.Execute "UPDATE tbl1, tbl2 SET tbl1.ES = tbl2.AD2 WHERE (((Right([AD],Len([AD])-InStr(1,[AD],"" "")-2))=Right([tbl2].[AD2],Len([tbl2].[AD2])-InStr(1,[tbl2].[AD2],"" "")-2)))"
cnn.Execute "UPDATE tbl1, tbl2 SET tbl1.ES = tbl2.AD2 WHERE (((Right([AD],Len([AD])-InStr(1,[AD],"" "")))=Left([tbl2].[AD2],InStr(1,[tbl2].[AD2],"" ""))))"
cnn.Execute "UPDATE tbl1, tbl2 SET tbl1.ES = tbl2.AD2 WHERE (((Right([AD2],Len([AD2])-InStr(1,[AD2],"" "")))=Left([tbl1].[AD],InStr(1,[tbl1].[AD],"" ""))))"
cnn.Execute "UPDATE tbl1, tbl2 SET tbl1.ES = tbl2.AD2 WHERE (((Left(Right([AD],Len([AD])-InStr(1,[AD],"" "")),4))=Left(Right([tbl2].[AD2],Len([tbl2].[ad2])-InStr(1,[tbl2].[AD2],"" "")),4)))"
cnn.Execute "DELETE tbl2.AD2 FROM tbl2 WHERE (((tbl2.AD2) In (select ([ES]) from tbl1)))"

DoCmd.Requery
cnn.Close
Set cnn = Nothing

End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sayın beab05,

İlgilendiğiniz için teşekkür ederim.

Deneyeceğim. Yalnız kafama bir soru takıldı. Bilgisayarımda admin yetkisine sahip değilim. Bu kodlar çalışır mı? Gerçi deneyeceğim ama...

.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın modalı,
hafızanız mükemmel gerçekten de şu an vaktim yok hızlıca baktım ve bana iki yıl önce yaptığınız örnekten bahsetmişiniz ki konu başlığı aynen onu çağrıştırmıştı bende örneği bulup ekleyebilirim umarım
kolay gelsin herkese slm.
 
Üst