Türkçe Excel Destek ve Bilgi Paylaşım Platformu     

Oturum Aç |  Kayıt Ol

Yeni konu gönder Konuya cevap yaz  [ 1 ileti ] 

24 Kas 2009, 17:06

Çevrimdışı
 Yeni MDB dosyası oluşturmak...
Süper Moderatör
Kullanıcı avatarı
Kayıt: 03 Eyl 2009, 04:10
İleti: 27


Merhaba;

VBA'de ADO konusunda yeterli değilimdir ama kendi çapımdaki uğraşılarımı buraya aktarmaya devam etmek istedim.

Daha önce, aşağıdaki linkte yer alan kodlarla mevcut C:\TestDB.mdb dosyasına Excel'den erişim yapmış ve kayıtların görüntülenmesi, eklenmesi, silinmesi ve güncellenmesi gibi işlerin nasıl yapılabileceğine bakmıştık.

O mesajda vurgulamaya çalıştığım önemli bir konu; bu işlerin yapılabilmesi için bilgisayarda MS Access programının yüklü olmasının gerekli olmadığı idi. Yani, söz konusu C:\TestDB.mdb dosyasını bilgisayara yerleştirdikten sonra, üzerinde işlem yapabileciğimizden bahsetmiştik.

Bu aşamada, şöyle bir soru akla gelebilir.......

"Yaw, bu kadar geyik yapıyon ama ..... bilgisayarımda Access yoksa ve ben verilerimi bir *.mdb dosyasında saklamak ve/veya veriler üzerinde Excel ile işlem yapmak istiyorsam o zaman ne yapıcam ? "

Bu durumda yapılabilecek 2 şey var.

Tahmin ettiğiniz gibi birincisi; MS Access yüklü bir makinada hemen ihtiyaca göre bir *.mdb dosyasını, gerekli tablo ve alanları ile hazırlamak ve sonra daha önceki kodlar veya benzerleri ile işe devam etmek.

Bir diğer yol da, yine Excel VBA ile sözkonusu *.mdb dosyasını, gerekli tablo ve alanları ile hazırlamak ve sonra daha önceki kodlar veya benzerleri ile işe devam etmektir.

Aşağıdaki kodlarla;

1) Bilgisayarda C:\TestDB.mdb adında yeni bir veri tabanı dosyası oluşturulmakta,
2) Bu dosyada MyTable2 adında bir tablo oluşturulmakta,
3) Bu tabloya da, İsim, Soyad, Tel alanları ilave edilmektedir.

Bahsetmiş olduğum kodlar aşağıdadır;

[html]Sub Test()
Dim DatabasePath As String
Dim Cat As Object
Dim NewTable As Object

DatabasePath = "C:\TestDB2.mdb"
Set Cat = CreateObject("ADOX.Catalog")
Cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabasePath

Set NewTable = CreateObject("ADOX.Table")

With NewTable
.Name = "MyTable2"
.Columns.Append "İsim"
.Columns.Append "Soyad"
.Columns.Append "Tel"
End With

Cat.Tables.Append NewTable
End Sub[/html]


Yukarıdaki kodları çalıştırdıktan sonra, oluşturulan yeni veri tabanı C:\TestDB2.mdb olarak bilgisayarınızda yer alacaktır.

Bu dosyanın çalışıp, çalışmadığını ise yine daha önceki mesajımızdaki kodlarla deneyebilirsiniz. (Benim PC'de de MS Access olamdığı için, ben de öyle yapıyorum...)

O linkte yer alan dosyadaki kodlarda aşağıdaki ufak değişiklikleri yaparak;

TestDB.mdb yerine TestDB2.mdb
MyTable yerine MyTable2

bu kez, şimdi yeni oluşturduğumuz C:\TestDB2.mdb dosyasına erişim sağlayıp, yeni kayıtlar ilave edip daha sonra da görüntüleme, silme, güncelleme gibi işleri yapabiliriz.

Dikkat ederseniz, bu yeni oluşturulan dosyayı daha önceki kodlarla erişim sağlamakta kolaylık olması açısından tablodaki alan adlarını değiştirmeden aynısını kullandık (İsim, Soyad, Tel). Eğer istenirse tabii ki istediğimiz gibi yeni alan adları da verebilirdik. O zaman da, dosyaya erişimi sağlarken bu yeni alan adlarını kullanırdık.

Evet, hala sıkılmadan bu satırı da okuyarsanız umarım ilginizi çekmiştir ve Excel' de biraz daha değişik konularla uğraşmak hoşunuza gider. Veya, bu konuları siz daha iyi biliyor olabilirsiniz. O zaman da, yorumlarınızı yaparsınız.

Kolay gelsin...


Başa Dön Sayfa başı
 Profile bak  
 
Önceki iletileri göster:  Sıralama  
Yeni konu gönder Konuya cevap yaz  [ 1 ileti ] 

Tüm zamanlar UTC + 2 saat [ DST ]


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir


Bu forumda yeni konular açamazsınız
Bu forumda konulara cevap yazamazsınız
Bu forumda kendi iletilerinizi değiştiremezsiniz
Bu forumda kendi iletilerinizi silemezsiniz
Bu forumda dosya ekleyemezsiniz


Git:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB3 Türkçe: phpBB Türkiye
phpBB SEO

XHTML 1.0 Standartlarina Uygundur!  CSS 2.1 Standartlarina Uygundur!