verideki belli bir bölümü almak
Tarih
27/11/2010 18:44
Konu Sahibi
erdem55
Yorumlar
5
Okunma
1644
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
17/03/2017,23:09
Çö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
294
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Sponsor Reklam
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
17/03/2017,23:09
Çö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
294
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Sponsor Reklam
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
17/03/2017,23:09
Çö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
17/03/2017,23:09
Çözüldü 
Sponsor Reklam
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
  Tablo Değerini Belirli Sayılar Arasına Almak lanetdas 2 67 Dün, 17:18 atoz112
  Listede Ve Raporda Ara Toplamı Almak. m_demir 12 184 26/05/2017, 14:33 m_demir
  Web Den Satır Sayısı Belli Olmayan Tablodan Veri Almak stringeer 2 119 28/02/2017, 08:18 stringeer
  Müşteri Bazlı Rapor Almak m_demir 5 161 08/02/2017, 20:13 m_demir
  Dinamik Excel İle Sorgu Cevabı Almak dufrety 6 151 08/02/2017, 13:02 dufrety


Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
DMCA.com Protection Status