AccessTr.neT
Excelden Veri Alma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Örnekleri ve Uygulamaları (https://accesstr.net/forum-access-ornekleri-ve-uygulamalari.html)
+--- Konu Başlığı: Excelden Veri Alma (/konu-excelden-veri-alma--86523.html)

Sayfalar: 1 2 3 4 5 6 7 8 9


Cvp: Excelden Veri Alma - berduş - 08/02/2020

Ortaklaşa oldu sayılır)


Cvp: Excelden Veri Alma - berduş - 08/02/2020

Bu son hali :
1 - Accesste Olmayan veriyi Alma/ Değişeni Güncelleme
2 - Sadece değişeni güncelleme
3 - Sadece olmayı ekleme
4 -
(07/02/2020, 22:28)feraz yazdı: Bu arada güncellenmek için bağlanılan Excel açık olursa program donuyor yani Excel kapalı olmalı galiba.
bağlı tablolarda eğer ilişkili Excel dosyası açıksa dosya kilitleniyordu bu dosyada dosyanın geçici kopyası oluşturularak sorun giderildi BasZmn satırının altına eklenecek kod: Geçici Dosya oluşturma
BasZmn = Now '<--zaten var alttakiler eklenecek
    Dim fDialog As Office.FileDialog

    Set FSO = CreateObject("Scripting.FileSystemObject") 'E?er Excel dosyas? a??ksa ba?l
    Source = KynkDos
    KynkDos = CurrentProject.Path & "\Sil_Tmp_hy" & Mid(KynkDos, InStrRev(KynkDos, "."))
    FSO.CopyFile Source, KynkDos, True
Geçici dosyayı silme:
    Kill KynkDos
BitZmn = Now  '<--zaten var üsteki kod tek eklenecek



Cvp: Excelden Veri Alma - feraz - 08/02/2020

(08/02/2020, 16:02)berduş yazdı: Bu son hali :
1 - Accesste Olmayan veriyi Alma/ Değişeni Güncelleme
2 - Sadece değişeni güncelleme
3 - Sadece olmayı ekleme
4 - bağlı tablolarda eğer ilişkili Excel dosyası açıksa dosya kilitleniyordu bu dosyada dosyanın geçici kopyası oluşturularak sorun giderildi BasZmn satırının altına eklenecek kod: Geçici Dosya oluşturma
BasZmn = Now '<--zaten var alttakiler eklenecek
    Dim fDialog As Office.FileDialog

    Set FSO = CreateObject("Scripting.FileSystemObject") 'E?er Excel dosyas? a??ksa ba?l
    Source = KynkDos
    KynkDos = CurrentProject.Path & "\Sil_Tmp_hy" & Mid(KynkDos, InStrRev(KynkDos, "."))
    FSO.CopyFile Source, KynkDos, True
Geçici dosyayı silme:
    Kill KynkDos
BitZmn = Now  '<--zaten var üsteki kod tek eklenecek
Alttakinde amaç nedir?

KynkDos = CurrentProject.Path & "\Sil_Tmp_hy" & Mid(KynkDos, InStrRev(KynkDos, "."))


Cvp: Excelden Veri Alma - berduş - 08/02/2020

(08/02/2020, 16:11)feraz yazdı: KynkDos = CurrentProject.Path & "\Sil_Tmp_hy" & Mid(KynkDos, InStrRev(KynkDos, "."))
amaç dosyanın kopyalanacağı yeri ve dosya adını belirlemek

(08/02/2020, 15:53)feraz yazdı: Birde Altforum(Bilgiler Formu) bunun adı nedir
tesisler


Cvp: Excelden Veri Alma - berduş - 08/02/2020

güncelleme kodunu aşağıdaki gibi değiştirip dener misiniz?
    Guncelle = " UPDATE TmpTablo INNER JOIN Bilgiler ON TmpTablo.Kod = Bilgiler.Kod  " & _
              " SET " & _
              " Bilgiler.Ad = [TmpTablo]![Ad]," & _
              " Bilgiler.Soyad = [TmpTablo]![Soyad]," & _
              " Bilgiler.Yas = [TmpTablo]![Yas]," & _
              " Bilgiler.Tarih = [TmpTablo]![Tarih] " & _
              " WHERE TmpTablo.Kod In ( " & _
              " SELECT Bilgiler.Kod  FROM TmpTablo INNER JOIN Bilgiler ON TmpTablo.Kod = Bilgiler.Kod  " & _
              " WHERE nz([Bilgiler]![Ad] & [Bilgiler]![Soyad] & [Bilgiler]![Yas] & [Bilgiler]![Tarih],'') <> " & _
              " nz([TmpTablo]![Ad] & [TmpTablo]![Soyad] & [TmpTablo]![Yas] & [TmpTablo]![Tarih],''))"
[Resim: do.php?img=9553]


Cvp: Excelden Veri Alma - feraz - 08/02/2020

Kod:
.Filters.Add "All Files", "*.*"
.Filters.Add "Excel Dosyalar", "*.xl*"
.FilterIndex = 2



Alttaki yerine üstteki gibi olursa kodlar sadece daha kullanışlı olur abey.



Kod:
.Filters.Add "All Files", "*.*"
.Filters.Add "Excel 2003", "*.xls"
.Filters.Add "Excel 2007", "*.xlsx"