Ana_Listesi tablosuna toplu veri çekip sayısal dönüşümlü olarak aktarmak için alttaki kodu dener misiniz?
Ancak verilerin tabloya kaydedilebilmesi için Ana_Listesi tablosundaki ilişkileri kaldırmalısınız. Verileri aldıktan sonra ilişkileri tekrar oluşturabilirsiniz. Ancak her toplu veri çekiminde bu ilişkileri kaldırmanız gerekir. Aksi takdirde tabloya kayıt izni vermeyecektir.
Private Sub Btn_Ana_Liste_Import_Click()
'Veri toplu import kodu
Dim StrAdres As String
Dim f As Object 'FileDialog
Set f = Application.FileDialog(3) 'msoFileDialogFilePicker
StrAdres = CurrentProject.Path & "\"
With f
' .AllowMultiSelect = True 'default
.InitialFileName = StrAdres
' .Filters.Clear
.Filters.Add "All Files", "*.*"
.Show
Dim varFile As Variant
For Each varFile In .SelectedItems
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Gecici", varFile, True 'MsgBox Trim(varFile)
Next
End With
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Ana_Listesi ( Tesisat_ID, Kesinti_No, Isim_ID, Unvan_ID, Il_ID, Ilce_ID, Ay_ID, Yil, Miktar, Dekont_ID, Ödeme_Tarihi, Iban_ID, Tazminat_Turu_ID, Aciklama ) " & vbCrLf & _
"SELECT Tesisat_No.Tesisat_ID, Gecici.Kesinti_No, Isim_Listesi.Isim_ID, Unvan.Unvan_ID, Il.Il_ID, Ilce.Ilce_ID, Ay.Ay_ID, Gecici.Yil, Gecici.Miktar, Dekont.Dekont_ID, Gecici.Ödeme_Tarihi, Ibanlar.Iban_ID, Turu.Tazminat_Turu_ID, Gecici.Aciklama " & vbCrLf & _
"FROM (((((Unvan INNER JOIN (((Gecici INNER JOIN Il ON Gecici.Il_ID = Il.Il_Adi) INNER JOIN Ilce ON Gecici.Ilce_ID = Ilce.Ilce_Adi) INNER JOIN Isim_Listesi ON Gecici.Isim_ID = Isim_Listesi.Adi_Soyadi) ON Unvan.Unvan = Gecici.Unvan_ID) INNER JOIN Ay ON Gecici.Ay_ID = Ay.Ay) INNER JOIN Dekont ON Gecici.Dekont_ID = Dekont.Dekont_No) INNER JOIN Ibanlar ON Gecici.Iban_ID = Ibanlar.Iban_No) INNER JOIN Turu ON Gecici.Tazminat_Turu_ID = Turu.Tazminat_Turu) INNER JOIN Tesisat_No ON Gecici.Tesisat_ID = Tesisat_No.Tesisat_No"
DoCmd.SetWarnings True
CurrentDb.Execute "DROP TABLE Gecici;"
MsgBox "Verileriniz aktarıldı."
End Sub