(22/08/2021, 15:22)berduş yazdı: plainText işe yarıyormuş, veri çağırma kodunu aşağıdaki gibi düzenleyip dener misiniz?Yine aynısı oldu Berduş hocam
yalnız aşağıdaki kodun amacını anlayamadım, 1 satıra yani a1,b1.... e sütun başlıklarını eklemek amacıyla kullanıyorsanız hatalı bir yaklaşım benceSub VeriyiCagir()
' Vba Tools sekmesindeki "Referanslar bölümüne tıklayın"
' "Microsoft Office xx.0 Access database engine Object Library" alanını seçmeniz gereklidir.
'On Error Resume Next
Dim DataBaglan As DAO.Database
Dim DataKayitlari As DAO.Recordset
' Dim EgitimNumarasi As Integer
' EgitimNumarasi = Range("J2").Value ' Eğitim Numarası yazılı olan sayıyı aldım.
Set DataBaglan = OpenDatabase(ThisWorkbook.Path & "\ANA SAYFA.accdb")
'EgitimListesi tablosu içerisinde veri çağırmak için
Dim adresANASAYFA As String
adresANASAYFA = "SELECT * FROM [ANA SAYFA] "
Set DataKayitlari = DataBaglan.OpenRecordset(adresANASAYFA, dbOpenSnapshot)
If DataKayitlari.NoMatch Then 'Nomatch özelliktir. Bu özellik kayıt bulduysa False gönderir. kayıt bulamadıysa True gönderir.
MsgBox "Eğitim ID numarasını kontrol ediniz, Eğitim bulunamadı! ", vbCritical, "Hata"
Else
sonstr = Cells(Rows.Count, "C").End(xlUp).Row
Range("A2").CopyFromRecordset DataKayitlari
For x = 2 To sonstr
Range("c" & x) = PlainText(Range("c" & x))
Next x
DataKayitlari.Close
Set DataKayitlari = Nothing
DataBaglan.Close
Set DataBaglan = Nothing
End If
End Sub
'Range("B2") = DataKayitlari.Fields("SİCİL") * 1
'Range("C2") = DataKayitlari.Fields("TC KİMLİK NO") * 1
'Range("D2") = DataKayitlari.Fields("ADI SOYADI")
'Range("E2") = DataKayitlari.Fields("GÖREVİ")
'Range("F2") = DataKayitlari.Fields("İŞE GİRİŞ TARİHİ")
'Range("G2") = DataKayitlari.Fields("ÇALIŞMA DURUMU")
Excel Useform Üzerinden Accesse Veri Kaydetme
bende çalıştı
önce kod pasifken çalıştırdım sonrada kod aktifken
önce kod pasifken çalıştırdım sonrada kod aktifken
nomatch satırını aşağıdaki gibi düzenleyip dener misiniz?
bir de siz her kodun başına on error resume next eklemişsiniz bu kod aktifken hataları göremezsiniz, çalışma bitince bu kodlar ektif olmalı
If DataKayitlari.NoMatch = True Then
bir de siz her kodun başına on error resume next eklemişsiniz bu kod aktifken hataları göremezsiniz, çalışma bitince bu kodlar ektif olmalı
(22/08/2021, 15:49)berduş yazdı: nomatch satırını aşağıdaki gibi düzenleyip dener misiniz?Aynı şekilde değişen birşey olmadı makroyu ikinci kez tetiklediğim zaman düzeldi
If DataKayitlari.NoMatch = True Then
bir de siz her kodun başına on error resume next eklemişsiniz bu kod aktifken hataları göremezsiniz, çalışma bitince bu kodlar ektif olmalı
bende ilkinde çalışıyor kodlarınızda başka birşey mi var dosyanızı ekler misiniz
Konuyu Okuyanlar: 5 Ziyaretçi