Skip to main content

AccessTr.neT


Pdf Dosyasının Adını Userform.combobox.text Değeriyle Değiştirerek Klasöre Kaydetme.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
6
412

Pdf Dosyasının Adını Userform.combobox.text Değeriyle Değiştirerek Klasöre Kaydetme.

Çözüldü #1
Merhaba Herkese sağlıklı günler dilerim.
Poliçe kaydetme formunda PDF yükle butonuna basıldığında bilgisayardaki herhangi bir PDF dosyasını seçerek belli bir klasöre kaydediyor ve kaydedilen dosya yolu userform üstündeki textbox_DosyaYolu'na atanıyor. Yapmak istediğim işlem ise orjinal PDF dosyasının adının Userform üstündeki Combobox_PlakaNo.Text değeri ile değiştirerek Örnek olarak Resimde de gösterildiği gibi
hedef klasöre 07 ABC 3908.Pdf olarak kaydedilmesini sağlamak. Yardımlarınız için teşekkür ederim.

[Resim: do.php?img=11890]

Kod:
Dim DSec As FileDialog, SPath, DPath As String, objFSO
Set DSec = Application.FileDialog(msoFileDialogFilePicker)
Set objFSO = CreateObject("Scripting.FileSystemObject")

DSec.AllowMultiSelect = False
DSec.Title = "Dosya Seçiniz"
DSec.InitialFileName = "C:\"
DSec.Filters.Add "PDF Dosyaları", "*.pdf"
If DSec.Show = -1 Then
SPath = DSec.SelectedItems(1)

DPath = "D:\KT GRUP\POLİÇELER_PDF\"

objFSO.MoveFile SPath, DPath
Me.TextBox_DosyaYolu = DPath & objFSO.GetFileName(SPath)
Else
MsgBox "İşlem İptal Edildi..."
Exit Sub
End If
End Sub

.rar FORUM.rar (Dosya Boyutu: 94,74 KB | İndirme Sayısı: 2)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
Kaydettiğiniz plakaya ilişkin ikinci bir pdf olabilir mi?
Cevapla
#3
Oğuz Bey aynı plaka için 2. bir poliçe bilgisi kaydetmiş olabilir misiniz cevap vermediniz. Ben olabilir diyerek şunu öneriyorum

Dim DSec As FileDialog, SPath, DPath As String, objFSO

Set DSec = Application.FileDialog(msoFileDialogFilePicker)
Set objFSO = CreateObject("Scripting.FileSystemObject")

DSec.AllowMultiSelect = False
DSec.Title = "Dosya Seçiniz"
DSec.InitialFileName = "C:\"
DSec.Filters.Add "PDF Dosyaları", "*.pdf"
If DSec.Show = -1 Then
SPath = DSec.SelectedItems(1)
DPath = "D:\KT GRUP\POLİÇELER_PDF\"

    If Dir(DPath & Combobox_PlakaNo.Value & ".PDF") <> "" Then         '>>> plakaya ilişkin kayıtlı pdf var mı kontrol et varsa
    Name SPath As DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> Dosyayı plaka + gün (34 ABC 45_01012022.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> textbox'a dosya adı ve yolunu işle
    Else                                                               '>>> plakaya ilişkin kayıtlı pdf yoksa
    Name SPath As DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> Dosyayı plaka (34 ABC 45.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> textbox'a dosya adı ve yolunu işle
    End If
Else
MsgBox "İşlem İptal Edildi..."
Exit Sub
End If
End Sub
Cevapla
#4
(26/05/2022, 21:24)atoykan yazdı: Kaydettiğiniz plakaya ilişkin ikinci bir pdf olabilir mi?

Hocam aslında 1 pdf demek 1 senelik başlangıç ve bitiş tarihleri olan bir sözleşme ve her sene yenileniyor. Eskisinin hükmü kalmıyor fakat kullanıcılar eski sözleşmeleri görmek isterler mi onu da bilmiyorum. Plaka numarası ve aynı formun üstündeki sözleşme numarasını birleştirerek benzersiz bir dosya ismi oluşturulursa aynı isimli ikinci bir pdf asla olmaz.

Hocam önerinizi cevabımı yazdıktan sonra gördüm. Bunu da kullanbilirim yada sizin koddan hareketle günün tarihi yerine sözleşme text boxındaki değeri koyarım. Deneyip bilgi vereceğim. Teşekkür ederim.
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 26/05/2022, 22:12, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#5
Benim Date eklediğim yere poliçe noyu getirin sorun çözülmüş olur. O takdirde dosya varmı diye kontrol etminiz gerekmez if/else kısmını sadeleştirin.


If Dir(DPath & Combobox_PlakaNo.Value & ".PDF") <> "" Then        '>>> plakaya ilişkin kayıtlı pdf var mı kontrol et varsa
    Name SPath As DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> Dosyayı plaka + gün (34 ABC 45_01012022.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> textbox'a dosya adı ve yolunu işle
    Else                                                              '>>> plakaya ilişkin kayıtlı pdf yoksa
    Name SPath As DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> Dosyayı plaka (34 ABC 45.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> textbox'a dosya adı ve yolunu işle
    End If


yerine

Name SPath As DPath & Combobox_PlakaNo.Value & "_" & POLİÇENO & ".pdf"
Me.TextBox1 = DPath & Combobox_PlakaNo.Value & "_" & POLİÇENO & ".pdf"
kullanmanız yeterli olacaktır.
Cevapla
#6
(26/05/2022, 22:13)atoykan yazdı: Benim Date eklediğim yere poliçe noyu getirin sorun çözülmüş olur. O takdirde dosya varmı diye kontrol etminiz gerekmez if/else kısmını sadeleştirin.


If Dir(DPath & Combobox_PlakaNo.Value & ".PDF") <> "" Then        '>>> plakaya ilişkin kayıtlı pdf var mı kontrol et varsa
    Name SPath As DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> Dosyayı plaka + gün (34 ABC 45_01012022.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & "_" & Date & ".pdf" '>>> textbox'a dosya adı ve yolunu işle
    Else                                                              '>>> plakaya ilişkin kayıtlı pdf yoksa
    Name SPath As DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> Dosyayı plaka (34 ABC 45.pdf) olarak taşı
    Me.TextBox1 = DPath & Combobox_PlakaNo.Value & ".pdf"              '>>> textbox'a dosya adı ve yolunu işle
    End If

Hocam Allah Ne muradınız varsa versin. Beni en çok düşündüren altından kalkacak bilgimin olmadığı bölümdü sayenizde Pdf olayının %90 ı bitti. Son bir bölüm kaldı onun içinde 2-3 gündür forumlarda arama yapıyorum ama uyarlayabileceğim uygun bir örnek bulamadım. Konu açayım mutlaka birilerinin de işine yarayacaktır.
yerine

Name SPath As DPath & Combobox_PlakaNo.Value & "_" & POLİÇENO & ".pdf"
Me.TextBox1 = DPath & Combobox_PlakaNo.Value & "_" & POLİÇENO & ".pdf"
kullanmanız yeterli olacaktır.

Hocam Allah Ne muradınız varsa versin. Beni en çok düşündüren altından kalkacak bilgimin olmadığı bölümdü sayenizde Pdf olayının %90 ı bitti. Son bir bölüm kaldı onun içinde 2-3 gündür forumlarda arama yapıyorum ama uyarlayabileceğim uygun bir örnek bulamadım. Konu açayım mutlaka birilerinin de işine yarayacaktır.
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 26/05/2022, 22:41, Düzenleyen: Oğuz Türkyılmaz.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da