accessde bekletme

Katılım
29 Aralık 2006
Mesajlar
49
Excel Vers. ve Dili
access,visualbasic
Arkadaşlar Aslında sorunum çok basit. ben daha öncden yazdığım bi programa yeni 1-2 şey ekledim. ama önceden girdiğim verilerde de aynı kodları çalıştırmalıyım. onun için for-next döngüsüyle bi nevi güncelleştirme butonu yaptım. programın mantığı şu:

Private Sub Komut120_Click()
Dim Sayac, sayac2 As Integer
For Sayac = 1 To 100
Me.uretim_miktari.Value = Me.onay222.Value
Me.iscilik.Value = Me.iscilik1.Value
Me.dogalgaz.Value = Me.dogalgaz1.Value
Me.hammadde.Value = Me.hammadde1.Value
Me.elektrik.Value = Me.elektrik1.Value
Me.poset.Value = Me.poset1.Value
Me.bant.Value = Me.bant1.Value
Me.strec.Value = Me.strec1.Value
Me.palet.Value = Me.palet1.Value
Me.koli.Value = Me.koli1.Value

DoCmd.GoToRecord , , acNext
Next Sayac

End Sub

bu şekilde verileri tabloya yazıyo sonra sonraki kayda gidiyo ordaki verileride tabloya yazıyo....
bunda bi sorun yok. sorun bunları çok hızlı yapması. hesaplattığım değerler 2-3 saniye sonra geliyor. ama komut bu arada çalıştığı için veri görmüyo ve hata veriyo. benim isteğim bekletme komutu kullanmak. çok aradım ama bulamadım. eğer visual basicde delay komutu veya benzeri varsa beni bilgilendirirseniz sevinirim. şimdiden saolun
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Alttaki kodu modul olarak ekleyiniz;

Kod:
Public Function Pause(intSecs As Integer)
Dim Start As Variant 
Start = Timer 
Do While Timer < Start + intSecs  
DoEvents
Loop 
End Function
Daha sonra istedi&#287;iniz kodlar&#305;n aras&#305;na

Kod:
..........
......................
Pause (10) '10 saniye bekler
'msgbox("10 saniye sonra a&#231;&#305;lan mesaj")
...............
Gibi kullanabilirsiniz..

ya da formunuza alttaki declareyi ekleyin,

Kod:
Private Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)

Kullan&#305;m&#305; yine istedi&#287;iniz yere;

Kod:
sleep 5000 ' 5 saniyedir
Olarak kullanabilirsiniz..
 
Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Kodu Komut120 den formun Zaman Dolduğunda olayına taşıyın.. Komut120 nin Tıklatıldığında olayına ise

Kod:
Me.TimerInterval = 3000
yazın.. Buradaki 3000, 3 saniyeye eşit.. Siz istediğiniz zamanı atayabilirsiniz..

Tüm bunlardan sonra düğmeye tıkladıktan 3 saniye sonra komut çalışacaktır..

Unutmadan.. Kendi kodunuzun sonuna da

Kod:
Me.TimerInterval = 0
yazın ki işlemi döngüye sokmayalım..
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
3 farkl&#305; yok olmu&#351; ;) Se&#231;in be&#287;enin ;)
 
Katılım
29 Aralık 2006
Mesajlar
49
Excel Vers. ve Dili
access,visualbasic
çok saolun bi deneyim inşallah olur
 
Üst