Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
24/10/2013 18:56
Konu Sahibi
senelkose
Yorumlar
5
Okunma
1776
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
02/01/2017,22:22
Çö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.550
7
30/10/2008
814
Tekirdağ
Ofis XP
17/10/2017,17:32
Çö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.550
7
30/10/2008
814
Tekirdağ
Ofis XP
17/10/2017,17:32
Çö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.550
7
30/10/2008
814
Tekirdağ
Ofis XP
17/10/2017,17:32
Çö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
Çözüldü Excelden Alınan Verilerden Benzersiz Olanları Tabloya Aktarma ozgur89 2 99 29/09/2017, 01:00 ozgur89
Çözüldü Access Veri Aktarımı Şifre Problemi erdal21 4 209 21/09/2017, 21:06 erdal21
Çözüldü Sql Serverdan Sorgu İle Yerel Veri Tabanına Veri Yazdırma ertans 1 159 24/08/2017, 11:22 burhanb
Çözüldü Toplu SMS Firmasının Kodlarını Access Veri Tabanına Entegre Etme tekinuygun 14 2.984 25/07/2017, 08:32 ozanakkaya
Çözüldü Excelden Alınan Tarih Ve Sayı Verisinin Düzeltilmesi kadirdursun 3 308 23/07/2017, 21:38 kadirdursun

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.