AccessTr.neT

Tam Versiyon: If-then-else şartını daha kısa nasıl yazabilirim?
Ş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 3 4
Cüneyt Bey teşekkür ederim sayenizde bir şey daha öğrendim. Sorgularda IsNull ve IsNotNull kullanıyorum Vba da Alan1=IsNull şeklinde kullanmak istediğimde hata vermişti. Üzerinde durmamıştım. Demek sizin dediğiniz şekilde kullanmam lazımmış.
Diğer konuyu yukarıda anlattım. Sizin dediklerinizi hepsi yapılmış vaziyette. Bu dosya benim oluşturduğum bir tablo değil. Ben asıl programıma bu atablodan veri almak durumundayım. Sayın Bilgisayarcıya da durumu anlatmıştım. Img-grin Saygılarımla.
kod sadece ilk dört sıra için yapıldı alan adları değişti dikkat et veri alım adları değil


'İLAÇLARIN DURUMUNA GÖRE AKTAR TUŞLARINI AKTİF PASİF YAPMA
Dim i As Integer
For i = 0 To 3 Step 1

If IsNull(Me("Alan" & i & "1")) Or IsNull(Me("Alan" & i & "2")) Or IsNull(Me("Alan" & i & "3")) Or IsNull(Me("Alan" & i & "4")) Then Me("Alan" & i & "7").Enabled = False Else Me("Alan" & i & "7").Enabled = True
Next i


bu kod ilk dört sırayı kontrol eder sen sonraki sıraların alan adlarını değiştirdikten sonra For i = 0 To 3 Step 1 burdaki 3 4 5 diye artıracaksın ve burayıda kopyala yapıştırla artıracaksın IsNull(Me("Alan" & i & "3")) burdaki örneği incele
kayıtları değiştir istediğinin olduğunu görürsün
Sayın esrefigit;
Teşekkür ederim.En kısa kod bu oldu. Dediğiniz gibi yaptım. Alan değerlerinin hepsini ve komut tuşlarını "kutu" olarak adlandırdım. Sizin "kutu" olarak alandırdığınız metin kutularını "alan" olarak isimlendirip herhangi bir karışıklığa sebeb olmasını engelledim. Sonuçta kod aşağıdaki gibi oldu:
Kod:
For i = 0 To 9 Step 1
If IsNull(Me("Kutu" & i & "1")) Or IsNull(Me("Kutu" & i & "2")) Or IsNull(Me("Kutu" & i & "3")) Or IsNull(Me("Kutu" & i & "4")) Then Me("Kutu" & i & "7").Enabled = False Else Me("Kutu" & i & "7").Enabled = True
Next i
Ancak Sayın Bilgisayarcı'nın örneğindeki gibi bu kod da Miktar alanındaki "0.0" değerlerini kontrol etmiyor. Yani miktar "0.0" gelince komut tuşu true olarak kalıyor. Sevgi ve saygılarımla..

Tamam.Çözümü buldum.Kodu aşağıdaki şekilde yazdım ve sorun bitti. Bütün ilgilenen ve yardımcı olan arkadaşlara çok teşekkürler.
Kod:
For i = 0 To 9 Step 1
If IsNull(Me("Kutu" & i & "1")) Or IsNull(Me("Kutu" & i & "2")) Or IsNull(Me("Kutu" & i & "3")) Or (Me("Kutu" & i & "3")) = "0.0" Or IsNull(Me("Kutu" & i & "4")) Then Me("Kutu" & i & "7").Enabled = False Else Me("Kutu" & i & "7").Enabled = True
Next i
Soruyu soran ve çözüm üreten herkese teşekkürler. Saygılar...
Sayfalar: 1 2 3 4