verideki belli bir bölümü almak
Tarih
27/11/2010 18:44
Konu Sahibi
erdem55
Yorumlar
5
Okunma
1568
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



erdem55
Aktif Üye
Kullanici Avatari
Aktif Üye
54
7
13/03/2009
3
Samsun
Ofis 2007
04/06/2015,13:53
Çözüldü 
Arkadaşlar örnek dosyada 3 ayrı tablom mevcut bunlardan tablo alt olana tablo geçicinin içindeki verileri eklemek istiyorum. buraya kadar sıkıntı yok fakat ben ayrıca gecici dosyadan ekleme yapmadan önce bi kontrol yapmasını ve bu kontrol sonrasında anaid alanına bi id atasın istiyorum.
Anlatamıyorum. bir örnek vereyim
form SORGUr vs neyle olursa olsun geçici tablodaki d:\A\ali\ adlı veriyi çektiğimiz varsayarsak d:\ ve \aliyi silip A harfini tablo anadan kontrol edip id numarasını tblalt ın anaid kismina eklemek istiyorum.
yani tblalt a kaydı alırken
anaid 1 dosya ismi ali dosyayolu d:\a\ali\ olarak kaydetmem gerek ama verilerin sayısı değişik olduğundan len() komutu aklıma geldi ama az önceki nedenden dolayı onuda kullanamıyorum umarım sorunumu anlatabilmişimdir. Yardımcı olan herkese şimdiden çok tşk ederim.


Ek Dosyalar
.zip   ornek.zip (Dosya Boyutu: 13,48 KB / İndirme Sayısı: 6)
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Sayın erdem55;
aşağıdaki komut
Right(dosya, Len(dosya) - InStrRev(dosya, "\"))
yoluyla birlikte verilen dosya isminin yol kısmını atar.
Örnek verirsek;
dosya="C:\belgelerim\onemli\gecici\deneme.pdf"
olursa
dosya1=Right(dosya, Len(dosya) - InStrRev(dosya, "\"))
dosya1=deneme.pdf
Buradan yola çıkarak istediğinizi gerçekleştirebilirsiniz diye düşünüyorum.
Saygılar.İyi çalışmalar.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


erdem55
Aktif Üye
Kullanici Avatari
Aktif Üye
54
7
13/03/2009
3
Samsun
Ofis 2007
04/06/2015,13:53
Çözüldü 
(27/11/2010, 21:46)Hayri16 Adlı Kullanıcıdan Alıntı: Sayın erdem55;
aşağıdaki komut
Right(dosya, Len(dosya) - InStrRev(dosya, "\"))
yoluyla birlikte verilen dosya isminin yol kısmını atar.
Örnek verirsek;
dosya="C:\belgelerim\onemli\gecici\deneme.pdf"
olursa
dosya1=Right(dosya, Len(dosya) - InStrRev(dosya, "\"))
dosya1=deneme.pdf
Buradan yola çıkarak istediğinizi gerçekleştirebilirsiniz diye düşünüyorum.
Saygılar.İyi çalışmalar.

InStrRev() komutunu internette biraz araştırdım. Bundaki işlevde rastladığı ilk / yada belirtilen şarttan sonrası yada öncesi için geçerli oluyor. Bense düşünki C:\belgelerim\onemli\gecici\deneme.pdf
burdaki "belgelerim" yada "onemli" kelimelerini almak istediğimde ikinci /dan itibaren alması gerekecek bu koda ikinci / dan itibaren al dedirtme olanağı varmı acaba? yada 3 cü den itibaren. yani yapmak istediğim şey mümkünmü onuda bilmiyorum ama mümkünse ustadlarımızdan yardım istiyorum.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Aşağıdaki kodları inceleyin lütfen:

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim bolum1, bolum2 as integer
Dim Metin1,Metin2,Metin3 as string

bolum1=instr(Anametin,",") 
           'ilk virgülün yerini buluyoruz
metin1=left(Anametin,bolum1-1) 
           'Ana metinden virgüle kadar olan kısmı alıp Metin1 değeri elde ediyoruz.
bolum2=instr(bolum1+1,Anametin,",") 
           '2.virgülün yerini bulmak için "bolum1+1" instr fonksiyonunda kaçıncı  
           'karakterden sonra arama yapacağını belirtir.  
metin2=mid(Anametin,bolum1+1,bolum2 -(bolum1+1))
            'anametinin ilk virgülden sonraki kısmından ikinci virgülü bulduğumuz 
            'kısımdan ilk virgülden sonrakini çıkararak bulduğumuz uzunluk kadar
            'karakteri al Metin2 adlı değişkene ata.
Metin3=right(Anametin,(len(anametin)-bolum2+1)) 
            'Anametinin sağdaki kısmundan 2.virgüle kadar olan kısmı metin3 değişkenine  
            'atıyoruz.

Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


erdem55
Aktif Üye
Kullanici Avatari
Aktif Üye
54
7
13/03/2009
3
Samsun
Ofis 2007
04/06/2015,13:53
Çözüldü 
Eline sağlık güzel olmuş ve çok güzel anlatmışsın. Bi denim benim kdlların içine entegre etmeyi en kötü ihtimal tabloyu sildirip yeniden oluştururum gibime geliyo. Çünkü metin uzayınca aradaki cümleyi almak için sağdanda sayım yaptırtıp sağdanda belli bir alanı sildirmek gerekecek. iş uzadıkça uzayacak ister istemez yavaşlama olacak. yinede eline sağlık ekleyip denemeye çalışıcam.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


erdem55
Aktif Üye
Kullanici Avatari
Aktif Üye
54
7
13/03/2009
3
Samsun
Ofis 2007
04/06/2015,13:53
Çözüldü 
Belki birilerininde işine yara diye eklemek istedim.

Visual Basic Code
1
2
3
4
5
6
Public Function trz(yol As String)
trz1 = InStrRev(yol, "\")
trz2 = Left(yol, trz1 - 1)
trz3 = InStrRev(trz2, "\") + 1
trz = Mid(yol, trz3, (trz1 - trz3))
End Function

SQL Code
trz([dosyayolu])

kod bana ait olmadığından ustada saygı olarak aynen ekliyorum. Umarım benim gibi birilerininde işine yarar.

erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  web sayfasının belli bir kısmını gösterme maras321 2 81 30/11/2016, 17:38 maras321
  Rapor Alt toplamları almak m_demir 2 71 17/10/2016, 13:52 m_demir
  Rapor Alt Toplamı Almak m_demir 2 69 15/10/2016, 17:08 m_demir
  raporlamada günleri yanyana almak dayko 6 290 02/09/2016, 23:41 dayko
  Haber ekranını almak ates2014 28 806 01/09/2016, 17:50 ates2014


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya