![]() |
SQL dizesi hata veriyor - 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ığı: SQL dizesi hata veriyor (/konu-sql-dizesi-hata-veriyor.html) Sayfalar:
1
2
|
SQL dizesi hata veriyor - okileturc - 22/03/2009 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:
Private Sub Komut7_Click() Cvp: SQL dizesi hata veriyor - Seruz - 22/03/2009 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. Cvp: (Acil) SQL dizesi hata veriyor - okileturc - 22/03/2009 Hocam bilmiyordum Ama gönderdiğiniz düzeltme problemsiz çalıştı Çok tşk. Bana anlattığınız penceredeki eylemim screenshot unu atabilirmisiniz Cvp: (Acil) SQL dizesi hata veriyor - Seruz - 22/03/2009 Ö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. Cvp: (Acil) SQL dizesi hata veriyor - okileturc - 22/03/2009 Siz dersler bölümün attığınızda beni de uyarırsanız yeterlidir tekrar tşk ederim Cvp: (Acil) SQL dizesi hata veriyor - Seruz - 22/03/2009 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. ![]() 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. ![]() 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. ![]() 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. |