Excel'den Access'e bilgi alma FOR-NEXT döngüsüz yardım

Katılım
2 Temmuz 2007
Mesajlar
58
Excel Vers. ve Dili
Excel 2003
Sevgili forum üyeleri.Excel'den Access'bilgi alma konusunda yaptığım araştırmada MODALI ustamızın bizlerle payşalmış olduğu güzel bir örnekten faydalanarak Excel'den Access'e bilgi alabiliyorum.Fakat bir yerde bir sıkıntı yaşıyorum ve siz değerli üylerden bu konuda destek almak istiyorum.Yaşamış olduğum sıkıntı ise.Formumda excel'den bilgi al diye bir buton yarattım ve butonun arkasında çalışan vb code for nex döngüsü oluşturuyor.Yani Excelde 12nci satırdan 20nci satıra kadar bütün bilgileri al.Ve bunları güzelce alıyor.Yalnız örneğin 15nci satırdan sonra hücrelerde bilgi yok.Excel den al değidiğimiz zaman bu boş hücreleride tabloya ekliyor.Ben eklemesini istemiyorum.Yani 12'den 20'ye kadar tarasın fakat 15nci satırdan sonra bilgi yoksa bunları tabloya boş bilgi olarak kaydetmesin ne varsa onu yazsın.Umarım anlatabilmişimdir sıkıntımı.Yardımcı olursanız çok sevinirim.Şimdiden çok teşekkürler.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın jeday_jey,

İlgili kodları şöyle değiştirin:

Kod:
Public Sub VeriAl()
Dim xlApp As New Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet
Dim Name, Sheet As String
ReDim Veri(5), Veri(22), Veri1(22), Veri2(22), Veri3(22), Veri4(22), Veri5(22), Veri6(22) As Variant
Name = Forms.Frm_PR2.txtDosyaAdı
Sheet = Forms.Frm_PR2.cboSayfaAdı
'Name = CurrentProject.Path & "\PR.xls"
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open Name, , 0
         
    xlApp.Sheets("PR").Select
    xlApp.Range("b7").Select
    Veri(0) = xlApp.Range("b7")
        
    xlApp.Sheets("PR").Select
    xlApp.Range("b8").Select
    Veri(1) = xlApp.Range("b8")
    
    xlApp.Sheets("PR").Select
    xlApp.Range("b9").Select
    Veri(2) = xlApp.Range("b9")
    
For I = 12 To 20
Veri(I) = xlApp.Cells(I, 2)
Veri1(I) = xlApp.Cells(I, 3)
Veri2(I) = xlApp.Cells(I, 4)
Veri3(I) = xlApp.Cells(I, 5)
Veri4(I) = xlApp.Cells(I, 6)
Veri5(I) = xlApp.Cells(I, 7)
Veri6(I) = xlApp.Cells(I, 1)
    
     DoCmd.GoToRecord , , acNewRec
 
 [COLOR=red]If Veri(I) <> "" Then[/COLOR]
        Date = Veri(0)
        Requester = Veri(1)
        Department = Veri(2)
        Description = Veri(I)
        Supplier = Veri1(I)
        RequestDate = Veri2(I)
        Qty = Veri3(I)
        UM = Veri4(I)
        JT = Veri5(I)
        Item = Veri6(I)
Me.PRNo = Form!PRNumber 'PRNumberı otomatik alır'
[COLOR=red]Else
GoTo GO
End If
[/COLOR]   
   Next

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    
[COLOR=red]GO:
[/COLOR]    xlApp.Workbooks.Close
    Set xlApp = Nothing
    
    
End Sub
İyi çalışmalar
 
Katılım
2 Temmuz 2007
Mesajlar
58
Excel Vers. ve Dili
Excel 2003
Hocam büyüksün Allah senden razı olsun.Çok çok çok çok teşekkürler.
:mutlu: :mutlu: :mutlu: :mutlu: :mutlu:
 
Üst