Metin Kutusu Güncellemesi Olayını Eğer İle Kodlamak

1 2
15/06/2021, 10:44

SeferŞANLI

birinci resimdeki kriterleri dikkate alarak
"txtsınıf" metin kutusunun içerisindeki rakamı 9, 10, 11, 12 gibi baz alarak "txtogrencisayısı" metin kutusunun içerisindeki sayısal değere göre (güncelleme olayına) yazacağımız kod "txtgrupsayısı" metin kutusuna değeri nasıl getirebiliriz.

Resim-1
https://resimyukle.org/i/kWxAu

Resim-2

https://resimyukle.org/i/kWBjv

Select Case Me.txtogretmen
Case Is <= 16
Me.txtgrpsay = 1
Case Is <= 24
Me.txtgrpsay = 2
Case Is <= 32
Me.txtgrpsay = 3
Case Is >= 33
Me.txtgrpsay = 4
End Select

Normalde bu şekilde yapıyordum lakin; şimdi "sınıfı "metin alanındaki 9,10,11,12 olmasına göre değerler değiştiği için Şartlımı yapmak lazım. IIF yöntemimi gerekli.
15/06/2021, 10:51

berduş

if sınıf<11 then
select case Me.txtogretmen
.
.
.
else
select case Me.txtogretmen
.
.
.
end if
benzeri bir mantık işinize yarayabilir
15/06/2021, 11:09

SeferŞANLI

Şöyle bir sorun var: Sınıf değeri metinsel bir değer. 12-C gibi. Bunu "len" komutuyla mı almak.
15/06/2021, 11:30

berduş

len komutu uzunluğu bulmak için kullanılır, sizin - den önceki kısmı almanız gerek, bunun içinde mid(sınıf,instr(sınıf,"-")-1) gibi başka bir ifade kullanmalısınız
o nedenle mid ve instr komutlarıya ilgili bir araştırma yapmanız işinize yarayabilir

kusura bakmayın yanlış yazmışım
mid yerine left olmalıydı
left(sınıf,instr(sınıf,"-")-1)
15/06/2021, 11:49

SeferŞANLI

Şöyle bir şey yapmaya çalıştım. Tabloma "snf" diye hesaplanmış bir alan ekledim ve ifade kısmına "Left([derssnf];InStr([derssnf];"-")-1)" ifadesini yazdım. Söz dizimi hatası alıyorum.

Bu alanı alt formda görü-nmez bir metin kutusuna çağırarak oradan şartlama yı yapmak istiyorum.
15/06/2021, 12:15

SeferŞANLI

Left([derssnf];InStr(1;[derssnf];"-";1)-1)

Tamam. Teşekkür ederim. Bu şekilde çözdüm.
1 2