klasör ekletip o klasöre pdf olarak kaydetme

1 2
17/12/2013, 23:12

kesoka

Sayın Hocalarım ben programımda yaptığım bir raporu pdf formatında kaydettiriyorum. yalnız şöyle bir şey yapılabilirmi? projemizin olduğu dizinde teklifler adında bir klasörüm var. ben raporumu pdf ye dönüştürürken teklifler klasörüne bugünün tarinde hatta olabilirse bu ayın isminde bir kalsör oluştursun ve oraya kaydetsin.

Dim MyReport As String
MyReport = CurrentProject.Path & "\teklifler\" & Me.adisoyadi & "-" & Me.tcno & ".pdf"
DoCmd.OutputTo acOutputReport, "Personel Dosyası", "PDFFormat(*.pdf)", MyReport, False, "", 0

bu kod ile pdf yapıp teklifler klasörüne kaydediyor.

MkDir CurrentProject.Path & "\" & "teklifler" & "\" & Date
kodlaması ile bugünün tarihinde klasörde ekletiyorum burdada sorun yok fakat bu iki kodu bir butonla kullanıp eğer teklifler klasöründe bugünün tarihinde klasör yoksa ekleyip sonra pdf olarak oraya kaydetmesini sağlayabilirmiyiz.

sadece kodlama ile ilgili olduğu için örnek eklemedim ama gerekli derseniz hemen ekleyebilrim.. teşkler ilginize..
17/12/2013, 23:40

KJS

örnek eklerseniz daha iyi olur
17/12/2013, 23:52

kesoka

örnek ektedir. açılan formda listedeki deneme firmasına çift tıkladığınızda teklif formuna gitmektedir. orda şuan kaytılı bir teklif vardır. raporu ön izle butonun komutunda önce klasör oluşturma ardındanda pdf ye dönüştürüp belirtilen klasörde date yani bugün tarihli kalsöre kaydetmesi için bi kod yazdım fakat bugün tarihli klasöre kaydetmiyor. aynı güne ait 2. bir tekli hazıladığımdada date bugün tarihli klasör olduğundan tekrar oluşturmaya çalışıp hata veriyor. burda kalsör oluşturmayı öncelikle date() tarihli klasör yoksa oluştursun şekline getirmeyi yapamadım. tşkler ilgilinize
18/12/2013, 01:22

KJS

sn kesoka;
Kodu nereye uyguladınız? Birde raporlarda teklif raporu yok... deneme yapamadım.
mkdir'den önce:
On Error Resume Next dener misiniz?

Örnek de ekledim, inceleyin.
18/12/2013, 15:58

kesoka

sayın hocam raporu önzile butonuyla teklif onaylı raporunu pdf olarak kaydettiriyor. ayrıca projenin içinde teklifonayli raporu mevcut. kullandığım kod da şu şekilde raporu önizle butonundaki.

[/vb]Private Sub Komut30_Click()
MkDir CurrentProject.Path & "\" & "teklifler" & "\" & Date
If vbYes = MsgBox("Yazdırılsınmı? Hayır Derseniz Teklif önizleme Yapılacak", _
vbQuestion + vbYesNo + vbDefaultButton2, _
"Yazdır / önizle") Then
DoCmd.OpenReport "teklinonayli"
Else
DoCmd.OpenReport "teklifonayli", A_PREVIEW
End If


Dim MyReport As String
MyReport = CurrentProject.Path & "\" & "teklifler" & "\" & Date & Me.sayi & ".pdf"
DoCmd.OutputTo acOutputReport, "teklifonayli", "PDFFormat(*.pdf)", MyReport, False, "", 0
End Sub

burda kullandığım baştaki MkDir İN kullanımı tabi yalnış.
yaptırmaya çalıştığım ise şu
1) raporu önzile butonuna bastığımda projenin bulunduğu yerdeki teklifler klasöründe eğer bugün tarihli bir klasör yoksa eklesin. ama yoksa varsa eklmemiyecek tabi...
2) klasörü ekledikden sonra teklif onaylı raporunu programın bulunduğu yerdeki teklifler klasöründa az önceki kodla oluşturduğumuz date() bugün tarihli klasöre pdf olarak kaydetsin.

sanırım 2003 kullanıyosunuz hocam eklediğiniz örnekde pdf çevirme için dll ler kullanıyorsunu heralde. ben 2007 kullanıyorum.
o yuzden pdf çevirtme yöntemlerimiz farklı sanırım.

umarım ne yapmaya çalıştığımı anlatabilmişimdir. tşkler ilginize
18/12/2013, 20:24

KJS

sn kesoka;
Office 2007 kullanıyorum profilime bakarsanız göreceksiniz. 2003 kullansaydım zaten eklediğiniz programı açamıyacaktım.
birde eklediğiniz dosyayı açtığımızda iki tane accdb dosyası çıkıyor.
teklif.accdb (raporlar kısmında "teklinonayli" raporu yok zaten.)
teklif - Kopya.accdb
hangisini göz önüne alayım kopya yoksa normali mi?
1 2