iyi günler
Dim i As Integer
Dim d As Double
For i = 0 To 100
d = i * 0.75
If (d Mod X) Then MsgBox "tamsayı"
Next
bu kodda d tam sayı olduğunda mesaj vermesi için "X" yerine ne yazmalıyım
if int(d)=d şeklinde deneyin?
5700 kayıt var güncellenirken progressbarda göstermek için
say = say + 1
deger = say * w / rst.RecordCount
yuzde = say * 100 / rst.RecordCount
If (Int(yuzde) = yuzde) Then
Call RunProgressBar(Me.pb_item, deger)
Me.pb_lbl.Caption = "Veriler Güncelleniyor... % " & Int(yuzde)
End If
sizin dediğiniz gibi yazdım ama hiç tam sayı bulamadığı için if içine giremedi
nasıl bir mantık kurmam lazım
yani hem label üzerinde tam sayı göstereceğim
hemde progresbar titreyip durmasın diye sadece tam sayılarda
Call RunProgressBar(Me.pb_item, deger)
çalışacak
hiç tam sayı elde edemese bile progress bar bitene kadar sadece 100 kez güncellensin ve %1, %2.... diye göstersin
kodun mantığını söyleyeyim Int() sayıyı aşağı yuvarlar yani 2.999999999999999 bile olsa onu 2 yapar (2.9999999999999999 fazladan 9 eklediğimizde 3 yapıyor ) 0.75 in katları göz önüne alındığında sonucun doğru olması gerek. 2 defa denedim 1-100 bin arasını 2sinde de sonuç doğru çıktı
ama if içine girmeli yani benim double sayım 36,568 iken bunu if içinde en az bir kez kullanmalı
yani 36 tam sayısı hiç olmasa bile
sayın accessman ilk mesajınızdaki sorunun cevabı int()dir sorunuzu en baştan yanlış sormuşsanız yada açıklamanız eksikse yapabileceğim bir şey yok.