AccessTr.neT
Excel Useform Üzerinden Accesse Veri Kaydetme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Excel Useform Üzerinden Accesse Veri Kaydetme (/konu-excel-useform-uzerinden-accesse-veri-kaydetme.html)

Sayfalar: 1 2 3 4 5


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - mert_0671 - 22/08/2021

(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


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - berduş - 22/08/2021

bende çalıştı
önce kod pasifken çalıştırdım sonrada kod aktifken
[Resim: do.php?img=11218]


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - mert_0671 - 22/08/2021

(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ç


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - berduş - 22/08/2021

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ı


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - mert_0671 - 22/08/2021

(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


RE: Excel Useform Üzerinden Accesse Veri Kaydetme - berduş - 22/08/2021

bende ilkinde çalışıyor kodlarınızda başka birşey mi var dosyanızı ekler misiniz