Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
30/06/2012 14:20
Konu Sahibi
gurcagy
Yorumlar
1
Okunma
2435
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

gurcagy

Üye
48612
 Belirtilmemiş
 1
 1
 30/06/2012
0
 İstanbul
 
 Belirtilmemiş
 30/06/2012,14:22
Çözüldü 
MERHABA BİR Access PROJEM VAR. Excel IMPORT ETME BUTONU OLACAK VE KULLANICI BUTONA TIKLAYIP "İSTEDİĞİ Excel DOSYASINI" IMPORT EDECEK. BUNU FORM OLUŞTURARAK Vba İLE YAPACAĞIM GALİBA. YARDIMLARINIZ İÇİN ŞİMDİDEN TEŞEKKÜR EDİYORUM.



maytas

Uzman
1316
 53
 24
 540
 21/12/2008
178
 Bursa
 
 Ofis 2010 32 Bit
 01/05/2019,02:10
Çözüldü 
Merhaba.
Eğer seçilecek Excel dosyası belli ise:

Visual Basic Code
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Tablo_Adi", "Excel_Dosyasi_Yolu_ve_Adi", True


Seçilecek Excel dosyasını "Dosya Aç" dialog kutusu vasıtası ile seçmek için:

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Private Secilen As String
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OpenFilename) As Long
Private Type OpenFilename
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    iFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    Flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Private Function DosyaAcFonksiyonu() As String
    Dim Secilenin As OpenFilename
    Secilenin.lStructSize = Len(Secilenin)
    Secilenin.hwndOwner = hwnd
    Secilenin.lpstrFilter = "Excel Dosyaları (*.xls*)" & Chr$(0) & "*.xls" & Chr$(0) & Chr(0) & Chr(0)
    Secilenin.lpstrFile = String(256, 0)
    Secilenin.nMaxFile = 255
    Secilenin.lpstrTitle = "Dosya Aç"
    Secilenin.Flags = &H800000 + &H1000 + &H8 + &H4
    GetOpenFileName Secilenin
    If Mid(Secilenin.lpstrFile, 1, 1) <> Chr(0) Then DosyaAcFonksiyonu = Secilenin.lpstrFile
    Secilen = Secilenin.lpstrFile
End Function

Private Sub Komut0_Click()
    Dim Dosya As String
    Dosya = DosyaAcFonksiyonu
    If Dosya <> "" Then DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Tablo_Adi", Dosya, True
End Sub


Yalnız her iki durumda da veri alınacak tablo adı belli olmalı.
Veri alınacak tablo Access veritabanında yok ise oluşturulur, var ise veriler veritabanına eklenir, yalnız alınacak Excel tablosundaki ve eklenecek veritabanındaki alan başlıkları farklı olmamalı, yoksa hata verir.


Mesajlarımızı Türkçe yazım kurallarına uygun yazalım.
Emeğe saygı gösterelim, bir teşekkürü çok görmeyelim.


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Excel Kodu Access Koda Çevirmek C*e*l*o*y*c*e 3 105 18/05/2019, 01:34
Son Yorum: C*e*l*o*y*c*e
Çözüldü Excel Kitaplar Arası Geçişte Problem ertus35 20 403 11/05/2019, 02:36
Son Yorum: ertus35
Çözüldü EXCEL e Access Tablosundaki İstediğimiz alanları ve veriyi atma blacksir 4 3.711 16/04/2019, 21:49
Son Yorum: next
Çözüldü Access 2010 Da Açılan Proje Access 2016 Da Açılmıyor.(Her İki Bilgisayarda 64 Bit) Oğuz Türkyılmaz 2 140 05/03/2019, 17:06
Son Yorum: haliliyas
Çözüldü Tablodaki Ürünleri Count Etme yurdalsldrk 2 128 24/02/2019, 21:54
Son Yorum: yurdalsldrk

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.