AccessTr.neT
aynı anda iki farklı fonkisyon çalıştırılabilir mi - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: aynı anda iki farklı fonkisyon çalıştırılabilir mi (/konu-ayni-anda-iki-farkli-fonkisyon-calistirilabilir-mi.html)

Sayfalar: 1 2


aynı anda iki farklı fonkisyon çalıştırılabilir mi - fatih karagöl - 18/01/2013

selam ve saygılar,

Acces'te çok ağır komutlar veren kullanıcılar bilirler. 5 10 dakika sürecek belki daha uzun bir işlem çalıştırdığınızda ( muhabeleştirme, yarım kalan kayıt tamirleri vs ) araya ikinci bir komut veremezsiniz. Önce ilk kodu tamamlar sonra diğerine geçer.
Bunu yapabilen profosyonel proglamlar mevcut.
Bir süre araştırdım ama yanıt bulamadım.
Acces'te iki kodu aynı anda çalıştırıp, sonuç alabilmenin bir yolu var mıdır.


Cvp: aynı anda iki farklı fonkisyon çalıştırılabilir mi - alpeki99 - 18/01/2013

Yanıtı ben vereyim Img-grin Saf/sadece Access ile bir yolu yok.


Cvp: aynı anda iki farklı fonkisyon çalıştırılabilir mi - fatih karagöl - 18/01/2013

perişan ettiniz beni sayın alpeki Img-grin


Cvp: aynı anda iki farklı fonkisyon çalıştırılabilir mi - Kur@l - 18/01/2013

Kod bloğunuzun bir yerinde aşağıdaki komutu ekleyin programınız diğer işlemleri yapmaya devam edecektir.
Doevents



Cvp: aynı anda iki farklı fonkisyon çalıştırılabilir mi - fatih karagöl - 18/01/2013

teşekkür ederim sn Kural. Büyük bir sorunuma çare olmuş oldunuz


Cvp: aynı anda iki farklı fonkisyon çalıştırılabilir mi - alpeki99 - 18/01/2013

İşin aslı MultiThread ise zaten Access saf bir "çok kanallı çalışma" imkanına sahip değil ve muhtemelen hiç bir zamanda olmayacak. Eğer olacak olursa zaten çok farklı bir kulvara geçmiş olur ki çoğumuzun işine gelmeyecektir.

Acaba yanlışmı biliyorum dedim ve bir test uygulaması hazırladım. Gözümden kaçan bir şey olmuşsa uyarılarınızı bekliyorum.

İki tane liste kutusu var ve hemen altlarında da birer buton var. Her buton For döngüsü ile 1 den başlayarak 5000 e kadar bir döngüye giriyor ve her sayı liste kutusuna ekleniyor. Burada şunu bekliyoruz:

"Birinci liste kutusunda butona basıp 1 den 5000 e kadar olan sayıları listeye ekler iken aynı anda ikinci bir iş yapıp yapmayacağını test ediyoruz. Birinci butona bastıktan bir süre sonra ikinci butona basınca ikinci liste kutusuna sayılar eklenmeye başlamalı ancak birinci liste kutusuna sayı ekleme işlemi yarım kalmamalı."

Testimizi uygulamaya başladık. Birinci kutuya bastık ve sayılar listeye eklenmeye başladı. 5-10 saniye sonra ikinci butona basıyoruz ancak beklentimiz gerçekleşmiyor. Birinci liste kutusuna sayı ekleme olayı sona ermiş olduğunu görüyoruz.

Kodlar içinde DoEvents komutunu kullandık ancak bize sadece programın kilitlenmemesi açısından yardımcı oldu. DoEvents kodlarını kaldırıp testi tekrarladığımızda ise farkı göreceksinizdir.

Yine Vba ile MultiThread işlemler için şu yazıdan da faydalanabilirsiniz.