Skip to main content

AccessTr.neT


Excel Useform Üzerinden Accesse Veri Kaydetme

Excel Useform Üzerinden Accesse Veri Kaydetme

#13
(22/08/2021, 15:22)berduş yazdı: plainText işe yarıyormuş, veri çağırma kodunu aşağıdaki gibi düzenleyip dener misiniz?
Sub 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
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 bence
'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")
Yine aynısı oldu Berduş hocam
Cevapla
#14
bende çalıştı
önce kod pasifken çalıştırdım sonrada kod aktifken
[Resim: do.php?img=11218]
Cevapla
#15
(22/08/2021, 15:39)berduş yazdı: bende çalıştı
önce kod pasifken çalıştırdım sonrada kod aktifken
[Resim: do.php?img=11218]

Butona ilk basınca paylaştığım şekilde getiriyor butona ikinci kez bastığımda bu sefer düzeltiyor ilginç
Cevapla
#16
nomatch satırını aşağıdaki gibi düzenleyip dener misiniz?
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ı
Cevapla
#17
(22/08/2021, 15:49)berduş yazdı: nomatch satırını aşağıdaki gibi düzenleyip dener misiniz?
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ı
Aynı şekilde değişen birşey olmadı makroyu ikinci kez tetiklediğim zaman düzeldi
Cevapla
#18
bende ilkinde çalışıyor kodlarınızda başka birşey mi var dosyanızı ekler misiniz
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da