Skip to main content

AccessTr.neT


SQL dizesi hata veriyor

SQL dizesi hata veriyor

Çözüldü #6
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: vb1.jpg]

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: vb3.jpg]

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: vb2.jpg]

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

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
SQL dizesi hata veriyor - Yazar: okileturc - 22/03/2009, 19:27
Cvp: SQL dizesi hata veriyor - Yazar: Seruz - 22/03/2009, 20:04
Cvp: (Acil) SQL dizesi hata veriyor - Yazar: okileturc - 22/03/2009, 20:12
Cvp: (Acil) SQL dizesi hata veriyor - Yazar: Seruz - 22/03/2009, 20:18
Cvp: (Acil) SQL dizesi hata veriyor - Yazar: okileturc - 22/03/2009, 20:24
Cvp: (Acil) SQL dizesi hata veriyor - Yazar: Seruz - 22/03/2009, 21:12
Cvp: SQL dizesi hata veriyor - Yazar: Puletin - 23/03/2009, 19:32
Cvp: SQL dizesi hata veriyor - Yazar: benremix - 03/09/2009, 10:25
Task