(05/03/2009, 00:09)lokosit40 yazdı: [ -> ]Ağdaki bir pc den kendi veritabanıma aktarma yapmak istiyorum.
\\Pc-14e26bcd3c31\heco yolundaki database isimli veritabanını kopyalamak için nasıl makro yapmam gerekir.
Adım adım anlatmaya çalışacağım:
1- Yeni Makro açın.
2- Eylem bölümünden "Veritabanı Aktar"ı seçin.
3- Eylem Değişkenleri bölümünde de şunları yapın:
a) Aktarım Türü: Al
b) Veritabanı Türü: Microsoft Access
c) Veritabanı Adı: C:\Documents and Settings\HARUN\Desktop\YeniMicrosoft.mdb (Veritabanının bulunduğu yolu kendinize göre uyarlayın. Yolu doğru yazdığınızda sorunsuz bir şekilde aktarma yapabilirsiniz.)
d) Nesne Türü: Tablo
e) Kaynak: tblTablo (Tablonun adını yazın)
f) Hedef: tblTablo (Tablo yoksa tablonun adını tekrarlayın. Varsa varolan tablonun adını yazın)
g) Salt Yapı: Hayır
Burada önemli olan nokta 3. maddenin c) şıkkıdır. Bu bölümde dosyanın tam yolunu yazmalısınız. Veritabanının bulunduğu klasörün paylaşıma açık olduğundan emin olun. Veritabanının adını uzantısıyla birlikte yazın.
Buraya kadar olan adımları tek bir tablo için deneyerek yapın. Sonuç olumlu olunca, aynı makronun içinde bunu tekrar tekrar yaparak çoğaltabilirsiniz.
Her tablo için aynı makroda VeritabanıAktar makrosunu alt alta sıralarsınız. Makroyu bir defa çalıştırdığınızda makroda belirttiğiniz tablolar otomatik olarak alınmış olur...
Kolay gelsin...
Ek olarak bir bilgi daha:
MS Access, oluşturmuş olduğunuz bir makroyu otomatik olarak
Vba koduna çevirebilir. Bunun için:
Makroyu tek tıklamayla seçtikten sonra;
Araçlar / Makro / Makroları Visual Basic'e Dönüştür
yolunu takip ederek Visual Basic kodlarına dönüştürme yapabilirsiniz.
Dönüştürme sonrasında makrolar artık fonksiyon olur ve siz makro kullanıyormuş gibi fonksiyonlarınızı kullanabilirsiniz...
Dönüştürme sonrasında makro1 adlı makromuzdaki VeritabanıAktar makromuzun fonksiyonu şu şekilde olur:
Kod:
Function Makro1()
On Error GoTo Makro1_Err
DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Documents and Settings\HARUN\Desktop\YeniMicrosoft.mdb", acTable, "tblPersonelListesi", "tblPersonelListesi", False
Makro1_Exit:
Exit Function
Makro1_Err:
MsgBox Error$
Resume Makro1_Exit
End Function
Burdan çıkaracağımız sonuç da şudur:
VeritabanıAktar makrosuyla yaptığımız işlemi DoCmd.TransferDatabase koduyla da yapabiliyormuşuz.
Biraz önceki mesajımda da belirttiğim gibi, önemli olan veritabanının bulunduğu yolu doğru yazmak. Yol doğru olduktan sonra gerisi halledilir...
Bir problemi çözmenin en az iki yolu vardır...
Kolay gelsin...