If-then-else şartını daha kısa nasıl yazabilirim?
Tarih
17/12/2009 02:04
Konu Sahibi
Hayri16
Yorumlar
21
Okunma
4777
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Değerli Arkadaşlar;
Formumdaki 10 ayrı grup alanındaki verilere göre komut tuşlarını aktif pasif yapmak istedim. Oldukça uzun bir kod ortaya çıktı. Aynı zamanda istediğimi de yapmadı. Aşağıda verdiğim kodları daha kısa yazma imkanım var mı? Sevgi ve saygılarımla...

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
'1.ilacı kontrol
If Alan9 = Null Or Alan9 = "" Or Alan9 = Empty Then
Komut154.Enabled = False
Else
   If Alan10 = Null Or Alan10 = "" Or Alan10 = Empty Then
   Komut154.Enabled = False
   Else
      If Alan11 = Null Or Alan11 = "" Or Alan11 = Empty Or Alan11 = "0.0" Then
      Komut154.Enabled = False
      Else
        If Alan12 = Null Or Alan12 = "" Or Alan12 = Empty Or Alan12 = "0" Then
        Komut154.Enabled = False
        Else
        Komut154.Enabled = True
End If
   End If
      End If
         End If
         
  '2.ilacı kontrol
If Alan14 = Null Or Alan14 = "" Or Alan14 = Empty Then
Komut155.Enabled = False
Else
   If Alan15 = Null Or Alan15 = "" Or Alan15 = Empty Then
   Komut155.Enabled = False
   Else
      If Alan16 = Null Or Alan16 = "" Or Alan16 = Empty Or Alan16 = "0.0" Then
      Komut155.Enabled = False
      Else
        If Alan17 = Null Or Alan17 = "" Or Alan17 = Empty Or Alan17 = "0" Then
        Komut155.Enabled = False
        Else
        Komut155.Enabled = True
End If
   End If
      End If
         End If
         
'3.ilacı kontrol
If Alan19 = Null Or Alan19 = "" Or Alan19 = Empty Then
Komut156.Enabled = False
Else
   If Alan20 = Null Or Alan20 = "" Or Alan20 = Empty Then
   Komut156.Enabled = False
   Else
      If Alan21 = Null Or Alan21 = "" Or Alan21 = Empty Or Alan21 = "0.0" Then
      Komut156.Enabled = False
      Else
        If Alan22 = Null Or Alan22 = "" Or Alan22 = Empty Or Alan22 = "0" Then
        Komut156.Enabled = False
        Else
        Komut156.Enabled = True
End If
   End If
      End If
         End If
         
'4.ilacı kontrol
If Alan24 = Null Or Alan24 = "" Or Alan24 = Empty Then
Komut157.Enabled = False
Else
   If Alan25 = Null Or Alan25 = "" Or Alan25 = Empty Then
   Komut157.Enabled = False
   Else
      If Alan26 = Null Or Alan26 = "" Or Alan26 = Empty Or Alan26 = "0.0" Then
      Komut157.Enabled = False
      Else
        If Alan27 = Null Or Alan27 = "" Or Alan27 = Empty Or Alan27 = "0" Then
        Komut157.Enabled = False
        Else
        Komut157.Enabled = True
End If
   End If
      End If
         End If

'5.ilacı kontrol
If Alan29 = Null Or Alan29 = "" Or Alan29 = Empty Then
Komut158.Enabled = False
Else
   If Alan30 = Null Or Alan30 = "" Or Alan30 = Empty Then
   Komut158.Enabled = False
   Else
      If Alan31 = Null Or Alan31 = "" Or Alan31 = Empty Or Alan31 = "0.0" Then
      Komut158.Enabled = False
      Else
        If Alan32 = Null Or Alan32 = "" Or Alan32 = Empty Or Alan32 = "0" Then
        Komut158.Enabled = False
        Else
        Komut158.Enabled = True
End If
   End If
      End If
         End If
         
'6.ilacı kontrol
If Alan34 = Null Or Alan34 = "" Or Alan34 = Empty Then
Komut159.Enabled = False
Else
   If Alan35 = Null Or Alan35 = "" Or Alan35 = Empty Then
   Komut159.Enabled = False
   Else
      If Alan36 = Null Or Alan36 = "" Or Alan36 = Empty Or Alan36 = "0.0" Then
      Komut159.Enabled = False
      Else
        If Alan37 = Null Or Alan37 = "" Or Alan37 = Empty Or Alan37 = "0" Then
        Komut159.Enabled = False
        Else
        Komut159.Enabled = True
End If
   End If
      End If
         End If

'7.ilacı kontrol
If Alan39 = Null Or Alan39 = "" Or Alan39 = Empty Then
Komut160.Enabled = False
Else
   If Alan40 = Null Or Alan40 = "" Or Alan40 = Empty Then
   Komut160.Enabled = False
   Else
      If Alan41 = Null Or Alan41 = "" Or Alan41 = Empty Or Alan41 = "0.0" Then
      Komut160.Enabled = False
      Else
        If Alan42 = Null Or Alan42 = "" Or Alan42 = Empty Or Alan42 = "0" Then
        Komut160.Enabled = False
        Else
        Komut160.Enabled = True
End If
   End If
      End If
         End If
         
'8.ilacı kontrol
If Alan44 = Null Or Alan44 = "" Or Alan44 = Empty Then
Komut161.Enabled = False
Else
   If Alan45 = Null Or Alan45 = "" Or Alan45 = Empty Then
   Komut161.Enabled = False
   Else
      If Alan46 = Null Or Alan46 = "" Or Alan46 = Empty Or Alan46 = "0.0" Then
      Komut161.Enabled = False
      Else
        If Alan47 = Null Or Alan47 = "" Or Alan47 = Empty Or Alan47 = "0" Then
        Komut161.Enabled = False
        Else
        Komut161.Enabled = True
End If
   End If
      End If
         End If
         
'9.ilacı kontrol
If Alan49 = Null Or Alan49 = "" Or Alan49 = Empty Then
Komut162.Enabled = False
Else
   If Alan50 = Null Or Alan50 = "" Or Alan50 = Empty Then
   Komut162.Enabled = False
   Else
      If Alan51 = Null Or Alan51 = "" Or Alan51 = Empty Or Alan51 = "0.0" Then
      Komut162.Enabled = False
      Else
        If Alan52 = Null Or Alan52 = "" Or Alan52 = Empty Or Alan52 = "0" Then
        Komut162.Enabled = False
        Else
        Komut162.Enabled = True
End If
   End If
      End If
         End If
         
'10.ilacı kontrol
If Alan54 = Null Or Alan54 = "" Or Alan54 = Empty Then
Komut163.Enabled = False
Else
   If Alan55 = Null Or Alan55 = "" Or Alan55 = Empty Then
   Komut163.Enabled = False
   Else
      If Alan56 = Null Or Alan56 = "" Or Alan56 = Empty Or Alan56 = "0.0" Then
      Komut163.Enabled = False
      Else
        If Alan57 = Null Or Alan57 = "" Or Alan57 = Empty Or Alan57 = "0" Then
        Komut163.Enabled = False
        Else
        Komut163.Enabled = True
End If
   End If
      End If
         End If

Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
programı ekleyebilirsen yardımcı olmaya çalışabilirim

kodu şu şekilde düzenleyip dene bakalım
burada
Y komut düğmesinin numarasını
X alan numarasını temsil ediyor
bunun düzgün çalışması için komut düğmesinin ve alan isimlerinin numaralarının kesintisiz atlamadan verilmiş olmalı
mesela
Y 154 den 163 e
X 9 dan 57 e kesintisiz atlamadan olmalı
-----------------------
Private Sub Komut1_Click()
Dim Y As Integer
Dim X As Integer
Dim A As Integer

A = 0
Y = 154

For X = 9 To 57

A = A + 1

if A = 5 then
Y = Y + 1
A = 0
next X
end if

If Me("[Alan" & X & "]") = Null Or Me("[Alan" & X & "]") = "" Or Me("[Alan" & X & "]") = Empty Then

Me("[komut" & Y & "]").Enabled = False

Else

Me("[komut" & Y & "]").Enabled = True

End If

Next X

End Sub

---------------------------------------------
@benbendedeilem
Cevapla


Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Sayın accessman ilgine teşekkür ederim ama maalesef bende alanlar sıralı değil. O nedenle önerdiğiniz çözümü kullanamıyorum. Saygılarımla.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
5.976
29/10/2008
Ordu
Ofis 2013 32 Bit
Çözüldü 

Kod:
1
2
3
4
5
6
7
8
9
IF  hedehöde.şartı THEN
  Şart TRUE ise yapılacaklar
ELSE IF
  Şart doğru değilse yapılacaklar
ELSE IF
  Bir üstteki şart doru değilse yapılacaklar
ELSE
  Yuh artık tüm şartlarda olmazsa artık yapılacaklar
END IF


Aradaki ELSEIF ler istediğin kadar arttırılabilir. Alternatif olarak değerler belirliyse Switch kullanılabilir.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla


Bilgisayarcı
Atçalı
Kullanici Avatari
Onursal
657
29/01/2008
410
Antalya
Ofis 2003
01/11/2011,15:17
Çözüldü 
Bu alanlar metin mi sayısal mı?
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
                                                                                        Descartes


Cevapla


Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Çözüldü 
Sayın Alpeki99;
Dediğiniz gibi yaptım fakat komut tuşu (aşağıda yazdığım kodda) sadece Alan51="0.0" olursa false oluyor. Diğer her durumda true oluyor.

Kod:
1
2
3
4
5
6
7
8
9
10
11
If Alan49 = Null Or Alan49 = "" Or Alan49 = Empty Then
Komut162.Enabled = False
ElseIf Alan50 = Null Or Alan50 = "" Or Alan50 = Empty Then
   Komut162.Enabled = False
   ElseIf Alan51 = Null Or Alan51 = "" Or Alan51 = Empty Or Alan51 = "0.0" Then
      Komut162.Enabled = False
      ElseIf Alan52 = Null Or Alan52 = "" Or Alan52 = Empty Or Alan52 = "0" Then
        Komut162.Enabled = False
        Else
        Komut162.Enabled = True
End If


Sayın Bilgisayarcı alanların hepsi metin değişken türünde.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Access Formda Tümünü Seç Özelliği Nasıl Eklenir? mehami 5 187 16/11/2016, 21:35 mehami
  Butonlardaki Hesaplama Kodunu Güncelleme de nasıl yapabiliriz ask200075 6 178 15/11/2016, 12:08 ask200075
  Seçime Bağlı Form Açma-Açılan Formda Seçilenleri Raporda Gösterme Nasıl Yapılır? mehami 8 199 14/11/2016, 18:43 mehami
  Access Veritabanında Tablo Şifreleme ve Formdan Tabloya Bağlanma Nasıl Yapılır?? mehami 11 308 09/11/2016, 23:35 mehami
  Evrak Kayıt uygulaması için nasıl bir yol izlemeliyim talebe10 7 227 06/11/2016, 13:57 atoz112


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya