Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
24/05/2019 11:04
Konu Sahibi
hbal09
Yorumlar
6
Okunma
210
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
hbal09

hbal09

Aktif Üye
26172
 34
 106
 19/10/2010
3
 Aydın
 
 Ofis 2016 64 Bit
 11/07/2019,17:56
Çözüldü 
Merhabalar,
bir tablomda gider tanımları yeralıyor, bu gider tanımları 2 farklı gösterimde.
Örneğin;
1.   Yakıt / 34 ABC 123 -->150 TL
2.   Kargo --> 40 TL

yukarıdaki gibi bazı tanımlarda ilk tanımdan sonra "/" karakteri, bazı tanımlarda ilk tanımdan sonra  "-->" karakterleri bulunmakta. ben bir sorgu ile bu alan değerlerinden ilk bölümlerini yazdırmak istiyorum.
yani sorgum sonucunda bana,
Yakıt
Kargo
Maaş
Avans
Fazla Mesai
Çek Senet
Mutfak
gibi listelemesini istiyorum.
bunu nasıl yapabilirim?
Saygılarımla.




hbal09

hbal09

Aktif Üye
26172
 34
 106
 19/10/2010
3
 Aydın
 
 Ofis 2016 64 Bit
 11/07/2019,17:56
Merhabalar,
problemimi şu şekilde çözdüm;

Visual Basic Code
ilk_tanim: IIf((InStr(1;[gider_tanim];"/";1)-2)>0;Left([gider_tanim];InStr(1;[gider_tanim];"/";1)-2);Left([gider_tanim];InStr(1;[gider_tanim];"-->";1)-2))



...........
halily

halily

Uzman
65596
ha....
 26
 1.260
 30/07/2014
215
 -
 
 Ofis 2019 64 Bit
 Bugün,00:20
öncelikle bir çalışmanıza bir modül ekleyip aşağıdaki kodu yapıştırın

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
Function BasAl(TxtAlan As String) As String
Dim x, y, xy As Integer
x = InStr(1, TxtAlan, " /")
y = InStr(1, TxtAlan, " -->")
If x < y And x > 0 Then xy = x - 1 'TxtAlan = Mid(TxtAlan, 1, x - 1)
If y < x And y > 0 Then xy = y - 1 'TxtAlan = Mid(TxtAlan, 1, y - 1)
If x > 0 And y = 0 Then xy = x - 1
If y > 0 And x = 0 Then xy = y - 1
If y = 0 And x = 0 Then xy = Len(TxtAlan)
BasAl = Mid(TxtAlan, 1, xy)
End Function

sonra da sorgunuzun ilgili alanına aşağıdaki kodu yazın

SQL Code
alan1: BasAl([TabloAdi]![AlanAdi])



hbal09

hbal09

Aktif Üye
26172
 34
 106
 19/10/2010
3
 Aydın
 
 Ofis 2016 64 Bit
 11/07/2019,17:56
(24/05/2019 12:31)haliliyas Adlı Kullanıcıdan Alıntı: öncelikle bir çalışmanıza bir modül ekleyip aşağıdaki kodu yapıştırın

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
Function BasAl(TxtAlan As String) As String
Dim x, y, xy As Integer
x = InStr(1, TxtAlan, " /")
y = InStr(1, TxtAlan, " -->")
If x < y And x > 0 Then xy = x - 1 'TxtAlan = Mid(TxtAlan, 1, x - 1)
If y < x And y > 0 Then xy = y - 1 'TxtAlan = Mid(TxtAlan, 1, y - 1)
If x > 0 And y = 0 Then xy = x - 1
If y > 0 And x = 0 Then xy = y - 1
If y = 0 And x = 0 Then xy = Len(TxtAlan)
BasAl = Mid(TxtAlan, 1, xy)
End Function

sonra da sorgunuzun ilgili alanına aşağıdaki kodu yazın

SQL Code
alan1: BasAl([TabloAdi]![AlanAdi])


Sizin yöntem daha profesyonel görünüyor, çok teşekkür ederim. Sorunum çözülmüştür.




...........
halily

halily

Uzman
65596
ha....
 26
 1.260
 30/07/2014
215
 -
 
 Ofis 2019 64 Bit
 Bugün,00:20
sizinki daha şiirsel ))
/ ile --> arasında öncelik sırası var mı?



hbal09

hbal09

Aktif Üye
26172
 34
 106
 19/10/2010
3
 Aydın
 
 Ofis 2016 64 Bit
 11/07/2019,17:56
(24/05/2019 12:39)haliliyas Adlı Kullanıcıdan Alıntı: sizinki daha şiirsel ))
/ ile --> arasında öncelik sırası var mı?

Img-grin Img-grin 

öncelik sırası olarak düşünebilir miyiz bilemem ama örnekte de görüleceği üzere "/" içeren tanımların devamında "-->" da bulunmakta, bundan dolayı yorumumda yazdığım sorgu ifadesinde önce "/" kontrolü, ardından "-->" kontrolü yer almaktadır.



...........

Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Ara Toplam Alma edacan19 14 351 09/05/2019, 14:37
Son Yorum: edacan19
Çözüldü Web Sitesinden Tabloya Veri Alma aliyuzen 3 371 10/04/2019, 15:43
Son Yorum: ozanakkaya
Çözüldü Ms Access Excel Veri Alma Sorunu / Ms Access Import Data hakkih 13 2.102 10/01/2019, 21:40
Son Yorum: hakkih
Çözüldü İki Tarih Arası Veri Alma hegu 7 424 15/12/2018, 12:09
Son Yorum: ozanakkaya
Çözüldü Tablodan Dilediğimiz Sayı Kadar Veri Çekme İşlemi Nasıl Yapılır? alimadam 4 309 13/12/2018, 16:41
Son Yorum: alimadam

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