Skip to main content

AccessTr.neT


Formdan Worde Veri Aktarmada Sorun

Formdan Worde Veri Aktarmada Sorun

Çözüldü #1
Arkadaşlar , 

Sistemimde Personel Bilgi İşlem Formunun Evrak sekmesinde Belirsiz Süreli butonuna bastığım verileri aynı dosyada bulunan Word şablanuna aktarmasını istiyorum. Kodları yazdım Word de yer işaretlerini ekledim ama hata verdi? Yardımcı olabilirseniz çok sevinirim. Verdiği Hata" Method or data member not found"

Teşekkürler.  Img-grin
.rar RVS 29.07.2015.rar (Dosya Boyutu: 491,58 KB | İndirme Sayısı: 2)
Cevapla
#2
Sayın Akifff,

Öncelikle,uygulamanızı 2007 olarak inceleme imkanım olmadığından dolayı (önceki sürüme göre tekrar eklemeniz halinde teferruatlı inceleme yapılabilecektir),ancak bu hataya dair kısa bir açıklama ile katkıda bulunmak isterim.

Bahsettiğiniz hatanın nedeni,çoğu zaman;

İlgili kod sayfasında mevcut bulunan kodlar içerisinde bu Sql sorgu ifadesi de olabilir veya form üzerinde bir denetime değer atama halinde de olabilir;form üzerinde bulunmayan ya da silinmiş veyahut da değiştirilmiş bir denetim adı olmuşsa ya da bir tabloda herhangi bir alan için bir değişim söz konusu olmuşsa bulamadığından dolayı,bu hatayı vermektedir.bu nedenle,kodları ve tanımlamaları doğru olup olmadıklarını tekrar kontrol etmenizde fayda var.

Son olarak,bir de tavsiye olması adına,şunu sağlamayı da ihmal etmeyiniz lütfen;eğer bir hata iletisi alıyorsanız sadece bu hata iletisinin tam adını yazmakla sınırlı kalmayıp buna bir de oluştuğu esnadaki hali ile ekran görüntüsünü de ekleyiniz.böylece,hangi denetimde bir sorun olduğu bir ihtimal resimden de yorumlanmak sureti ile bilgilendirilmesi yapılabilir.bilginize.

İyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
Çok teşekkürler bilgiler için. Eski formatta kayıt yapamıyorum malesef hata veriyor. Ama resimle ve ykullandığım kodları paylaşıyorum. Belki biraz yardımı olur Img-grin 


Kodları sitedeki bir örnekten aldım ve kendi sistemime uyarladım. Saygılar. 

Kod:
Private Sub Komut350_Click()
   If IsNull(Ad) Then
       MsgBox "Lütfen Ad Giriniz"
       Me.Ad.SetFocus
       Exit Sub
   End If
   If IsNull(Soyad) Then
       MsgBox "Lütfen Soyad Giriniz"
       Me.Soyad.SetFocus
       Exit Sub
   End If
   If IsNull(TCNo) Then
       MsgBox "Lütfen Tc Numarasını Giriniz"
       Me.TCNo.SetFocus
       Exit Sub
   End If
   If IsNull(DogumYeri) Then
       MsgBox "Lütfen Doğum Yerini Giriniz"
       Me.DogumYeri.SetFocus
       Exit Sub
   End If
   If IsNull(DogumTarihi) Then
       MsgBox "Lütfen Doğum Tarihini Giriniz"
       Me.DogumTarihi.SetFocus
       Exit Sub
   End If
   If IsNull(GirisTarihi) Then
       MsgBox "Lütfen İşe Giriş Tarihini Giriniz"
       Me.GirisTarihi.SetFocus
       Exit Sub
   End If
   If IsNull(ADRES) Then
       MsgBox "Lütfen Adres Giriniz"
       Me.ADRES.SetFocus
       Exit Sub
   End If
   If IsNull(CEPTELEFON) Then
       MsgBox "Lütfen Cep Telefonunu Giriniz"
       Me.CEPTELEFON.SetFocus
       Exit Sub
   End If
   If IsNull(SABITTELEFON) Then
       MsgBox "Lütfen Sabit Numara Giriniz"
       Me.SABITTELEFON.SetFocus
       Exit Sub
   End If
   If MsgBox("D İ K K A T" & Chr(13) & _
    "Bilgiler Şablona Yazdırılacak. Onaylıyor musunuz?", vbInformation + vbOKCancel) = vbOK Then
 Else
      Exit Sub
    End If
   
   Dim WordApp As Word.Application
   Dim strTemplateLocation As String
   strTemplateLocation = CurrentProject.Path & "/MakinistBelirsizSozlesme3.dot"
   On Error Resume Next
   
   Set WordApp = GetObject(, "Word.Application")
   If Err.Number <> 0 Then
       Set WotrdApp = CreateObject("Word.Application")
      End If
      On Error GoTo ErrHandler
     
      WordApp.Visible = True
      WordApp.WindowState = wdWindowStateMaximize
      WordApp.Documents.Add Template:=strTemplateLocation, NewTemplate:=False
     
        If IsNull(Adı) Then
    MsgBox "Adı Alanı Boş Olamaz!"
    Me.Adı.SetFocus
    Exit Sub
  End If
 
 
  If IsNull(Soyad) Then
    MsgBox "Soyad Alanı Boş olamaz!"
    Me.Soyad.SetFocus
    Exit Sub
  End If
 
 
  If IsNull(Ünvan) Then
    MsgBox "Ünvan Alanı Boş olamaz!"
    Me.Ünvan.SetFocus
    Exit Sub
  End If
 
 
  If IsNull(EvTelefonu) Then
    MsgBox "Ev Telefonu Alanı Boş olamaz!"
    Me.EvTelefonu.SetFocus
    Exit Sub
  End If

   
 
  If MsgBox("D İ K K A T" & Chr(13) & _
    "Bilgiler Şablona Yazdırılacak. Onaylıyor musunuz?", vbInformation + vbOKCancel) = vbOK Then
 Else
      Exit Sub
    End If
   
   
   
  ' Word Şablonundan Yeni bir Word Belgesi oluşturması için gerekli kodlara başlıyoruz...
  ' Kodların çalışabilmesi için Referanslardan (Tools - References...) Microsoft Word 11.0 Object Library seçili olmalı...
 
 
  Dim WordApp As Word.Application 'Referanslardan (Tools - References...) Microsoft Word 11.0 Object Library seçili olmalı... Yoksa hata alırsınız...
 
  Dim strTemplateLocation As String
 
  ' Şablonun bulunduğu yeri tanımlandırıyoruz.
 

   
   strTemplateLocation = CurrentProject.Path & "\Ornek.dot"
   ' Bu tanımlama ile, Ornek2.dot dosyamızın access veritabanımızın bulunduğu yerde olduğunu tarif ettik.
   
  On Error Resume Next
 
  ' Şimdi Yeni Word Belgesi yaratmak için gerekli kodlar başlıyor.
 
  Set WordApp = GetObject(, "Word.Application")
  If Err.Number <> 0 Then
    Set WordApp = CreateObject("Word.Application")
  End If
  On Error GoTo ErrHandler
 
 
  WordApp.Visible = True
  WordApp.WindowState = wdWindowStateMaximize
  WordApp.Documents.Add Template:=strTemplateLocation, NewTemplate:=False
   
  ' Şimdi, Word belgemizdeki Yer İmleri ile formdaki alanları eşitleyip yer imlerini uygun kayıtlarla değiştireceğimiz kodlar başlıyor.
 
  With WordApp.Selection
 
    If IsNull(Adı) Then
    .GoTo what:=wdGoToBookmark, Name:="Ad"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="Ad"
    .TypeText [Adı]
    End If
   
   
    If IsNull(Soyad) Then
    .GoTo what:=wdGoToBookmark, Name:="Soyad"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="Soyad"
    .TypeText [Soyad]
    End If
   
   
    If IsNull(ADRES) Then
    .GoTo what:=wdGoToBookmark, Name:="Adres"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="Adres"
    .TypeText [ADRES]
    End If


     If IsNull(CEPTELEFON) Then
    .GoTo what:=wdGoToBookmark, Name:="CepTel"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="CepTel"
    .TypeText [CEPTELEFON]
    End If
   
     If IsNull(DogumTarihi) Then
    .GoTo what:=wdGoToBookmark, Name:="DoğumTarihi"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="DoğumTarihi"
    .TypeText [DogumTarihi]
    End If
     If IsNull(DogumYeri) Then
    .GoTo what:=wdGoToBookmark, Name:="DoğumYeri"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="DoğumYeri"
    .TypeText [DogumYeri]
    End If
     If IsNull(GirisTarihi) Then
    .GoTo what:=wdGoToBookmark, Name:="GirisTarihi"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="GirisTarihi"
    .TypeText [GirisTarihi]
    End If
     If IsNull(SABITTELEFON) Then
    .GoTo what:=wdGoToBookmark, Name:="SabitTel"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="SabitTel"
    .TypeText [SABITTELEFON]
    End If
     If IsNull(TCNo) Then
    .GoTo what:=wdGoToBookmark, Name:="TcNo"
    .TypeText ""
    Else
     .GoTo what:=wdGoToBookmark, Name:="TcNo"
    .TypeText [TCNo]
    End If

   
   
   
   
  End With
   
  DoEvents
  WordApp.Activate
   
  Set WordApp = Nothing
  Exit Sub

ErrHandler:
Set WordApp = Nothing

End Sub


[Resim: do.php?img=5005]
Cevapla
#4
Sayın Akifff,

Önceki sürüme dönüştürme işlemi için,aşağıdaki bağlantıda yer alan konunun 4.mesajında yazılı hususları uygulamak sureti il denemede bulunabilirsiniz.

otel otomasyonu

Soruna yönelik bir açıklama olarak da,

Alıntı:İlgili kod sayfasında mevcut bulunan kodlar içerisinde bu Sql sorgu ifadesi de olabilir veya form üzerinde bir denetime değer atama halinde de olabilir;form üzerinde bulunmayan ya da silinmiş veyahut da değiştirilmiş bir denetim adı olmuşsa ya da bir tabloda herhangi bir alan için bir değişim söz konusu olmuşsa bulamadığından dolayı,bu hatayı vermektedir.bu nedenle,kodları ve tanımlamaları doğru olup olmadıklarını tekrar kontrol etmenizde fayda var.

Bir önceki mesajda da dikkat çekildiği üzere,
form üzerindeki ve eklediğiniz resimde görülen TCNo adlı metin denetim kutusunu kontrol ettiniz mi,doğru adlandırmanın yapılıp yapılmadığına dair?...aslında,bu kontrolü bütün denetimler için yapmanız yerinde olacaktır.

Bilginize…iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
Hocam bi dener misiniz oldu mu acaba ? Img-grin


 
.rar RVS MDB.rar (Dosya Boyutu: 579,16 KB | İndirme Sayısı: 2)
Cevapla
#6
sayın Akifff,

inceleme imkanı yine söz konusu değil.

Alıntı:form üzerindeki ve eklediğiniz resimde görülen TCNo adlı metin denetim kutusunu kontrol ettiniz mi,doğru adlandırmanın yapılıp yapılmadığına dair?...aslında,bu kontrolü bütün denetimler için yapmanız yerinde olacaktır.

yukarıda yazılı kontrolleri denediniz mi?
durum nedir bu kontroller neticesinde?

çünkü;
ya form üzerindeki ilgili TCNo metin denetim kutusunun adını değiştirmiş olabilirsiniz de,kodlara eski halini yazmışsınızdır,ya da,tam tersi;bir değişim olmadı da,siz kod sayfasına farklı yazmışsınızdır.

iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task