Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > Access Örnekleri ve Bilgileri > Access Dersanesi
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Access Dersanesi Bu başlıkta eğitim ve öğretim amaçlı her türlü access dokümanını paylaşabilirsiniz.

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 26-05-2011, 12:43   #1
Taruz
Uzman
 
Taruz kullanıcısının avatarı
 
Giriş: 18/04/2007
Şehir: İstanbul
Mesaj: 2,062
Excel Vers. ve Dili:
Access 2010
Talking Döngüler | For - Next

GİRİŞ

Bu kısımda size döngülerden bahsedeceğim.. Döngüler amaç olarak, komutların tekrarlatılmasına yarar.. Bir işlemi birden fazla ve aynı anda yaptırtmak istiyorsak döngü hazırlamalıyız..

Döngüleri iki temel başlık altında toplayabiliriz..:





  1. Sayaçlı Döngüler ( For – Next )
  2. Koşullu Döngüler ( Do while – Loop, While – End))


Merhaba arkadaşlar..

Access ile uygulama geliştirirken ihtiyaç duyduğumuz en önemli yapılardandır döngüler.. Döngü hazırlamak zor gibi görünse de temel yapıyı öğrendikten sonra çok kolay ve de keyifli (hele sonucu aldıktan sonra ) olduğunu keşfedebilirsiniz.. En sık kullanılan döngü tipi de For Next yapısıdır..

For Next, bir grup deyimi belirlediğimiz sayıda çalıştırararak, bir döngü oluşturur.

Yapı bu şekilde..:

For Sayaç = Başlangıç Değeri To Bitiş Değeri
Komutlar
Next Sayaç

Örnekleyelim hemen..

Formunuzun üzerine, varsayılan değeri 0 (sıfır) olan bir adet metin kutusu (metin1) ve bir komut düğmesi (komut1) yerleştirin..
Düğmenin tıklandığında olayına bu yapıyı kullanalım şimdi:


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
 
For sayac = 1 To 3
Metin1 = Metin1 + sayac
Next sayac
Çalıştırdığınızda metin1 kutusunda 6 değerini göreceksiniz..


Yukarıdaki yapıyı dilimize çevirirsek..:


metin1'deki değere sayaç değerini ekle. Ve bunu 3 sefer yap. Her seferde de sayaç değeri artsın.


0+1=1
1+2=3
3+3=6

İşlemdeki ilk rakamlar metin1'in aldığı değerler.. Toplanan rakam ise sayaç değeri..

Üsteki yapıda sayaç her döngüde bir artarak gider.. Bu değer varsayılandır. Ama biz bunu değiştirebiliriz.

Şimdi komutla diyelim ki:

metin1'deki değere sayaç değerini ekle. Ama sayaç değeri her seferde dörder artsın. Taa ki sayaç 20 ye gelene kadar..:


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
 
For sayac = 1 To 20 Step 4 Metin1 = Metin1 + sayac
MsgBox Metin1
Next

Gördüğünüz gibi Step (adım) kısmında sayaç artışını belirledik..

Olayın aritmetiği de bu şekilde..:



0+1=1
1+5=6
6+9=15
15+13=28
28+17=45



Step kısmında -(eksi) değer kullanabiliriz.. Genelde sayaç başlangıç değeri, bitiş değerinden küçük olmalıdır.. Ama Step değerini eksi vereceksek durum değişir..


Şimdi döngümüze bir koşul koyalım.. Forma metin1 ile aynı özellikte bir metin kutusu daha yerleştirelim (metin2).

Yeni döngümüz bu olsun..:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
For sayac = 1 To 5
If Metin2 = 3 Then Metin1 = Metin1 + sayac
End If Metin2 = sayac
Next
Anlamı..:

metin2'deki değere sayaç değerini ekle. Bu işlemi beş defa yap. Her defasında metin2 ye de bak bakalım.. Eğer değeri 3 ise metin1 e sayaç değerini ekle.

Gördüğünüz gibi döngü içerisinde koşul kullandık.. Basitçe şema çıkartalım..:




Bir döngü içerisinde başka bir döngü de çalıştırabiliriz.:


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
For sayac1 = 1 To 3 Metin1 = Metin1 + sayac1 For sayac2 = 1 To 2 Metin2 = Metin2 + sayac2
Next sayac2
Next sayac1 'ilk döngünün Next bölümü son bölümde yazılmalıdır..

Yukarıda dedik ki..:

metin1'deki değere sayaç1 değerini ekle. Bu işlemi üç defa yap. Her defasında diğer döngüyü de çalıştır ve sonuçlandır.



Birden fazla iç içe döngü kurabilirsiniz..

Denemeler yaparken yanlışlıkla sonsuz bir döngü kurarsanız sonlandırmak için CTRL + BREAK tuşlarını kullanın..

Örneklerde ben toplama işlemlerini kullandım.. Siz buna şartlanmayın.. Döngü içerisinde bir çok komut ve eylem gerçekleştirebilirsiniz.. Bu tamamen ihtiyacınıza bağlı..

Hazır bu konuya ısınmışken For Next'in kuzeni For Each döngüsünden de bahsetmek lazımdı ama konuları iç içe sokmayalım.. Daha sonra, farklı bir konuda artık..

Taruz.. 2011
__________________
"Bulunamayan yerleri bulmak için önce kaybolmak gerekir.''
Kaptan Hector Barbossa
Taruz Çevrimdışı   Alıntı Yaparak Cevapla
Eski 25-01-2012, 23:25   #2
Milady Meriç
Destek Ekibi
 
Milady Meriç kullanıcısının avatarı
 
Giriş: 24/06/2011
Şehir: İSTANBUL
Mesaj: 599
Excel Vers. ve Dili:
EXCEL 2010 & ACCESS 2007 ENGLISH
Varsayılan

Sayın Taruz, teşekkürler.
__________________
cocukluk.guzelzamanlar.gerigetir END LIFE !!!
Milady Meriç Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 17:05


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden