Skip to main content

AccessTr.neT


Seçilen Verilerin Word'e Aktarılması

Seçilen Verilerin Word'e Aktarılması

Çözüldü #1
Merhaba arkadaşlar. Word e yer imi belirleyerek yazdırma işini halletim. Projemde Olay Yeri isminde buton var. Bu butona bastığımızda sadece formda seçili olanın verilerini word e aktarıyor. Ben olması mümkünse şöyle bir şey istiyorum. Örneğin, Olay Yeri butonuna bastığımıza "Hangi sıralar eklensin" diye bir soru sorsun. 1-3 yazıp tamam dediğimizde 1 ve 3 dahil bu sırada bulunan verileri olay yeri isimli word e alt alta eklesin. Böyle bir şey mümkünse yapabilirseniz çok sevinirim. Şimdiden teşekkürler...
.rar yabanci.rar (Dosya Boyutu: 160 KB | İndirme Sayısı: 9)
Cevapla
#2
Visual Basic Code
Dim rs As New ADODB.Recordset
Set db = CurrentDb
strTemplateLocation = CurrentProject.Path & "\olay_yeri.docx"

GVeri = InputBox("İlk ve Son KAyıt", "Kayit Gir", "")

GIlkKayit = Left(GVeri, InStr(1, GVeri, "-") - 1)
GSonKayit = Mid(GVeri, InStr(1, GVeri, "-") + 1)

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 = 1
   
   
   Set oWdoc = WordApp.Documents.Add(Template:=strTemplateLocation, NewTemplate:=False)
    
   DoEvents
   WordApp.Activate
   
   SQL = "SELECT sirano, * FROM yabancilar WHERE (((sirano) Between " & GIlkKayit & " And " & GSonKayit & "));"

   rs.Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 
 
        With rs
                .MoveLast
                iRecCount = .RecordCount
                .MoveFirst
                iFldCount = .Fields.Count
     
                WordApp.ActiveDocument.Bookmarks("adi").Select
                WordApp.ActiveDocument.Tables.Add Range:=WordApp.Selection.Range, NumRows:=iRecCount + 1, NumColumns:= _
                                                1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
                                                           
                WordApp.ActiveDocument.Tables(1).Borders.Enable = False
     
                Set oWordTbl = oWdoc.Tables(1)
                For i = 1 To iRecCount

                
                    oWordTbl.Cell(i, 0) = i & "-) Adı SOYADI " & Nz(rs.Fields("ad_soyad").Value, "") & "; " & Nz(rs.Fields("uyrugu").Value, "") & " uyruklu, Baba Adı-Anne Adı oğlu/kızı, Doğum Yeri - Doğum Tarihi doğumlu, Pasaport No: Pasaport No"

                   .MoveNext
                Next i
      
          End With


ErrHandler:
Set WordApp = Nothing


1-3 yazarsanız sno 1,2,3'ü 2-3 yazarsanız sno 2 ve 3'ü yazar. Sadece adı soyadı ve uyruğu yazar.

bu tür işlemler için accessde Rapor kullanılır. Worde, excele aktarma işlemleri komplike kod gerektirir.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#3
Merhaba şu hatayı alıyorum????

[Resim: LGPk9z.jpg]
Cevapla
#4
Merhaba referenceden Ado ile ilgili kısmı seçiniz.Yanılmıyorsam microsoft.activex.Data.object 2.6 yada 2.8 gibi.

New anahtarını kullandığınız için öyle gerek.
Son Düzenleme: 17/02/2020, 00:56, Düzenleyen: feraz.
Cevapla
#6
tamam hallettim. bir de word e aktarırken başına 1-) koymaması ve alt satıra geçmemesi için hangi kodu kaldırmamız gerekiyor? diğer alanlara da yapıyorum 1-) yazmaması ve alt satıra geçmemesi gerekiyor
Son Düzenleme: 17/02/2020, 01:33, Düzenleyen: prestij06.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da