AccessTr.neT

Tam Versiyon: Metin Kutusu Güncellemesi Olayını Eğer İle Kodlamak
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
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.
if sınıf<11 then
select case Me.txtogretmen
.
.
.
else
select case Me.txtogretmen
.
.
.
end if
benzeri bir mantık işinize yarayabilir
Şöyle bir sorun var: Sınıf değeri metinsel bir değer. 12-C gibi. Bunu "len" komutuyla mı almak.
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)
Şö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.
Left([derssnf];InStr(1;[derssnf];"-";1)-1)

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