Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
27/11/2010 18:44
Konu Sahibi
erdem55
Yorumlar
5
Okunma
1959
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

erdem55

Aktif Üye
Aktif Üye
 37
 54
 7
 13/03/2009
3
 Samsun
 
 Ofis 2007
 21/05/2018,14:06
Çö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.

Kullanici Avatari

Hayri16

Aktif Üye
Aktif Üye
 58
 1.010
 56
 12/11/2009
294
 Bursa
 
 Ofis 2007
 10/04/2018,10:30
Çö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.

Kullanici Avatari

erdem55

Aktif Üye
Aktif Üye
 37
 54
 7
 13/03/2009
3
 Samsun
 
 Ofis 2007
 21/05/2018,14:06
Çö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.

Kullanici Avatari

Hayri16

Aktif Üye
Aktif Üye
 58
 1.010
 56
 12/11/2009
294
 Bursa
 
 Ofis 2007
 10/04/2018,10:30
Çö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.

Kullanici Avatari

erdem55

Aktif Üye
Aktif Üye
 37
 54
 7
 13/03/2009
3
 Samsun
 
 Ofis 2007
 21/05/2018,14:06
Çö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.

Kullanici Avatari

erdem55

Aktif Üye
Aktif Üye
 37
 54
 7
 13/03/2009
3
 Samsun
 
 Ofis 2007
 21/05/2018,14:06
Çö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.


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Liste Kutusundaki Tutarların Toplamını Almak Allback 1 65 04/09/2018, 15:47
Son Yorum: Allback
Çözüldü Şartlı Rapor Almak m_demir 27 592 03/08/2018, 18:59
Son Yorum: m_demir
Çözüldü İki Tarih Arası Rapor Almak m_demir 6 275 22/07/2018, 21:00
Son Yorum: m_demir
Çözüldü Metin Kutularına Veri Almak m_demir 6 235 29/05/2018, 21:45
Son Yorum: m_demir
Çözüldü Sürekli Form Çıktı Almak. m_demir 3 180 26/05/2018, 00:50
Son Yorum: m_demir

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2018 MyBB Group.