excel den Access tablosuna bilgi akarmak için aşagıdakı kodu kullanıyorum. Excel de li sutun harfini dinamik yapmak istiyorum. yani excelden bilgi alırken "cinsi " kısmı a1 de de olabilir d1 de de olabilir bunu form üzerinden seçmek istiyorum. hangi alanlara hangi verinin aktarılacagını form üzerinden secerek karar vermek istiyorum ama başamadım. lütfen yardımcı olurmusunuz eksik olan nedir.
ben (i,"A" ) KISMINDAKİ "A" yı form üzerinden liste kutusundan secemk istiyorum.
saygılarımla
KOD :
Private Sub Komut4_Click()
Dim fDialog As Office.FileDialog
Dim varFile As Variant
Dim senel As String
On Error GoTo EXCELDENAL_Err
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.Title = "Lütfen Aktaracacağınıx Bilgilerin Bulunduğu Excel Dosyasını Seçin"
.Filters.Clear
.Filters.Add "Excel 2003", "*.xls"
.Filters.Add "Excel 2003", "*.xlsx"
.Filters.Add "All Files", "*.*"
If .Show = True Then
For Each varFile In .SelectedItems
senel = varFile
Dim sonsatirno As Integer
Dim crt As String
Dim kacadet As Integer
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(adnan)
Set xlSheet = xlBook.Worksheets(1)
Dim myRec As DAO.Recordset
sonsatirno = xlSheet.Range("A65536").End(xlUp).Row
Set myRec = CurrentDb.OpenRecordset("tbl_stok")
For i = 1 To sonsatirno
crt = xlSheet.Cells(i, Me.Forms!aktar!cinsi)
If Len(DLookup("cinsi", "tbl_stok", "cinsi='" & crt & "'")) > 0 Then
MsgBox crt & " " & " alanı mükerrer kayıt olduğundan kaydedilmedi"
Else
myRec.AddNew
BU KISIMADA SORUNUN VAR..
myRec.Fields("cinsi") = xlSheet.Cells(i, "A")
TIRNAK İÇİNDE HARF YAZINCA OLUYOR AMA FORM ÜZERİNDEN SECTIGIM HARIFİ TANIMLAYINCA OLMUYOR
myRec.Fields("cinsi") = xlSheet.Cells(i, Me.Forms!aktar!cinsi)
myRec.Fields("birimi") = xlSheet.Cells(i, Me.Forms!aktar!birimi)
myRec.Update
kacadet = kacadet + 1
End If
Next
xlApp.Visible = True
xlApp.Quit
Set xlApp = Nothing
If kacadet > 0 Then MsgBox kacadet & " " & "Yeni Kayıt Eklendi"
Next
Else
MsgBox "Vazgeçildi."
End If
End With
EXCELDENAL_Exit:
Exit Sub
EXCELDENAL_Err:
MsgBox Error$
Resume EXCELDENAL_Exit
End Sub