AccessTr.neT

Tam Versiyon: Access'en Word'e Atarken Yazılar Yerine Id Alması Sorunu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhaba.

Arkadaşlar ekteki dosyada şunu yapmaya çalıştım,

Formdaki bilgileri wordde aktarıp bookmarks ile yerlerine yazdırıyorum. Ancak Formdaki yazıları değilde ID leri alıyor. ID leri değilde yazıları almasını nasıl sağlarım?

Kullandığım kod şu şekilde

Kod:
Private Sub Komut10_Click()
'Eksik alan ve kaydedilmemiş kayıt kontrolü.
  If IsNull(bankaak) Then
    MsgBox "Banka Adı Boş Olamaz!"
    Me.bankaak.SetFocus
    Exit Sub
  End If
  If IsNull(subeak) Then
    MsgBox "Şube Adı Boş Olamaz!"
    Me.subeak.SetFocus
    Exit Sub
  End If
  If IsNull(hesapno) Then
    MsgBox "Hesap numarası boş olamaz!"
    Me.hesapno.SetFocus
    Exit Sub
  End If
  If IsNull(hesapadi) Then
    MsgBox "Hesap Adı Boş olamaz!"
    Me.hesapadi.SetFocus
    Exit Sub
  End If
 
 
       
 
  If MsgBox("HATIRLATMA. " & Chr(13) & _
    "Yazdırılacak!", vbInformation + vbOKCancel) = vbOK Then
 Else
      Exit Sub
    End If
  ' Word Şablonundan yeni belge oluşturma.
  Dim WordApp As Word.Application
  Dim strTemplateLocation As String
 
  ' Şablonun bulunduğu yer
 

   
   strTemplateLocation = CurrentProject.Path & "\talimat2.docx"
  On Error Resume Next
  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
   
  ' Her satırı uygun olan kayıt ile değiştirmek.
  With WordApp.Selection
 
    .Goto what:=wdGoToBookmark, Name:="bankaak"
    .TypeText [bankaak]
   
     .Goto what:=wdGoToBookmark, Name:="subeak"
    .TypeText [subeak]
   
       .Goto what:=wdGoToBookmark, Name:="hesapno"
    .TypeText [hesapno]

   
     .Goto what:=wdGoToBookmark, Name:="hesapadi"
    .TypeText [hesapadi]


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

ErrHandler:
Set WordApp = Nothing

   
End Sub
(23/05/2017, 14:58)derzulya yazdı: [ -> ]Merhaba.

Arkadaşlar ekteki dosyada şunu yapmaya çalıştım,

Formdaki bilgileri wordde aktarıp bookmarks ile yerlerine yazdırıyorum. Ancak Formdaki yazıları değilde ID leri alıyor. ID leri değilde yazıları almasını nasıl sağlarım?

Kullandığım kod şu şekilde

Kod:
Private Sub Komut10_Click()
'Eksik alan ve kaydedilmemiş kayıt kontrolü.
  If IsNull(bankaak) Then
    MsgBox "Banka Adı Boş Olamaz!"
    Me.bankaak.SetFocus
    Exit Sub
  End If
  If IsNull(subeak) Then
    MsgBox "Şube Adı Boş Olamaz!"
    Me.subeak.SetFocus
    Exit Sub
  End If
  If IsNull(hesapno) Then
    MsgBox "Hesap numarası boş olamaz!"
    Me.hesapno.SetFocus
    Exit Sub
  End If
  If IsNull(hesapadi) Then
    MsgBox "Hesap Adı Boş olamaz!"
    Me.hesapadi.SetFocus
    Exit Sub
  End If
 
 
       
 
  If MsgBox("HATIRLATMA. " & Chr(13) & _
    "Yazdırılacak!", vbInformation + vbOKCancel) = vbOK Then
 Else
      Exit Sub
    End If
  ' Word Şablonundan yeni belge oluşturma.
  Dim WordApp As Word.Application
  Dim strTemplateLocation As String
 
  ' Şablonun bulunduğu yer
 

   
   strTemplateLocation = CurrentProject.Path & "\talimat2.docx"
  On Error Resume Next
  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
   
  ' Her satırı uygun olan kayıt ile değiştirmek.
  With WordApp.Selection
 
    .Goto what:=wdGoToBookmark, Name:="bankaak"
    .TypeText [bankaak]
   
     .Goto what:=wdGoToBookmark, Name:="subeak"
    .TypeText [subeak]
   
       .Goto what:=wdGoToBookmark, Name:="hesapno"
    .TypeText [hesapno]

   
     .Goto what:=wdGoToBookmark, Name:="hesapadi"
    .TypeText [hesapadi]


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

ErrHandler:
Set WordApp = Nothing

   
End Sub

sn derzulya,
Worde aktarırken ilgili açılır kutular yazmış olduğunuz kodla ilk sütunları gönderilir, eğer isimleri göndermek istersen worde aktarma kodunun aşağıdaki kısmında değişiklik yapman gerekir.
 .Goto what:=wdGoToBookmark, Name:="bankaak"
    .TypeText [bankaak].Column(1)
   
     .Goto what:=wdGoToBookmark, Name:="subeak"
    .TypeText [subeak].Column(1)
   
       .Goto what:=wdGoToBookmark, Name:="hesapno"
    .TypeText [hesapno].Column(2)

   
     .Goto what:=wdGoToBookmark, Name:="hesapadi"
    .TypeText [hesapadi].Column(2)
Çok teşekkür ederim. Tam olarak istediğim şey