mkdir hakkında

18/12/2012, 19:24

senelkose

Değerli Üstadlar,
Tüm siteyi taradım istediğim şeye göre uygun bir örnek bulamadım yada buldugum örnekleri isteğime uyarlayamadım.
sizden istirhamım şudur , ben form üzerinden 4 adet raporu toplu olarak pdf cevırmek ( ayrı ayır ) ve o form üzerindeki verilere göre otomatık açılmış olan klasöre kaydetmek istiyorum. bunu yapmak için su kkodu kullanıyorum ama başaramadım lütfen incelermisiniz

 Private Sub Komut237_Click()

Dim klasor As String
Dim yol As String
Dim a, x, y As String
x = Me.hastane_adi
y = Me.ihale_kodu
a = Me.ihalenin_adi

klasor = MkDir CurrentProject.Path & " \ " & x & " \ " & y & " \ " & a

yol = klasor & "\teklif_mektubu.pdf"

DoCmd.OutputTo acOutputReport, "rp_ihale_teklif_mektup", "PDFFormat(*.pdf)", yol, False, "", 0

End Sub

burada sunu yapıyorum prgamın yuklu oldugu klasore 3 adet kalasor olusturuyorum bunda sorun yok mesela ( c:\ ihale\ declet hastanesi\ 123121 \ malzeme alımı\ ) bu diizinin içine teklif mektubunu teklif cetvelini mukayese cetvelini ve teminar başvuru formunu gondermek istiyorum
ama henuz basarmıs degılım yardımlarını beklıyorum kod hata verıyor klasor aclıyor ama istedıgım raporları buraya gondermıyor
18/12/2012, 23:27

mcmaho

projenizi eklerseniz daha kolay yardımcı oluruz.
19/12/2012, 13:49

accessman

hangi satır da nasıl hata veriyor
19/12/2012, 21:13

ozanakkaya

Kullanman gereken kod aşağıda

Dim DosyaYeri, DosyaAdi, a, x, y As String

x = "declet hastanesi" 'Me.hastane_adi
y = "123121" 'Me.ihale_kodu
a = "malzeme alımı" 'Me.ihalenin_adi

MkDir CurrentProject.Path & "\" & x
MkDir CurrentProject.Path & "\" & x & "\" & y
MkDir CurrentProject.Path & "\" & x & "\" & y & "\" & a

DosyaYeri = CurrentProject.Path & "/" & x & "/" & y & "/" & a
DosyaAdi = DosyaYeri & "/teklif_mektubu.pdf"

DoCmd.OutputTo acOutputReport, "rpr_teklifmektubu", "PDFFormat(*.pdf)", DosyaAdi, False, "", , acExportQualityPrint


Ayrıca, konu açarken yaptığınız yazım hatalarını biran önce düzeltiniz.
20/12/2012, 01:59

ozanakkaya

Sanırım bu şekilde daha iyi.

Dim DosyaAdi, a, x, y, KlasorYolu1, KlasorYolu2, KlasorYolu3, KVarMi1, KVarMi2, KVarMi3 As String

x = Me.hastane_adi
y = Me.ihale_kodu
a = Me.ihalenin_adi

KlasorYolu1 = CurrentProject.Path & "\" & x
KlasorYolu2 = CurrentProject.Path & "\" & x & "\" & y
KlasorYolu3 = CurrentProject.Path & "\" & x & "\" & y & "\" & a

KVarMi1 = Len(Dir(KlasorYolu1, vbDirectory))
If KVarMi1 = 0 Then
MkDir KlasorYolu1
End If
KVarMi2 = Len(Dir(KlasorYolu2, vbDirectory))
If KVarMi2 = 0 Then
MkDir KlasorYolu2
End If
KVarMi3 = Len(Dir(KlasorYolu3, vbDirectory))
If KVarMi3 = 0 Then
MkDir KlasorYolu3
End If

KlasorYolu3 = CurrentProject.Path & "/" & x & "/" & y & "/" & a
DosyaAdi = KlasorYolu3 & "/Teklif Mektubu.pdf"

DoCmd.OutputTo acOutputReport, "rpr_teklifmektubu", "PDFFormat(*.pdf)", DosyaAdi, False, "", , acExportQualityPrint
20/12/2012, 12:33

senelkose

çok teşekkür ederim Ozan bey,
yardımlarınız sonunda bir sonuca ulaştım ve işin sonunda şöyle bir kod yazdım tabiki 100 lerce dafa deneyerek, mesajlarınızı şimdi ancak kontrol edebildim. benim bu kadar ugraştığım sey aslında cok kolaymıs gordum ki . Bigi ve tecrube çok önemli. sizleden çok sey öğreniyorum. emeğinizi helal ediniz.
benim ugası sonunca buldugum yol şöyle idi,
once dklasorleri olusturuyroum

Private Sub Komut237_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim a As String

Dim b As String



a = Me.hastane_adi
b = Me.ihalenin_adi

If Len(Dir(CurrentProject.Path & "\" & a & "", vbDirectory)) = 0 Then
MkDir CurrentProject.Path & "\" & a
End If
If Len(Dir(CurrentProject.Path & "\" & a & "\" & b & "", vbDirectory)) = 0 Then
MkDir CurrentProject.Path & "\" & a & "\" & b

End If

End Sub


sonra butona basılıncada dosyayı klasöre aydediyorum

Private Sub Komut237_Click()

Dim a As String
Dim b As String

a = Me.hastane_adi
b = Me.ihalenin_adi

yol = CurrentProject.Path & "\" & a & "\" & b & "\teklif_mektubu.pdf"

DoCmd.OutputTo acOutputReport, "rp_ihale_teklif_mektup", "PDFFormat(*.pdf)", yol, False, "", 0

End Sub

YALNIZ BURADA HALA ÇÖZEMEDİĞİM BİR SORUN VAR,

DoCmd.OutputTo acOutputReport, "rp_ihale_teklif_mektup", "PDFFormat(*.pdf)", yol, False, "", 0
BU KOMUTA KRİTER EKLEMEK İSTERSEN NEREYE EKLEMEM GEREKİYOR
EKLEMEK İSTEDİĞİM KRİDTER : [ihale_kodu] = [Forms]![ihale_hazirla]![ihale_kodu]

RAPORDAKİ İHALE KODU İLE FORMDAKİ İHALE KODU AYNI BENİM RAPOR USTUNDE İŞLEM YAPTIGIM İHALENİN RAPORUNU GÖNDERMEK İSTİYORUM

bunuda halledersem sorunlarım çözülmüş oluyor. şimdiden çok teşekkür ederim