Arşive Gönderme

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Referans eklenmemiş görünüyor bende. Referansı "Browse" ile .ocx dosyasını seçerek ekleyin.
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın Zeki Gürsoy. Projeme ocx dosyasını ekledim ve referanslardan bakınca artık "microsoft comman dialog control 6.0" yerini aldı. Burayı atlamışım. Ben ocx dosyasını windows'a tanıtmıştım. Buradan ayrıca tanıtmam gerektiğini bilmiyordum. Neyse onu hallettim fakat bu kez de Runtime error "429" Activex component can't create object hata uyarısı alıyorum. Debug tuşuna bastığımda da with dlg' nin sarı renkte seçili olduğunu görüyorum. Acaba benim ocx dosyası çok eski bir sürüm olabilir mi? Sizin ocx dosyasını bana gönderir misiniz? Bendeni internetten indirdiğim bir dosya. Belki sürüm veya dil farkı olabilir.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Umarım olur.. "Strfilter" leri tanımlamayı unutmayınız ;)
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Nasıl yani. Dim olarak tanımlamak yetmiyor mu? Ayrıca başka birşey yapmam gerekiyorsa bilmiyorum.
Dim strfilter As String
satırını
Dim dlg As New CommonDialog

satırının altına yapıştırdım. Ama istersen public değişkeni olarak tanımlayayım.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Public te olur private de olur. Değişken ismini fazlaca ve aynı türde kullanıyorsanız public yapabilirsiniz..
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sadece command21 click yordamında tanımlanması yeterliyse sorun yok. Ama ben zaten neyin yeterli neyin yetersiz olduğunu anlamadım ki.. :)) Sevgili beab05. Senden gelen dosyayı system32 altına attım. -Tabii diğerini silerek - Önce kullanıldığını söyledi silmedi. Benim çalışmamı kapatınca sildi. Demek ki projem bu ocx dosyasını kullanabiliyor. Fakat senden geleni de atmama rağmen -tabii yeniden referans olarak tanıttım- yine de bu

With dlg

satırında kalıyor. Çıldırmak üzereyim. Sizde sorunsuz çalışıyor mu? Son halini göndereyim de bir bakın ne olur.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
System32 altında olmayan (diğer aynı ocx'i) unregister yapın.

Uzun API yapısı yerine bu kadar pratik yolunu yalnız sizin kullanamamanız üzücü bir durum sayın Demiral.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bu iş neden bu kadar karıştı anlayamadım:

Kod:
Dim fileName As String
    Dim result As Integer
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Veritabanı Seç"
        .Filters.Add "Bütün dosya türleri", "*.*"
        .Filters.Add "JPEGs", "*.jpg"
        .Filters.Add "Access Dosyaları", "*.mdb"
        .Filters.Add "Excel Dosyaları", "*.xls"
        .FilterIndex = 4
        .AllowMultiSelect = False
        .InitialFileName = "C:\"
        result = .Show
        If (result <> 0) Then
            fileName = Trim(.SelectedItems.Item(1))
        End If
    End With
i&#351;inizi g&#246;r&#252;r san&#305;r&#305;m.

&#304;yi &#231;al&#305;&#351;malar
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Do&#287;ru. Kaydet diyalo&#287;unu da bu &#351;ekilde &#231;a&#287;&#305;ral&#305;m.

Kod:
Sub Files_Save_Dialog()
Dim f As FileDialog

Set f = Application.FileDialog(msoFileDialogSaveAs)

If Not f.Show = -1 Then Exit Sub

    MsgBox f.SelectedItems(1) & ".mdb"
   
End Sub
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Say&#305;n mOdal&#305;'n&#305;n y&#246;ntemiyle gayet g&#252;zel verilere ula&#351;t&#305;m. Browser &#252;zerinden mdb dosyam&#305; g&#246;sterdim. Hatta problem olmas&#305;n diye dosyan&#305;n i&#231;indeki tablonun ad&#305;n&#305; da tblAl&#305;nanVeriler yapt&#305;m. Fakat veriler benim programdaki tblAl&#305;nanVeriler isimli tablonun i&#231;ine gelmedi. Bakt&#305;&#287;&#305;mda tablomun i&#231;i bo&#351;..
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Say&#305;n Zeki G&#252;rsoy

Sub Files_Save_Dialog()
Dim f As FileDialog

Set f = Application.FileDialog(msoFileDialogSaveAs)

If Not f.Show = -1 Then Exit Sub

MsgBox f.SelectedItems(1) & ".mdb"

End Sub

kodlar&#305;n&#305; mdb olarak ar&#351;ive g&#246;nderme tu&#351;uma uyarlad&#305;m. Fakat mesela c: anadizine mehmet ad&#305;yla bir dosya kaydetmek istedi&#287;imde bana bir msgbox &#231;&#305;karak i&#231;inde sadece c:\mehmet.mdb yaz&#305;yor. Ve dosyay&#305; kaydetmiyor.
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Say&#305;n Modal&#305;.. Sizin dosya &#231;a&#287;&#305;rma kodlar&#305;n&#305;zda dosyan&#305;n benim projem i&#231;erisindeki tblal&#305;nanveriler tablosuna yerle&#351;mesi nas&#305;l sa&#287;lanacak. Yoksa tblal&#305;nanveriler tablosu bu i&#351;lem &#246;ncesi silinecek, sonra da ar&#351;ivden gelen tablo mu yerine ge&#231;ecek. Kodlar&#305; inceledi&#287;imde proje i&#231;erisindeki tabloya verilerin yerle&#351;mesini sa&#287;layacak herhangi bir komut g&#246;remedim.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın mehmetdemiral,

Elbette gelmez çünkü kodlar eksik. Şimdi size bir örnek gönderiyorum. Onu inceleyerek istediğinizi yapabileceksiniz.

Ancak DAO kullanmışım. ADO ya çevirmek isterseniz yeni kodları ekleyebilirim.

İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Te&#351;ekk&#252;r ederim say&#305;n Modal&#305; ama dolu olan i&#231;in g&#246;nderdi&#287;iniz &#246;rnekte hi&#231; kod yok. Yani d&#252;&#287;meler i&#231;in kod yaz&#305;lmam&#305;&#351;. Bo&#351; olan&#305; da ben hi&#231; anlamad&#305;m nas&#305;l kullanaca&#287;&#305;m&#305;... :))) Siz &#351;unu benim &#246;rnek &#252;zerinde uygulasan&#305;z. M&#252;mk&#252;n m&#252;?.. Daha txt olarak dosya adlar&#305; verilerine g&#246;re d&#305;&#351;ar&#305;ya verme i&#351;imiz de var ki, o beni hep korkutuyor. Bu i&#351;lemin daha basit oldu&#287;unu d&#252;&#351;&#252;nm&#252;&#351;t&#252;m, b&#252;t&#252;n g&#252;n&#252;m evden hi&#231; &#231;&#305;kmadan bu i&#351;e gitti yine de hi&#231; ilerleyemedim. En iyisi siz benim dosyama bir el atsan&#305;z..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın mehmetdemiral,

Boş olan veritabanını açıyorsunuz, gözat a tıklayıp açılan dialog penceresinden dolu mdb yi seçiyorsunuz. adı metin kutusuna geliyor. Veri ala tıklıyorsunuz, doludagi veriler boş veritabanının tablosuna kaydediliyorlar.

Ben size dünde söyledim bu iş adım adım olacak. Her adımı soracaksınız cevabını alıp kendi uygulamanıza uyarlayacaksınız.

Şimdi, tam olarak bu adımda ne yapılacak? Başka bir veritabanından verileri bizim tabloya çağıracaksak elimizde basit iki uygulama olmalı. (Sanırım tablo adları ve alan adları aynı.) Bu adım başarılıdıktan sonra, ana uygulamaya uyarlanacak. Sonraki adım için yine basit bir uygulama eklenecek bu uygulama çalıştıktan sonra ana uygulamaya uyarlanacak vs. Yani küçük küçük adım atılacak ki aklımız karışmasın. Siz tabi uygulamanızı bildiğiniz için çalışma düzenini bildiğiniz için daha kolay takip edebiliyorsunuz.

İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Say&#305;n Modal&#305;.. Anlad&#305;m &#351;imdi nas&#305;l &#231;al&#305;&#351;t&#305;&#287;&#305;n&#305;. Ben &#246;rnek dosya de&#287;il de, bo&#351; tablo olu&#351;turma ve dolu tablodan veri alma gibi d&#252;&#351;&#252;nd&#252;m. T&#305;pk&#305; s&#246;yledi&#287;iniz gibi, ben a&#287;r&#305; yapan noktalar&#305;m&#305; iyi bildi&#287;im i&#231;in sizin de ayn&#305; a&#287;r&#305;y&#305; g&#246;rmenizi bekliyorum. &#214;z&#252;r dilerim.. Ger&#231;ekten de kendi olu&#351;turdu&#287;um bir yap&#305;y&#305; sizin "&#351;ak" diye anlaman&#305;z&#305; beklemek biraz haks&#305;zl&#305;k oluyor ger&#231;ekten de... Yard&#305;mlar&#305;n&#305;za &#231;ok te&#351;ekk&#252;rler...

Bu arada bir&#351;ey sormak istiyorum. Sizin &#246;rnek uygulaman&#305;zdan ald&#305;&#287;&#305;m txt dosyalar&#305;n&#305; alma i&#231;in kulland&#305;&#287;&#305;m verial formunda bir de "kaynak" ad&#305;nda bir dosya olu&#351;turan komut d&#252;&#287;mesi vard&#305;. Ben o d&#252;&#287;meyi kullanamad&#305;m. O y&#252;zden kald&#305;rd&#305;m. Acaba o d&#252;&#287;me dosyalar&#305; tekrar "kaynak" isimli dosyaya txt uzant&#305;s&#305;yla ve formata uygun olarak kaydetmek i&#231;in mi d&#252;&#351;&#252;n&#252;lm&#252;&#351;t&#252;? Ben hep i&#231;i bo&#351; veriler olu&#351;turdu&#287;u ve sonraki &#231;a&#287;&#305;rmada "kaynak" isimli dosyay&#305; buldu&#287;u ve bir daha dosya yerini sormad&#305;&#287;&#305; i&#231;in kullanmad&#305;m. &#350;imdi d&#252;&#351;&#252;n&#252;yorum da b&#246;yle bir yol mu vard&#305; form &#252;zerinde?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın mehmetdemiral,

O uygulamada tekrar txt dosyasına kaydedilmiyordu, hatırladığım kadarıyla. Ama kayıt işlemini fazla düşünmeyin, o da çok kolay. Nasıl olacağını söyleyeyim:

Sanırım kayıtların bir limiti var 13000 gibi. Şimdi geçici bir tablo oluşturuyoruz ondan sonra asıl tablomuzdaki verileri alıp istediğimiz gibi birleştiriyor ve tek alanlık geçici tabloya kaydediyoruz. Ondan sonra bu kayıtları teker teker alıp, txt dosyasına satır satır kaydediyoruz.

txt dosyasına, word dosyasına kayıt eklediğim için gayet rahatım bu konuda.

İyi çalışmalar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın mehmetdemiral,

Var olan txt dosyasına kayıt eklemek:

Kod:
Function WriteLineToFile
   Const okuma = 1, yazma = 2, ekleme = 8
   Dim fso, f
   Dim rst As New Recordset
 
   path = CurrentProject.path
   name = path & "\kaynak.txt"   
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile(kaynak, ForWriting, True)
 
 
   rst.Open "geçicitabloadı", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
 
   Do While Not rst.EOF
   f.WriteLine rst 
   rst.MoveNext
   Loop
 
  rst.Close
  f.Close
  Set rst = Nothing
  Set f = Nothing
End Function
Kodla yeni bir txt belgesi oluşturma:


Kod:
Sub CreateAfile
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
End Sub
İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Ok.. Sevindim. Az önceki dış veri alma ile ilgili örneğinizi çalıştırıp benim projeme eklemek istedim. Benim veri alma formuma Gözat ve alma butonu ile metin kutusu ekledim. Koddaki metin kutusunun adını da düzelttim. Herşey normal olarak işledi. Fakat metin kutusuna gelen dosya adının verilerini almak istediğimde veri al komutunu çalıştıran düğmem hata verdi.
Düğme zaten tek bir komut çalıştırıyor. O da

Call DataValid

komutu. Resim ekledim. Orda daha iyi anlaşılır.
 
Üst