Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
22/03/2009 19:27
Konu Sahibi
okileturc
Yorumlar
7
Okunma
2434
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

okileturc

Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Arkadaşlar
Aşağıdaki dizede "ILKNOVER" değişkenini
algılamıyor ve kayıt eklerken parametre değerini
girin hatası veriyor, nedendir ?

Kod:
1
2
3
4
5
6
7
8
Private Sub Komut7_Click()
Dim ILKNOVER As Integer
ILKNOVER = Forms!numarataj.Form!ILKNO
Do While ILKNOVER < Forms!numarataj.Form!SONNO+1
DoCmd.RunSQL "INSERT INTO FORMNOTAKIP ( SERVISFORM_PERSONEL_ID, SERVISFORM_NO )SELECT [Forms]![numarataj].[Form]![PERSONELGOR], [ILKNOVER];"
ILKNOVER = ILKNOVER + 1
Loop
End Sub

Teşekkürler


okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Seruz

Uzman
Kullanici Avatari
Uzman
S.... U....
1.550
7
30/10/2008
814
Tekirdağ
Ofis XP
13/09/2017,17:08
Çözüldü 
Birde şu şekilde dener misiniz?

Kod:
DoCmd.RunSQL "INSERT INTO FORMNOTAKIP (SERVISFORM_PERSONEL_ID, SERVISFORM_NO) VALUES (" & [Forms]![numarataj].[Form]![PERSONELGOR] & "," & ILKNOVER & ")"


Aslında biliyorsunuzdur diye tahmin ediyorum ama
VBA kod kısmında Breakpoint koyup, Immediate penceresinden
? ile daha iyi görebilirsiniz bu tür problemleri.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla

okileturc

Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Hocam bilmiyordum
Ama gönderdiğiniz düzeltme
problemsiz çalıştı
Çok tşk.

Bana anlattığınız penceredeki
eylemim screenshot unu atabilirmisiniz


okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Seruz

Uzman
Kullanici Avatari
Uzman
S.... U....
1.550
7
30/10/2008
814
Tekirdağ
Ofis XP
13/09/2017,17:08
Çözüldü 
Öncelikle şunu sorayım, türkçe Access mi, ingilizce Access mi kullanıyorsunuz?
Aslında fırsat bulduğumda, Kod kısmında, breakpoint kullanımı, kodu adım adım çalıştırma, değişken takibi vb... konuları anlatmak istiyorum dersler bölümünde ama konu açılmışken size kısaca anlatabilirim.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla

okileturc

Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Siz dersler bölümün attığınızda
beni de uyarırsanız yeterlidir
tekrar tşk ederim


okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Seruz

Uzman
Kullanici Avatari
Uzman
S.... U....
1.550
7
30/10/2008
814
Tekirdağ
Ofis XP
13/09/2017,17:08
Çözüldü 
VBA penceresinde; Kodların hemen solunda yer alan işaretli sütuna tıkladığınızda veya o satırda f9 tuşuna bastığınızda, orası bir breakpoint (durma noktası) olarak işaretlenecektir.

resim

Yani bu şu demek. Program çalıştığında, yani mesela sizin örnekte Komut7 adlı butona tıklandığında, kodlar işlenirken, burada dur ve beni bekle.

resim

Bu aşamada, kod çalışması durduktan sonra ise yapabilecekleriniz çok çeşitli.

* Kodun çalışması durmuş durumdayken F8 tuşu ile kodu satır satır çalıştırabilir ve nasıl çalıştığını takip edebilirsiniz. İsterseniz F5 tuşu ile kodu kaldığı yerden çalıştırmaya devam edebilirsiniz. (başka bir breakpoint varsa oraya kadar)

* Bu esnada mouse'u herhangi bir değişkenin üstüne götürdüğünüzde size anlık olarak değerini gösterecektir.

resim

Resimde görüldüğü gibi açık değilse, menüden veya Ctrl+G tuşu ile açabileceğiniz Immediate penceresinde, başına ? işareti koyarak, sizi kodunuzda bulunsun veya bulunmasın bir fonksiyonun, hesaplamanın veya değişkenin sonucunu görebilirsiniz.
Sizin örnekte mesela docmd.runsql 'den sonra "" içinde nasıl bir hesaplama
yapıldığını görmek için, örnek resimde görüldüğü gibi,
? "INSERT INTO FORMNOTAKIP ( SERVISFORM_PERSONEL_ID, SERVISFORM_NO )SELECT [Forms]![numarataj].[Form]![PERSONELGOR], [ILKNOVER];"
yazıp entera bastığımda sonucu gösteriyor.
Böylece, istediğiniz gibi denemeler yaparak, hatanızın nerede olduğunu rahatça görür ve doğru sonuca ulaşabilirsiniz.

Birden fazla hesaplama veya değişken için aralarına , koyabilirsiniz, mesela a ve b değişkenlerinin toplamı ve çarpımının sonucunu görmek için;
? a+b , a*b

Immediate penceresinde başına ? koymazsanız, yazdığınız herhangi bir kod direkt çalıştırılır.
Örneğin; ILKNOVER = 1 yazıp entera bastığınızda, ILKNOVER değişkenine 1 atanır
veya docmd.runsql ... yazın direkt çalışır.

En sonda Watch'u yazayım,
Mesela sizin örneğinizde, döngüdeyken ILKNOVER değişkeninin değerini devamlı immediate penceresinde ? ILKNOVER ile veya mouse'u devamlı üstüne götürerek takip etmek yerine, Watch penceresinde anlık olarak takip edebilirsiniz. Bunun için Watch penceresinde sağ tuş ile Add Watch'u seçin ve expression kısmına ILKNOVER yazıp entera basın. Kod adım adım çalışırken siz anlık olarak ILKNOVER değişkeninin değerinin ne olduğunu görebilirsiniz. (ekteki resimde olmaması sizi şaşırtmasın, bende sizin örnek olmadığı için zaten çalışmıyor doğal olarak)

Şimdilik aklıma gelenler bunlar, biliyorum, biraz bölük pörçük oldu ama,
kod penceresiyle biraz uğraşıp denemeler yaparsanız, dediklerimi daha iyi kavrarsınız.

Öğrenir ve kavrarsanız koda hakim olursunuz.
Hata bulmak ve kodu takip etmek inanılmaz kolay olur.

Eğer fırsat bulursam, daha düzenli ve tertipli olarak dersler bölümüne yazmak istiyorum,
bakalım ne zaman olur.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü Form.recordset Kodunda Hata Almaktayım. Makrovba 6 207 17/08/2017, 01:06 Makrovba
Çözüldü Mssql Kayıt Yaparken Hata Veriyor ramazanemrullah 2 261 13/07/2017, 03:25 ramazanemrullah
Çözüldü Butona Atanan Macroda Hata damacanasu 4 228 02/07/2017, 15:12 damacanasu
Çözüldü Kayit Silerken Hata Veriyor ramazanemrullah 4 359 02/07/2017, 14:31 biberli33
Çözüldü Microsoft Comm Control 6.0 (SP6) ActiveX'ni eklerken hata sertac76 8 802 30/03/2017, 14:55 sertac76

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.