Excelden Veri Alma

1 2 3 4 5 6 7 8 9
08/02/2020, 14:21

berduş

Ortaklaşa oldu sayılır)
08/02/2020, 16:02

berduş

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
08/02/2020, 16:11

feraz

(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, "."))
08/02/2020, 16:15

berduş

(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
08/02/2020, 17:19

berduş

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],''))"

08/02/2020, 19:37

feraz

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"
1 2 3 4 5 6 7 8 9