Skip to main content

AccessTr.neT


Minimum Ve Maximum Girilen Veriye Göre Sabit Değeri Arttırma.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
11
903

Minimum Ve Maximum Girilen Veriye Göre Sabit Değeri Arttırma.

#7
(09/10/2021, 15:26)berduş yazdı: dener misiniz?
Private Sub TextBox_CepheOlcusu_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox_AyakSayisi = 2
If TextBox_CepheOlcusu <= 4500 Then Exit Sub
i = 1
  Do Until xAyk >= 2250 And xAyk <= 3250
      i = i + 1
      xAyk = TextBox_CepheOlcusu / i
  Loop
TextBox_AyakSayisi = i
End Sub

@berduş hocam ilginiz için teşekkür ederim akşam evde sakin kafayla deneyip bilgi veririm Teşekkürler.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#8
@berduş Hocam elinize sağlık Çok teşekkür ederim.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#9
@berduş hocam deneme dosyamda ayaksayısını hesaplattığınız

Kod:
    If TextBox_CepheOlcusu <= 4500 Then Exit Sub
            i = 1
            Do Until xAyk >= 2250 And xAyk <= 3250
            i = i + 1
            xAyk = TextBox_CepheOlcusu / i
        Loop
            TextBox_AyakSayisi = i
   

kodu uygulamanın içinde menu sayfasından cam tavan seçeneğini tıkladığınızda açılan formun Textbox.CepheOlcusu.Value nun exit olay yordamına ekledim fakat burada kod işlevini yerine getirmiyor ve ayak sayısını hesaplamıyor. Gariplik şurada Bu formda aynı zamanda
Kod:
    With Me.TextBox_CepheOlcusu
       
        '.SetFocus
        .Value = 2000
        .SelStart = 0
        .SelLength = Len(.Text)
   
    End With

şeklinde yazdığım kodda diğer formlarda işlevini yerine getirmesine rağmen bu formda işlevsiz cephe ölçüsünde focuslanmıyor ve 2000 değerini seçili hale getirmiyor.

Nedenini çözemedim. Yardımcı olabilirseniz sevinirim. Dosyayı ekleyemiyorum konuyu tekrar açarsanız ekleyeceğim.
.zip AyakSayısı.zip (Dosya Boyutu: 413,63 KB | İndirme Sayısı: 4)
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 17/10/2021, 09:20, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#10
(17/10/2021, 00:14)Oğuz Türkyılmaz yazdı: Textbox.CepheOlcusu.Value nun exit olay yordamına ekledim fakat burada kod işlevini yerine getirmiyor ve ayak sayısını hesaplamıyor.
yalnız şimdi denedim kodu ayak sayısını hesaplayıp metin TextBox_AyakSayisi kutusuna yazıyor
orada rastladığım sorun 6700 girdiğimizde i'ler 1er 1er arttığından
i=2 : xAyk : 3350,0 > 3250
i=3 : xAyk : 2233,3 <2250
xAyk >= 2250
xAyk <= 3250
kuralı sağlanmadığından sonsuz döngüye giriyor
böyle bir durumda ne yapılacağına dair bir bilgi vermediğinizden daha önce sınır dışındaysa minimumu alma kodunu burada kullanmadım.
ama diğer sorunun ne olduğunu anlamadım, hangi durumda TextBox_CepheOlcusu kutusuna odaklanacak?
ayrıca bence TextBox_TrafoAliciKumanda ve TextBox_LedBedeli.Enabled için enabled değerini doğrudan checkbox'tan almak daha uygun olmaz mı?
TextBox_TrafoAliciKumanda.Enabled = CheckBox_LedIsikli 
TextBox_LedBedeli.Enabled = CheckBox_LedIsikli
Cevapla
#11
@berduş hocam form yüklendiğinde cursor direk cephe ölçüsüne odaklanmalı  ve yazılı değeri seçmeli. hareketli ve sabit  option buttonlara tıkladığımda bu kod çalışıyor fakat form ilk açıldığında initialize yordamına yazmama rağmen resimdeki gibi cephe ölçüsüne odaklanmıyor ve cursor nerede belli değil aslında orda ama gözükmüyor enter bastığınızda açılır ölçüsüne gidiyor. Ayak sayısının sonsuz döngüye girmemesi için ne yapılmalı açıkçası anlayamadım. Benim tüm derdim girilen cephe ölçüsüne göre ayaklar arasında ki mesafenin en az 2250 ençok 3250 kalacak şekilde ölçüyü bölmek ve  girilen ölçüye göre ayak sayısını bulmak. Enabled değerinin check boxtan yazdığınız şekilde alınabildiğini bilmiyordum bu kullanımı ilk defa görüyorum benim yazdığım tarzda bir sorun yaratırmı açıçası bilmiyorum ama istediğim sonucu veriyor. Sizin yazdığınız şekilde de nasıl çalışıyor bakacağım. Ama esas sorunum bende çalışmayan ayak sayısı kodu sizde nasıl çalışıyor. Benim gönderdiğim dosyayı çalıştırdığınızda sizde çalışıyor mu yoksa 
başka bir dosyada mı deneme yaptınız.
[Resim: do.php?img=11345]
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 17/10/2021, 18:40, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#12
@berduş hocam ayak sayısını belirlemekte kolaya kaçtım. Çok çok nadir durumlarda ayak sayısı 10 adedi geçen sistemler kurulabilir o zamanda manuel hesaplasın kullanıcı dedim. Form yüklendiğinde cursor ı hala txt.CepheOlcusu'nu seçili halde odaklamayı başaramadım ne yaptımsa olmuyor. Orda bir tuhaflık var.
Kod:
Private Sub TextBox_CepheOlcusu_Exit(ByVal Cancel As MSForms.ReturnBoolean)

TextBox_RaySayisi.Value = Int(TextBox_CepheOlcusu.Value / 1000 + 1)

If TextBox_CepheOlcusu.Value >= 26000 Then
MsgBox "Ayak Sayısı 10'un üstünde. Lütfen Ayak Sayısını belirleyiniz"
ElseIf TextBox_CepheOlcusu.Value >= 22750 And TextBox_CepheOlcusu.Value > 26000 Then
TextBox_AyakSayisi.Value = 10
ElseIf TextBox_CepheOlcusu.Value >= 19500 And TextBox_CepheOlcusu.Value > 22750 Then
TextBox_AyakSayisi.Value = 9
ElseIf TextBox_CepheOlcusu.Value >= 16250 And TextBox_CepheOlcusu.Value > 19500 Then
TextBox_AyakSayisi.Value = 8
ElseIf TextBox_CepheOlcusu.Value >= 16250 And TextBox_CepheOlcusu.Value > 19500 Then
TextBox_AyakSayisi.Value = 7
ElseIf TextBox_CepheOlcusu.Value >= 13000 And TextBox_CepheOlcusu.Value > 16250 Then
TextBox_AyakSayisi.Value = 6
ElseIf TextBox_CepheOlcusu.Value >= 9750 And TextBox_CepheOlcusu.Value > 13000 Then
TextBox_AyakSayisi.Value = 5
ElseIf TextBox_CepheOlcusu.Value >= 6500 And TextBox_CepheOlcusu.Value > 9750 Then
TextBox_AyakSayisi.Value = 4
ElseIf TextBox_CepheOlcusu.Value >= 3500 And TextBox_CepheOlcusu.Value > 6500 Then
TextBox_AyakSayisi.Value = 3
ElseIf TextBox_CepheOlcusu.Value < 3500 Then
TextBox_AyakSayisi.Value = 2

End If

Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da