excelden belli koşulda veri alma
#1
merhaba sayın arkadaşlarım. Öncelikle burada bilgi vermek için emeği geçenler olmak üzere tüm herkese saygılarımı sunarım.
Bir çalışmaya başlayacakken örnek çalışmada uygulamaya çalıştığım ancak başaramadığım konu ile ilgili olarak
1. kişi ve yer olmak üzere iki tablom var ve bu tabloları ilişkilendirdim
2. kişi tablosunda kişiler kaydedildi, yer tabolsu henüz boş
3. şimdi excelden veri amlak istiyorum ancak; (bunu normalde tek tabloya alırken sorun olmuyor)

a. exceldeki verilerden sadece yer bilgilerini tc numarası eşleşmesine (kişi tablosundaki tc numarası, adı soyadı gibi bilgiler zaten kişi tablomda kayıtlı) göre yer tablosuna nasıl alacağım

b. bu excel sayfasından ileride sürekli veri alacağım ve yer bilgileri bazı kıstasları aynı olabileceği gibi tamamen farklı da olabilecektir

c. en önemlisi de daha öce hiç (kişi tablosunda ve yer tablosunda) bulunmayan bir kayıt olduğu zaman sadece kişi bilgilerini kişi tablosuna yer bilgilerini de yer tablosuna nasıl alacağım

böyle birşey yapılabilir mi

sürekli bu ve benzer konularda takılıyorum mantığını da anlatarak yardımcı olursanız çok sevinirim. şimdiden teşekkürler

bu arada; sonraki seferlerde verileri alırken yeni eklenenlerin yanısıra eski verilerin aynısı da duruyor olacak yani birebir eşleşenleri almak istemiyorum, sadece değişen yeni veriler alınacak.


Eklenti Dosyaları
.rar   calisma.rar (Boyut: 46,5 KB / İndirilme: 67)



  Alıntı
Bu mesajı beğenenler:
#2
Sayın Ozan, yapmak istediğinizi eksik anlamış olabilirim. Excel sayfasını dış veri al kısmından accesse bağladım. Bu sayfaya ait form oluşturdum. Excelden veri girdiğinizde bu formdan görüyorsunuz ancak anladığım kadarıyla veri girişi accessten yapılmıyor. Bilgim dahilinde yardımcı olmaya çalıştım. Farklı çözüm önerileri mutlaka gelecektir. Kolay gelsin.


Eklenti Dosyaları
.rar   calismaEminA.rar (Boyut: 52,26 KB / İndirilme: 85)



  Alıntı
Bu mesajı beğenenler:
#3
(12-10-2017, 22:45)EminA demiş ki: Sayın Ozan, yapmak istediğinizi eksik anlamış olabilirim. Excel sayfasını dış veri al kısmından accesse bağladım. Bu sayfaya ait form oluşturdum. Excelden veri girdiğinizde bu formdan görüyorsunuz ancak anladığım kadarıyla veri girişi accessten yapılmıyor. Bilgim dahilinde yardımcı olmaya çalıştım. Farklı çözüm önerileri mutlaka gelecektir. Kolay gelsin.



sayın EminA ilginiz ve emeginiz için teşekkür ederim lakin ben sorunumu net anlatamamış olabilirim

evet verileri access den girmeyeceğim dışarıdan excel sayfasıdan alacağım ( tek tabloya alırken tablo sağ tıkla al..excel...kayıtlı tabloya al şeklinde sorunsuz alıyorum) benim istediğim buna benzer olarak al... dediğimde kisi tablosundaki x tc numaralı kişinin alt kaydı olarak yerler tablosuna almak

sizin yapmış olduğunuzda 1 tc numaralı kişinin yine 5 kayıt olmuş ben se 1 tc numaralı kişinin alt veri sayfasında tüm yer kayıtlarını görmek ve alırken de bu şekilde almak istiyorum yani kisi formuna girdiğimde 1 tc numaralı bir kişi olacak ve veri sayfasında bu kişiye ait tüm yer bilgilerini görmek (ve alırken buna uygun exce den veri çekmek) istiyorum.

bu mümkün mü acaba
teşekkürler



  Alıntı
Bu mesajı beğenenler:
#4
form uzerinde Yukle butonu olusturun,excel dosyasi(kisiler.xlsx) ayni ad-yapi ile uygulama klasorune tasiyin.

Visual Basic
  1. Private Sub Yukle_Click()
  2. Dim VT As Database, Tbl As TableDef, VarYok As Integer
  3. Set VT = CurrentDb
  4. For Each Tbl In VT.TableDefs
  5. If Tbl.Name = "ExcelDosyasi" Then VarYok = -1 Else VarYok = 0
  6. Next Tbl
  7. If VarYok = 0 Then
  8. '*******kisiler.xlsx Excel dosyasini VT'na alir ******************
  9. DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ExcelDosyasi", CurrentProject.Path & "\kisiler.xlsx", True
  10. End If
  11.  
  12. '*******kisiler tablosuna, excel dosyasinda(kisiler.xlsx) olup, tabloda olmayan kayitlari YUKLER**************
  13. CurrentDb.Execute "INSERT INTO kisiler ( tcno, [adi soyadi], dogumtarihi ) " & _
  14. "SELECT ExcelDosyasi.tcno, ExcelDosyasi.[adi soyadi], ExcelDosyasi.dogumtarihi " & _
  15. "FROM ExcelDosyasi LEFT JOIN kisiler ON ExcelDosyasi.tcno = kisiler.tcno WHERE (((kisiler.tcno) Is Null)) " & _
  16. "GROUP BY ExcelDosyasi.tcno, ExcelDosyasi.[adi soyadi], ExcelDosyasi.dogumtarihi"
  17. '*******yerler tablosuna, excel dosyasinda(kisiler.xlsx) olup, tabloda olmayan kayitlari YUKLER**************
  18. CurrentDb.Execute "INSERT INTO yerler ( tcnu, ili, ilcesi, konu, tarih, sonuc, yersayi ) " & _
  19. "SELECT ExcelDosyasi.tcno, ExcelDosyasi.ili, ExcelDosyasi.ilcesi, ExcelDosyasi.konu, ExcelDosyasi.tarih, ExcelDosyasi.sonuc, kisiler.kisino " & _
  20. "FROM (kisiler INNER JOIN ExcelDosyasi ON kisiler.tcno = ExcelDosyasi.tcno) LEFT JOIN yerler ON ExcelDosyasi.tcno = yerler.tcnu " & _
  21. "WHERE (((yerler.tcnu) Is Null))"
  22. '******VT alinan tabloyu siler.**********************************
  23. DoCmd.DeleteObject acTable, "ExcelDosyasi"
  24. '******Eklenen kayitlarin form uzerinde gorulmesini saglar***********
  25. Me.Requery
  26. Me.yerformu.Form.Requery
  27. End Sub



proseduru ile yapilabilir.

Kisiler tablosu yukleme esnasinda onceden yuklu kisilerin haricindeki(tcnu) kayitlari yukler.

Yerler tablosunu ise kisiler tablosunda tc numarasi kayitli olani excel dosyasinda kaydi olup,yerler tablosunda olmayanlari yukler.



  Alıntı
Bu mesajı beğenenler:
#5
dsezgin hocam ilginiz için çok teşekkürler

kayıtları aldı ancak sorun var şu şekilde

1. tcnu 1 olan 5 kayıt oluşturmuş (garip şekilde kişi tablosuna eklememiş ancak kişi tablosuna bağlı kisiformunda ilerleyince 5 tane tcnu=1 olan kişi görülüyor)

2. alt form (veri sayfası olarak alınan) da tcnu=1 olan kişiye 5 kayıt eklemesi gerekirken 25 kayıt eklemiş ve o şekilde görünüyor (resim ektedir)

bir şekilde tc ye göre eşleyip tcnu=1 olan kişinin 5 yer kaydını kisi tablosuna(tabloda kimlik bilgisi olarak zaten tcnu=1 kişisi var) eklemeden yer tablosuna eklemesi gerekiyor

çok oluyorum kusura kalmayın ama

3. excel e access tablomuzda hiç kayıtlı olmayan yeni kişi ve yer eklediğimizde buna göre tekrardan aktarım
yapabilecekmiyiz
teşekkürler...saygılar


Eklenti Dosyaları
.rar   calisma1.rar (Boyut: 55,58 KB / İndirilme: 64)
.png   resim1.png (Boyut: 59,37 KB / İndirilme: 56)



  Alıntı
Bu mesajı beğenenler:
#6

.rar   calisma.rar (Boyut: 38,25 KB / İndirilme: 96) Bu orneginizi deneyin



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Yaklaşan Tarihte Uyarı Alma xosmaner 3 349 14-11-2025, 21:53
Son Mesaj: özgülapt
  Alt Rapordaki Sayfa Toplamını Alma tekinuy 6 418 08-10-2025, 22:26
Son Mesaj: tekinuy
  [SORGU] Soldan 3 Değere Göre Toplam Alma karacahil 2 347 14-05-2025, 17:03
Son Mesaj: karacahil
access-sql-20 [TABLO] Liste Kutusu-çoklu Seçim özellikli Alana Excelden Verileri Yapıştırma mkoblayek 18 1.057 18-02-2025, 08:49
Son Mesaj: mkoblayek
  [RAPOR] Raporda Hyperlink çıktı Alma ulsogr 4 380 09-01-2025, 10:08
Son Mesaj: ulsogr
access-sql-9 [TABLO] Tablodan Rapor Alma vefa1982 11 604 28-10-2024, 01:53
Son Mesaj: dsezgin
  Sorguda Tarihler Arası Veri Alma metınaycıcek 8 641 18-07-2024, 14:28
Son Mesaj: metınaycıcek
  Sürekli Formda Alt Toplam Alma ates2014 2 359 10-07-2024, 09:33
Son Mesaj: ates2014

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi