![]() |
Select Case Sorunu - 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ığı: Select Case Sorunu (/konu-select-case-sorunu.html) Sayfalar:
1
2
|
Cvp: Select Case Sorunu - dengesiz - 15/05/2009 oraya girmemesi gerekiyor iste gelen degere gore onu yapmasi lazim gelen deger eger EXCAVATION ise oraya girecek sorgunun amaci o ama yapmiyor. Problem bu zaten Form_TARIH.deger "STRINGING" ise case ile STR tablosunu acacak ikiside degilse WLD olarak bakip ona WLDNG tablosunu acacak ama gelen Form_TARIH.deger TARIH formunda gozukuyor form1 de gozukmuyor ??degiskeni public tanimladim butun formda kullaniyim diye ama ? Cvp: Select Case Sorunu - Seruz - 15/05/2009 Sn. Dengesiz, Programında kodlama da o kadar çok hatan var ki hangisini yazayım bilemiyorum. Sana ilk ve acil tavsiyem kodların başında "Option Explicit" kullanman. Yani değişken tanımlamayı zorunlu hale getirmen. Default olarak yapmak istersen Vba penceresinde Tools-Options-"Require Variable Declaration" seçeneğini işaretle. Bunu yapmış olsaydın, mesela daha baştan, Komut48'de Select Case kısmında Kod:
Deger = EXCAVATION Kod:
Deger = "EXCAVATION" Burada Deger adlı değişkene string bir deger atarken "" kullanmak zorundasın, kullanmadığın için bunu bir değişken olarak görüyor ve o değişkene atanmış bir değer olmadığı için Deger adlı değişken değersiz oluyor. Senin kodda değişken tanımlama zorunluluğu da olmadığı için hata da vermiyor doğal olarak. Form_TARIH.deger adlı değişkenin bulunamaması ve boş gelmesine gelince; Senin kodlamanda Komut48'in sonunda Form1 adlı formu açtıktan sonra TARIH adlı formu kapatıyorsun ve hooop o tanımladığın global değişkenler de onunla beraber yokoluyor. Kod:
... TARIH formu içinde tanımladığın "deger" alanı sadece o form içinde Global, yani formun içindeki tüm sub ve function'larda kullanabilirsin. O form kapandığında bu değişkeni diğer formlarda kullanamazsın. Tüm formlarda kullanmak istediğin değişkenleri Module kısmında tanımlamalısın. Tarih formundaki bu değişkenleri oradan kaldır, yeni bir module aç ve bu public değişkenleri orada tanımla. Tabii burada tanımladıktan sonra kodunda şunları da şöyle değiştireceksin. Form_TARIH.SQL -> Sql ve Form_TARIH.Deger -> Deger olacak. Son olarak da Liste2 DoubleClick'de aşağıdaki şekilde olmalı. Kod:
Select Case Deger ve tüm formlarda control box ve close tuşunu aktif etmek zorunda kaldım. Mesela en son "EXC" adlı formu açtıktan sonra kullanıcı o formu nasıl kapatacak bende bilmiyorum. TARIH formunda komut düğmelerinde özel resim kullanmışsın, her seferinde hata verdi, kaldırmak zorunda kaldım. Kodlamanda düzenli Tab, yani içiçe düzenli bir şekil yok. Kodlarını okumak, hangi endif hangi if'e ait, next'in for'u nerede bulmak mesele. Yani şunu demek istiyorum; kod böyle yazılmaz Kod:
For Each fld In Rs.Fields Kod:
For Each fld In Rs.Fields hata bulmakta veya kodu takip etmekte çok zorlanırsın, sana yardımcı olmak isteyen kişilerde. Yani neredeyse, yapılmaması gereken her şeyi yapmışsın. Bu sayede ufak bir problemi çözebilmek için sende saatlerce uğraşmışsın, belki bir kaç dakikada çözülecek bu problem için bende 1 saattir uğraşıyorum. Umarım anlatabilmişimdir. Saygılar Cvp: Select Case Sorunu - dengesiz - 16/05/2009 Tesekkurler Sayin Seruz anlatabildiniz menulere sag tus ozelligi ekledim fakat siz macrolari menu ogesi olarak atamadiginiz icin kapat ileri geri gibi ozellikleri goremediniz. Normalde kapat ileri geri gibi butun buton ozelliklerini sag tusa verdim. Bu uyari hatalarina gelince soyledigim gibi ben ingilizce olarak kullaniyorum mecburen yurt disinda oldugum icin benim yaptigim veri tabani Turkce de sizin yaptiklariniz da bende calismiyor. veri Al secenegi ile tekrardan yapilmasi gerekiyor. Saygilar. Cvp: Select Case Sorunu - Seruz - 16/05/2009 Kodlama üzerine çok çalışmalı, çok okumalı ve bol örnek yaparak kendinizi geliştirmelisiniz. Belki ilk başlarda kafayı yedirtebilir ama daha sonra kodlara hakim olmaya başladıkça çok zevkli olacaktır. Benim tahminime göre yukarıdaki mesajlarda bahsettiğim Breakpoint olayını kullanamamışsınız, onun üzerinde biraz daha çalışmalısınız. Kodu adım adım çalıştırarak ve her adımda değişkenlerin aldığı değerleri görerek koda hakim olabilir ve hataları daha kolay bulabilirsiniz. Değişken tanımlamayı zorunlu hale getirmeyi alışkanlık edinin. (Option Explicit) Aslında sizin uygulamanızda Sql ve Deger adında global değişkenlere ihtiyacınız yok, TARIH formu açık olduğu sürece, diğer sorgu, form ve raporlarda bu forma ait denetimleri zaten direkt olarak Forms![FormunAdı].[DenetiminAdı] formatında kullanabilirsiniz. Mesela Deger adlı global değişkeni kullanmadan Liste2 Doubleclick'i şu şekilde kullanabilirdiniz; Kod:
Select Case Forms!TARIH.cerceve Bu arada bu kadar uğraştıktan sonra REP istemek hakkımdır sanırım. MehmetDemiral aldı başını gitti, bende Sledgeab'ı geçmek istiyorum ![]() Cvp: Select Case Sorunu - dengesiz - 16/05/2009 (16/05/2009, 11:02)Seruz yazdı: Bu arada bu kadar uğraştıktan sonra REP istemek hakkımdır sanırım. Onerilerinizi uygulayacagim yardimlariniz icin de cok tesekkurler. +3 yeterlidir sanirsam rica ederim . ![]() |