AccessTr.neT
N Kadar CSV Dosyasını Access İçine Atmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: N Kadar CSV Dosyasını Access İçine Atmak (/konu-n-kadar-csv-dosyasini-access-icine-atmak.html)

Sayfalar: 1 2 3 4 5


RE: N Kadar Excel Dosyasını Access İçine Atmak - berduş - 31/10/2020

Excelden veri almayla ilgili aşağıdaki bağlantıyı inceleyebilirsiniz
Olmazsa yeni konu açın oradan devam edelim.


RE: N Kadar Excel Dosyasını Access İçine Atmak - hakkih - 31/10/2020

yeni konu açmama gerek yok konu devamı

kodlar böyle;

rivate Sub BtnCSVAl_Click()

Dim DosyaBul As Object
Dim vrtSelectedItem As Variant
Dim tblAdi, Tur As String
Set DosyaBul = Application.FileDialog(3)

With DosyaBul
.AllowMultiSelect = True
.ButtonName = "Dosya Seç"
.InitialFileName = CurrentProject.Path

.Filters.Clear
.Filters.Add "CSV Dosyası", "*.xls"
' .Filters.Add "Excel", "*.xls,*.xlsx,*.xlsm,*.csv"
.Filters.Add "Hepsi", "*.*"
.FilterIndex = 0
.Title = "Seç..."
If .Show = True Then
For Each vrtSelectedItem In .SelectedItems
DoCmd.TransferText acImportDelim, "CSVAktar", "Book1", vrtSelectedItem, True, ""

Next vrtSelectedItem
MsgBox "Kopyalama Bitti"
Else
MsgBox "Kopyalama iptal edildi"
Exit Sub
End If
End With

End Sub

------------------

.xls,*.xlsx,*.xlsm bu uzantıları almam gerekiyor
ama bu kodlar sadece *.csv uzantı çalıştırıyor ve kolonların ver türleri tek metin, diğer veri türler sayı tarih para birimi gibi onlar ne olacak

örnek ekleyecektim ama eklenecek yer yok ekleyemedim


RE: N Kadar Excel Dosyasını Access İçine Atmak - berduş - 31/10/2020

aşağıdaki bağlantıda excelden veri alma yöntemi ayrıntılı olarak gösterilmiştir
https://accesstr.net/konu-excelden-veri-alma-excel-sayfasini-ice-aktarma.html
bu konu CSVden veri almayla ilgili yani bu konudan devam edemeyiz.


RE: N Kadar CSV Dosyasını Access İçine Atmak - berduş - 31/10/2020

DoCmd.TransferSpreadsheet kodu ile exceldeki veriler accessteki tabloya aktarilabilir
Eger tablo yoksa olusturulur varsa yeni veriler eklenir

TransferSpreadsheet yöntemiyle ilgili genel bilgiler dilerim işinize yarar 
DoCmd.TransferSpreadsheet acLink, "Dosya türü excel/versiyonu", "hangi isimle bağlanacak", "tamAdresveAd", "Başlık var mı", "Hangi aralık"
DoCmd.TransferSpreadsheet _
                          TransferType:=acImport, _
                          TableName:="TmpTablo", _
                          SpreadsheetType:=10, _
                          FileName:=yahya, _
                          HasfieldNames:=True, _
                          Range:="B3:E" '"Hy bin 2!B3:E"

TransferType:= transfer türü
                           İsim   - Sayısal değer - Tanım 
                           acImport      0       Varsayılan değerdir, içeri aktatrır
                           acExport      1       Başka dosyaya gönderir
                           acLink        2       Başka dosyadaki veriye bağlantı sağlar

TableName:="Hangi İsimle bağlanacak-acLink İse/hangi tabloya aktarılacak"

SpreadsheetType:= tablo türü
                           İsim                         Sayısal Değer    Tanım
                           acSpreadsheetTypeExcel3   0  Microsoft Excel 3.0 format
                           acSpreadsheetTypeExcel4   6   Microsoft Excel 4.0 format
                           acSpreadsheetTypeExcel5   5  Microsoft Excel 5.0 format
                           acSpreadsheetTypeExcel7   5   Microsoft Excel 95 format
                           acSpreadsheetTypeExcel8   8  Microsoft Excel 97 format
                           acSpreadsheetTypeExcel9   8  Microsoft Excel 2000 format
                           acSpreadsheetTypeExcel12  9  Microsoft Excel 2010 format
                           acSpreadsheetTypeExcel12Xml 10  Microsoft Excel 2010/2013/2016 XML format (.xlsx, .xlsm, .xlsb)

FileName:=Dosya yaolu ve adı "d:\deneme\erzak.xlsm" gibi

HasfieldNames:=Satır başlığı var mı True(var)/False(yok)

Range:=veri alınacak bölge "Hy bin 2!B3:E" --> "Hy bin 2" sayfasındaki "B3" ve "E" stunları arasındaki verileri al