excelden access veri aktarımı
Tarih
24/10/2013 18:56
Konu Sahibi
senelkose
Yorumlar
5
Okunma
1463
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



senelkose
Üye
Kullanici Avatari
Üye
17
5
24/10/2010
0
Sivas
Ofis 2007
10/03/2016,15:39
Çözüldü 
merhabalar yardımcı olursanız sevinirim
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 :

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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

Cevapla


husun03
Üye
Kullanici Avatari
Üye
5
0
25/07/2009
0
Afyonkarahisar
Ofis 2003
15/11/2016,20:57
Çözüldü 
formdan alacağın veriyi tek yada çift tırnak içine alman gerekiyor.
husun03, 25-07-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


Seruz
Uzman
Kullanici Avatari
Uzman
S.... U....
1.544
7
30/10/2008
804
Tekirdağ
Ofis XP
02/12/2016,15:18
Çözüldü 
İlgili 2 satırı aşağıdaki şekilde değiştirip deneyin.

Visual Basic Code
myRec.Fields("cinsi") = xlSheet.Cells(i, """" & Me.Forms!aktar!cinsi & """")
myRec.Fields("birimi") = xlSheet.Cells(i, """" & Me.Forms!aktar!birimi & """")

Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla


senelkose
Üye
Kullanici Avatari
Üye
17
5
24/10/2010
0
Sivas
Ofis 2007
10/03/2016,15:39
Çözüldü 
malesef yine olmadı bunu denemiştim Img-cray type mismatch hatasi veriyor surekli.. başka bir çözüm varmı acaba . teşekkürler
Cevapla


Seruz
Uzman
Kullanici Avatari
Uzman
S.... U....
1.544
7
30/10/2008
804
Tekirdağ
Ofis XP
02/12/2016,15:18
Çözüldü 
Bu satırlardan önce msgbox ile gelen değerlere bakar mısınız?
Doğru değerlerin geldiğine emin olalım.

Visual Basic Code
Msgbox Me.Forms!aktar!cinsi
Msgbox Me.Forms!aktar!birimi


Bu da olmazsa, örnek Access dosyası ve Excel dosyası yollayın ki,
bizde sorunu tam olarak görüp, çözüp üretmeye çalışalım.

Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla


Seruz
Uzman
Kullanici Avatari
Uzman
S.... U....
1.544
7
30/10/2008
804
Tekirdağ
Ofis XP
02/12/2016,15:18
Çözüldü 
"type mismatch" hatası deyince aklıma geldi, çözümü buldum.
Formdan gelen değeri Cstr ile çevirerek string tipine çevirmek gerekiyor.

İlgili satırları aşağıdaki şekilde değiştirin, çalışacaktır.

Visual Basic Code
myRec.Fields("cinsi") = xlSheet.Cells(i, Cstr(Me.Forms!aktar!cinsi))
myRec.Fields("birimi") = xlSheet.Cells(i, Cstr(Me.Forms!aktar!birimi))

Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Excelden Veri Aktarımı Hatası Xleash 6 133 25/11/2016, 10:52 Xleash
  Excelden veri alma ates2014 24 424 15/10/2016, 14:56 ates2014
Brick Microsoft Access Yüklü Olmayan Bilgisayarlarda Access Kullanımı (Runtime) OFA 4 355 20/06/2016, 14:47 OFA
Çözüldü access veri tabanı şifresi efes_2012 9 536 09/04/2016, 19:46 efes_2012
Question ACCESS'DE VERİ TABANI HAZIRLAMA rrawness34 14 1.070 11/03/2016, 07:38 rrawness34


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya