• DİKKAT

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

ikinci kitabı kapatma hk.

Dosyaları manuel olarak açarsam yine adodaki gibi dosyayı yine açıyor fakat "con.close" da hataya düşüyor.


O satırı silmeniz gerekiyor, eski kodları modifiye ederken yanlışlıkla kalmış...

.
 
Sildim fakat yine sonuç aynı ,
Kapalı olduğunda hataya düşüyor.
manuel olarak dosyaları açarsam da açık kalıyor.
 
Dosyaları görmediğim için bir şey diyemeyeceğim ....

Kolay gelsin,

.
 
Exceli her açtığımda farklı uygulamada birbirinden bağımsız açması için kurmuştum
Geçen hafta İngilizce bir sayfada (bağlantıyı hatırlamıyorum) okuduğum kadarıyla bunun için registry içinde küçük bir ayar yeterli oluyor.

Açık olan bir dosya üzerinde ADO/DAO kullanmak ne kadar gerekli, o da ayrı bir konu...
 
Geçen hafta İngilizce bir sayfada (bağlantıyı hatırlamıyorum) okuduğum kadarıyla bunun için registry içinde küçük bir ayar yeterli oluyor.


Zeki Bey, bahsettiğiniz konu aşağıdaki linkte anlatılmış.... (2013 ve üzeri versiyonlar için)

Ama, her Excel oturumuna 2 GB RAM ayrıldığı için özellikle 32 Bit versiyonlarda klasik "Hafıza yetersiz" uyarısıyla karşılaşma olasılığının yüksek olduğu belirtiliyor.

https://support.microsoft.com/tr-tr...ce-excel-to-open-in-a-new-instance-by-default (Türkçe)

https://support.microsoft.com/en-ca...ce-excel-to-open-in-a-new-instance-by-default (İngilizce)

.
 
Son düzenleme:
Geçen hafta İngilizce bir sayfada (bağlantıyı hatırlamıyorum) okuduğum kadarıyla bunun için registry içinde küçük bir ayar yeterli oluyor.
easyfix dosyası da registry içerisinde değişiklik yapıyor hatta eskisini masaüstüne atıyor .Fakat geri yükleyince dosyaların bazılaı açılmıyor. Office onar seceğini kullanıp yeniden başlatınca düzeliyor. Eski haline geliyor.

Açık olan bir dosya üzerinde ADO/DAO kullanmak ne kadar gerekli, o da ayrı bir konu...
Aslında açmadan çekebilsem güzel olacak fakat dosya açılmadan ado veileri çekmiyor. Ado kullanmasam veri ve koşul çok işlem zaman alıyor
 
Son düzenleme:
Zeki Bey, bahsettiğiniz konu aşağıdaki linkte anlatılmış.... (2013 ve üzeri versiyonlar için)

Ama, her Excel oturumuna 2 GB RAM ayrıldığı için özellikle 32 Bit versiyonlarda klasik "Hafıza yetersiz" uyarısıyla karşılaşma olasılığının yüksek olduğu belirtiliyor.

https://support.microsoft.com/tr-tr...ce-excel-to-open-in-a-new-instance-by-default (Türkçe)

https://support.microsoft.com/en-ca...ce-excel-to-open-in-a-new-instance-by-default (İngilizce)

.
2010 verisyonu kullanıyorum işyerinde , easyfixden sonra dosyaların açılışında bir sıkıntı olmadı hatta birbirinden bağımsız çalıştığı için çok hoşuma gitti ve işime yaradı. Ancak dediğim gibi veri alacağım sayfaların salt okunur açılıp kapanmaması beni sıkıntıya soktu. Ne yaptımsa sonuç alamadım. Hatta görev yöneticisinden açık olan uygulamayı bulup kapatmayı bile denedim : sonuç exe sonlandığı için o da hüsran oldu.
 
Aklıma gelen bir ihtimal de ADO bağlantısını sadece 1 kereliğine açmak ve her seferinde RS=Nothing ile RecordSet nesnesini hafızadan boşaltmak ....

Aşağıdakini dener misiniz?

Kod:
Sub DETAYCEK_2()
    Dim Con As Object, Rs As Object, Sorgu As String
  
    dosya_yolu = Left(ThisWorkbook.Path, InStr(ThisWorkbook.Path, "\Kullanıcılar")) & "BABSDETAY.xls"
  
    If Dir(dosya_yolu) = Empty Then
        MsgBox dosya_yolu & " bulunamadı!"
        Exit Sub
    End If
  
    Set Con = CreateObject("Adodb.Connection")
    Set Rs = CreateObject("Adodb.RecordSet")

    babs = Cells(ActiveCell.Row, "A")
    If babs = "BA" Then babs = "A"
    If babs = "BS" Then babs = "B"

    vergino = Replace(Cells(ActiveCell.Row, "D") & Cells(ActiveCell.Row, "E"), " ", "")

    Set ERP = Sheets("DETAY")
    ERP.Cells.ClearContents
  
    Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
             dosya_yolu & ";extended properties=""excel 12.0;hdr=NO;IMEX=1"""
          
    Sorgu = "Select F10,F2,F8,F7,F12,F13,F14 from [Detay$] WHERE F1 = '" & _
            babs & "' AND F3 = '" & vergino & "' ORDER BY F10"
    Rs.Open Sorgu, Con, 1, 1
        ERP.Range("A2").CopyFromRecordset Rs
    Rs.Close
    Set Rs = Nothing
  
    dosya_yolu = Left(ThisWorkbook.Path, InStr(ThisWorkbook.Path, "\Kullanıcılar")) & "BABSDETAY-MAĞAZA.xls"
  
    Sorgu = "Select F6,F5,F2,F3&F4,F7,F8,F9 from [Detay$] WHERE  F1 = '" & vergino & "' ORDER BY F6"
    Rs.Open Sorgu, Con, 1, 1
        ERP.Range("A" & ERP.Cells(Rows.Count, 1).End(3).Row + 1).CopyFromRecordset Rs
    Rs.Close
    Set Rs = Nothing
  
    Con.Close
    Set Con = Nothing
    Sorgu = ""
  
    UserForm3.Show
End Sub

.
 
Yarın deneyeceğim Haluk bey İşyerimdeki pc olduğu için Teamwiveri kapatmıştım dün.
Teşekkür ederim , Olumlu olumsuz buradan paylaşacağım.
 
Günaydın,
Veri çekilecek Dosya (BABSDETAY.XLS) kapalı olduğu için sorguda hata meydana geldi. Bu arada veri çekilecek dosyayı açmaya çalıştığımda salt okunur hatası veriyor.
Çok garip bir durum sanırım bunu aşamayacağım. Eğer bir çözüm bulabilsem sırf ayrı çalışma için tüm dosyalardaki kodlarımı düzenlemeye razıyım :)
1548652717275.png
 
Geri
Üst