Skip to main content

AccessTr.neT


Excel Useform Üzerinden Accesse Veri Kaydetme

Excel Useform Üzerinden Accesse Veri Kaydetme

#7
(22/08/2021, 14:14)berduş yazdı: rica ederim
iyi çalışmalar

Berduş hocam kaydettiğim verileri tekrar excele çektiğimde veri exceldeki hücreye bu şekilde geliyor <font color=red>MERVE TÜRE</font> neden acaba

(22/08/2021, 14:14)berduş yazdı: rica ederim
iyi çalışmalar

Veri çekmede kullandığım kodlar
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("C:\Users\mert\Desktop\çalışma\ANASAYFA.accdb")

'EgitimListesi tablosu içerisinde veri çağırmak için
Dim adresANASAYFA As String
adresANASAYFA = "SELECT * FROM ANASAYFA "
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

Range("A2").CopyFromRecordset DataKayitlari
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")

DataKayitlari.Close
Set DataKayitlari = Nothing
DataBaglan.Close
Set DataBaglan = Nothing

End If


End Sub

Son Düzenleme: 22/08/2021, 14:21, Düzenleyen: mert_0671.
Cevapla
#8
zengin metin formatının özelliği bu,
aslında veriler olduğu gibi değil renk/büyüklük vsvs kodlarıyla beraber kaydedilir biz kayda bakarken Access bu kodları işleyip bize öyle gösterir
access içinde bu formatı sıfırlayıp sadece metni alan bir kod vardı excelde çalışır mı bilmem ama kodu bulmaya çalışırım
Cevapla
#9
(22/08/2021, 14:23)berduş yazdı: zengin metin formatının özelliği bu,
aslında veriler olduğu gibi değil renk/büyüklük vsvs kodlarıyla beraber kaydedilir biz kayda bakarken Access bu kodları işleyip bize öyle gösterir
access içinde bu formatı sıfırlayıp sadece metni alan bir kod vardı excelde çalışır mı bilmem ama kodu bulmaya çalışırım

Benim için süper olur teşekkürler Berduş hocam
Cevapla
#10
maalesef excelde bahsettiğim plaintext kodu çalışmadı başka bir yöntem var mı araştırırım
Cevapla
#11
(22/08/2021, 14:51)berduş yazdı: maalesef excelde bahsettiğim plaintext kodu çalışmadı başka bir yöntem var mı araştırırım
Teşekkürler Berdüş hocam
Cevapla
#12
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")
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da