[VBA] Excel Den Veri Alma 2003
#1
Merhaba,

Excel dosyam var bu dosyada stok ürünleri var. Bu ürünleri toplu olarak Access e tablo olarak aktarmak istiyorum (Stok_Yeni)
ürünleri aktarırken dosyada aynı stoktan varsa güncelleme yapmasını (adet ve fiyat alanlarını), aynı stoktan yoksa eklemesini istiyorum.
bunu makroyla yapabiliyorum fakat makroda direk dosya yolu yazılı Excel dosyasını alıyor benim istediğim dosya yolunu seçtirmek.

sitede buna benzer konular var fakat ofis 2003 olarak bulamadım.

Konuyla alakalı yardımlarınızı bekliyorum


Eklenti Dosyaları
.rar   VT1.rar (Boyut: 196,1 KB / İndirilme: 61)



  Alıntı
Bu mesajı beğenenler:
#2
Sn estapan


benim istediğim dosya yolunu seçtirmek.
Visual Basic
  1. Dim dlg As FileDialog
  2. Dim Yer As Variant
  3. Dim DosyaAdi As String
  4. Dim SecDosya As Variant
  5. Set Yer = Application.FileDialog(msoFileDialogFilePicker)
  6. With Yer
  7. .AllowMultiSelect = False
  8. .ButtonName = "Resim Seç"
  9. .Filters.Add "Excel Dosyalari", "*.xls; *.xlsx;"
  10. .FilterIndex = 0
  11. .InitialFileName = Environ("UserProfile") & "\My Documents\*.xls;*.xlsx;*"
  12. .InitialView = msoFileDialogViewThumbnail
  13. .Title = "Excel Dosyasi Seciniz"
  14. If .Show = True Then
  15. For Each SecDosya In .SelectedItems
  16. DosyaAdi = SecDosya
  17. Next SecDosya
  18. End If
  19. End With



Excel dosyam var bu dosyada stok ürünleri var. Bu ürünleri toplu olarak Access e tablo olarak aktarmak istiyorum (Stok_Yeni)
Visual Basic
  1. DoCmd.TransferSpreadsheet acLink, IIf(mid(DosyaAdi, InStr(1, DosyaAdi, ".") + 1, Len(DosyaAdi)) = "xls", 8, 9), "Stok_Yeni", DosyaAdi, True



ürünleri aktarırken dosyada aynı stoktan varsa güncelleme yapmasını (adet ve fiyat alanlarını), aynı stoktan yoksa eklemesini istiyorum.
Baglanan excel dosyasini sorgu ile gruplayip, fiyatlarini max, min ile teke indirip, ekleme sorgusuna cevirin ve SQL'i
Visual Basic
  1. Currentdb.execute "Insert Into ......."


VBA da ki satirlari tek dugme altinda toplamaniz ile otomatik aktarim islevine elde edebilirsiniz.

Bagli excel dosyasini silmek icin
Visual Basic
  1. Docmd.deleteobject acquery, DosyaAdi



ile proseduru sonlandirabilirsiniz.







  Alıntı
Bu mesajı beğenenler:
#3
öncelikle cevabınız için teşekkürler
2003 de ".xxls" olmadığı için hata verdi onu silince düzeldi dosya seçme işlemini gerçekleştirdim fakat alttaki komutta IIF kısmında hata verdi

DoCmd.TransferSpreadsheet acLink, IIf(DosyaAdi, 1, InStr(1, DosyaAdi, ".") + 1, Len(DosyaAdi) = "xls", 9, 12), "Stok_Yeni", DosyaAdi, True



  Alıntı
Bu mesajı beğenenler:
#4
Sn estapan

Visual Basic
  1. DoCmd.TransferSpreadsheet acLink, IIf(mid(DosyaAdi, InStr(1, DosyaAdi, ".") + 1, Len(DosyaAdi)) = "xls", 8, 9), "Stok_Yeni", DosyaAdi, True



deneyebilirsiniz.





  Alıntı
Bu mesajı beğenenler:
#5
aşağıdaki hata mesajını veriyor


Eklenti Dosyaları
.png   access hata mesajı.png (Boyut: 2,57 KB / İndirilme: 56)



  Alıntı
Bu mesajı beğenenler:
#6
Sn estapan;

9, 12 yerine 8, 9 olmali. Dosya tip sonlarini yazmisim. Benzer hallerde islem komutu uzerine gelip secin ve F1 tusu ile MicroSoft'un yardim sayfasindan da sorunu cozebilirsiniz.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [TABLO] Excel Aktarımı kahramanselim 6 186 06-04-2024, 21:11
Son Mesaj: kahramanselim
  [FONKSiYON] Bölünmüş Veri Tabanın Yedeğini Alma webtenoyna 1 97 19-02-2024, 01:48
Son Mesaj: dsezgin
  [VBA] Web Den Resim Linklerini Alma hedefkaya 4 139 12-11-2023, 02:32
Son Mesaj: dsezgin
  Ortalama Alma snapper 13 237 30-09-2023, 18:30
Son Mesaj: dsezgin
  [VBA] Webden Veri Alma idrisy 1 141 26-08-2023, 04:15
Son Mesaj: dsezgin
  Döngü Ile Veri Alma ates2014 5 172 26-08-2023, 01:38
Son Mesaj: halily
  Accesste Txt Den Veri Alma .Sude. 4 268 22-06-2023, 19:52
Son Mesaj: dsezgin
  Excel Birleştir Ve Süz Bora34 6 793 16-02-2023, 18:33
Son Mesaj: Bora34

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi