Skip to main content

AccessTr.neT


N Kadar CSV Dosyasını Access İçine Atmak

N Kadar CSV Dosyasını Access İçine Atmak

#25
Excelden veri almayla ilgili aşağıdaki bağlantıyı inceleyebilirsiniz
Olmazsa yeni konu açın oradan devam edelim.
Cevapla
#26
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
Son Düzenleme: 31/10/2020, 20:53, Düzenleyen: hakkih.
Cevapla
#27
aşağıdaki bağlantıda excelden veri alma yöntemi ayrıntılı olarak gösterilmiştir
https://accesstr.net/konu-excelden-veri-...tarma.html
bu konu CSVden veri almayla ilgili yani bu konudan devam edemeyiz.
Cevapla
#28
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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task