Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
08/09/2010 10:44
Konu Sahibi
accessman
Yorumlar
46
Okunma
9930
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

accessman

Aktif Üye
Kullanici Avatari
Aktif Üye
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
iyi günler
hayırlı arifeler

eklediğim örnekte iki metin kutusuna bölme işlemi uygulanıyor
bölen "0" ise division by zero uyarısı veriyor

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Komut0_Click()
On Error GoTo hata_var
'If Metin1 / Metin3 = "division by zero" ise bir sonraki adıma geç
If Metin1 / Metin3 <> Metin1 \ Metin3 Then
MsgBox "geçersiz sonuç"
Else
Metin6 = Metin1 / Metin3
End If

hata_var:
   If Err.Number = 11 Then MsgBox "Sıfıra bölme yapamazsınız"
End Sub


If Err.Number = 11 Then MsgBox "Sıfıra bölme yapamazsınız"
yazmama rağmen bu işleme girmeyip hata mesajı çıkıyor
yapmak istediğim bu
metin1/metin3 ifadesini division by zero mesajını almadan kod yazarak
algılayıp bir sonraki adıma geçmek
if metin3=0 gibi bir şey isstemiyorum
çünkü bu örnek olsun diye ekledim
bazen formul 10-15 farklı değişkenin hangi sırada "/" işareti geleceği belli olmadan kontrol olması gerekiyor
ifadenin tümünün
if metin1/metin3="divion by zero" ise bir sonraki adıma geç
şeklinde değerlendirilmeye girmesi gerekiyor
teşekkürler


Ek Dosyalar
.rar   by zero.rar (Dosya Boyutu: 23,34 KB / İndirme Sayısı: 13)
@benbendedeilem
Cevapla

Kur@l

AccessTR.Net
Kullanici Avatari
Uzman
2.032
05/11/2008
KONYA
Ofis 2010
Bugün,18:08
Çözüldü 
Sayın Accessman;
Aşağıdaki şekilde kodunuz değiştirin bakalım ne olacak.

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Komut0_Click()
On Error GoTo hata_var
If Err.Number = 11 Then GoTo hata_var ' Ben Bu Satırı Ekledim...
'If Metin1 / Metin3 = "division 00by zero" ise bir sonraki adıma geç
If Metin1 / Metin3 <> Metin1 \ Metin3 Then
MsgBox "geçersiz sonuç"
Else
Metin6 = Metin1 / Metin3
End If
Exit Sub
hata_var:
 MsgBox "Sıfıra bölme yapamazsınız Ercan"
   Resume Next ' Bu satırda hata mesajını verdikten sonra sonraki adıma geçmenizi saağlar...
End Sub


Kolay gelsin.


komşuda dülger mi var geliyor keser sesi,
ustalar konuşunca çıraklar keser sesi.
Cevapla

accessman

Aktif Üye
Kullanici Avatari
Aktif Üye
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
teşekkürler çalıştı
ellerinize sağlık
sıfırı bölmeye çalışırsak ne yapacağız

maalesef olmuyormuş yanlış bakmışım
tekrara bakabilirmisiniz


@benbendedeilem
Cevapla

accessman

Aktif Üye
Kullanici Avatari
Aktif Üye
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
maalesef çözüm olmadı
tekrar gözden geçirebilirmisiniz


@benbendedeilem
Cevapla

accessman

Aktif Üye
Kullanici Avatari
Aktif Üye
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
buda olmadı

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
Private Sub Komut0_Click()

On Error GoTo HataKontrol

If Metin1 / Metin3 <> Metin1 \ Metin3 Then
MsgBox "geçersiz sonuç"
Else
Metin6 = Metin1 / Metin3
End If

Exit Sub 'burada programa son verilir.

HataKontrol:

Select Case Err.Number

Case 11: Mesaj = "Sıfıra bölünme hatası oluştu!!!"

End Select

MsgBox Mesaj

Resume Next

End Sub


@benbendedeilem
Cevapla

alpeki99

Düşünmek en zor iştir...
Kullanici Avatari
Uzman
O....
6.092
29/10/2008
Bursa
Yazılım Geliştirici
Ofis 2010 32 Bit
20/10/2017,09:01
Çözüldü 

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
Private Sub Komut0_Click()
On Error Resume Next

If Metin1 / Metin3 <> Metin1 \ Metin3 Then
MsgBox "geçersiz sonuç"
Else
Metin6 = Metin1 / Metin3
End If

End Sub


On Error Resume Next sizin çözümünüzdür. Hata durumunda devam edebilmenizi sağlar.

Örnek dosya ekleyerek sizin çalışma mantığınıza göre çözüm üretmemizi kolaylaştırdığınız için teşekkür ederiz ayrıca daha önce uyarmamıza rağmen 3 ve 4. mesajlarda flood yaptığınız için artık bir uyarı cezası vermek zorundayım.


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


Konuyu Okuyanlar: 1 Ziyaretçi

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.