Skip to main content

AccessTr.neT


Ölümcül Hatalardaki Tuhaflık

Ölümcül Hatalardaki Tuhaflık

Çözüldü #1
Merhabalar,
Ölümcül hatalar listesi içinde deniyordu ki;

Metin kutularının isimleri, denetim kaynağı ile aynı olmasın. İyi bu kurala uyalım, uyalım da bu kez kodlar bu kurala uymuyor. Mesela, F1 formunda bulunan Kimlik1 alanının ismini mtn_Kimlik1 yapalım, F2 formunda bulunan Kimlik2 alanının ismini de mtn_Kimlik2 yapalım. F1 formuna koyacağımız butonla F2 yi açacağımızı düşünelim. Şimdi;

Eğer bu butonları isimlendirmemiş olsaydık ne güzel Kimlik1 ve Kimlik2 olarak kalmış olacaklardı ve kod şöyle olacaktı;
"DoCmd.OpenForm "F2", acNormal, , "[Kimlik2]=" & Me.Kimlik1"
Ancak isimleri değiştirdiğimiz için artık isim şöyle olmalı değil mi?
"DoCmd.OpenForm "F2", acNormal, , "[mtn_Kimlik2]=" & Me.mtn_Kimlik1"
İşte bu aşamada, sistem mtn_Kimlik1 için hata veriyor. Bunu sadece Kimlik1 olarak girersem sistem çalışıyor. E madem mtn_Kimlik1'i sistem dikkate almıyor biz niye isim değiştiriyoruz acaba?
Access'in kendi form açma makrosuna da baktım, eşleştirdiği alanlar birinde "mtn" karakterini içerirken diğerinde içermiyor. Ne yapacağız bunu? Bir sürü kodlu sistemde acaba hangisinde mtn_Kimlik1 hanfisinde mtn_Kimlik2 ya da terslerini yazacağımızı nasıl bileceğiz?
Cevapla
#2
Ben hep tablodaki alan adları ve formlardaki metin kutusu adlarını hep aynı yapıyorum hiç bir sorunla karşılaşmadım. Ayrıca formların başına frm_ tabloların başına tbl_ de yazmıyorum bana Access ortamında mantıklı gelmiyor. Vb.Net veya C# olsa tamam orada karışıklık olmasın diye kullanmak gerekiyor. Sadece veei tabanı Sql seçtiğimde tablo adlarının önüne dbo_  koyuyorum ki Sql veri tabanından tabloları alırken başlarındaki dbo_  ları silmek zorunda kalmayayım.
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#3
(21/10/2018, 19:08)ozguryasin yazdı: Ben hep tablodaki alan adları ve formlardaki metin kutusu adlarını hep aynı yapıyorum hiç bir sorunla karşılaşmadım. Ayrıca formların başına frm_ tabloların başına tbl_ de yazmıyorum bana Access ortamında mantıklı gelmiyor. Vb.Net veya C# olsa tamam orada karışıklık olmasın diye kullanmak gerekiyor. Sadece veei tabanı Sql seçtiğimde tablo adlarının önüne dbo_  koyuyorum ki Sql veri tabanından tabloları alırken başlarındaki dbo_  ları silmek zorunda kalmayayım.

Anlıyorum;

Türkiye'deki Access uygulamaları için vardığım sonuç artık şu oldu ;

1) Veri tabanı tasarımının standartlarını çoğu kişi doğru dürüst bilmiyor.
2) Herkes kafasına göre takılıyor.
3) Çözümler anlık düşünülüyor, gelecekte yaşanabilecek olumsuzlukları öngörmek gibi bir gereksinim duyulmuyor.
4) Bir ihtiyaç için yapılan kod, ileride başka şeyleri engeller mi engellemez mi çok önemli değil..(Örneğin Vba kodlarının, web browserlarda çalışmama riskinin varlığı kimsenin umrunda değil.)
5) Dolayısıyla anlık üretilen çözümler, bir veritabanının sağlıklı çalışmasından ziyade "modifiye edilmiş Şahin" gibi çalışmasına sebep oluyor. (Lastik yanakları çamurluklardan yana taşmış, burnu yere yapışmış, kıçı 2m yukarıda olan Şahinler vardır ya o misal, gidiyo mu gidiyo...)
6) Microsoft'un Access içinde konuşlandırdığı fonksiyonların çoğunu birkaç kişi dışında kimse bilmiyor, çoğunluk kulaktan dolma ordan-burdan derlediği bilgilerle iş yapmaya çalışıyor.
7) Microsoft'un standartlarını kimse iplemiyor, herkes kendi standardını en iyisi zannediyor ama malı hala Microsoft'un mühendislerinin-yazılımcılarının götürdüğü gerçeği ortada duruyor vs. vs....
Cevapla
#4
1- db lerde yapabildiğin hep standartlar çerçevesindedir standart dışına çıkabilsen zaten daha iyi db kodlama editörü yazarsın.
2- herkes değil sizler, yani bu işi öğrenmek yerine şundan şu kodu alayım bundan bu kodu alayım... Amann işim yürüsün de nasıl olursa oldun diyenler. Eğer ki bir kişi ola, sitemizdeki örnekleri inceleyip neyi nerede kullanacağını mantıken öğrense çok iyi şeyler ortaya çıkar.
3- öğrenmek yerine olsunda diyenlerin o şekilde oluyor. Yardımlar öğrenmek için değil iş yaptırmak için isteniyor. Bir çok üyemizin sorularını az değiştirip geri sorsak yapamazlar. Kusra bakmasın hiç kimse de kimse için profesyonel bir program yazacak kadar vakit ayıramaz, herkesin işi gücü çoluk çocuğu var.
4- engelleyebilirde, engellemeye bilirde sizler projenizi hazırlıyor yorumluyorsunuz, biz yapamadığınız yerleri istediğiniz şekilde tamamlıyoruz yapılış durumunu görüp geliştirip stabil hale getirmek size ait.
5- bana bir kişi gösterin bana program lazım dediğimde herşeyini profesyonel yapsın versin. Sitemiz program yapma değil istenilen ölçüde öğretme sitesidir. 
6- kimse bilmiyor demek yanlış. Access net framework yapısını kullanır. Hani nasıl denir herkes farklı diyor, dat net, dork net, dud net :-)  Access te o projenin bir parçasıdır. Fonksiyonlar Vba bölümünde F2 ye basarsanız çıkar karşınıza düşünün bunu bile araştırmayacak kadar hazırcısınız. 
7- linux sisteme geçebilirsiniz. Tabiki yapan kaymağı yiyecektir. 
8- bildiğim herşeyi www.accesstr.net  öğrendim, ama sizler gibi değil. Şunu yapamadım yapın verin, şurayı halleddin demedim. Takıldığım yerleri sordum hep üzerine ekledim. Zamanında Bir noktalama işareti yüzğnden 4 saat uğraştım. Şöyleki bir örneğim var ODBC bağlantı yapmadan tablolar gözükmeden veri tabanına bağlanıp işlem yaptırıyor. O örneğimi görmedi iseniz sitem etmeye hakkınız yok. Çünkü bir çok üyemiz görmedi. Niçin nerede nasıl işe yarayacağını bilmemenizden araştırmamanızdan. Yani sitemizdeki örnekler fazlası ile işinizi görecektir.
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#5
(21/10/2018, 20:45)ozguryasin yazdı: 1- db lerde yapabildiğin hep standartlar çerçevesindedir standart dışına çıkabilsen zaten daha iyi db kodlama editörü yazarsın.
2- herkes değil sizler, yani bu işi öğrenmek yerine şundan şu kodu alayım bundan bu kodu alayım... Amann işim yürüsün de nasıl olursa oldun diyenler. Eğer ki bir kişi ola, sitemizdeki örnekleri inceleyip neyi nerede kullanacağını mantıken öğrense çok iyi şeyler ortaya çıkar.
3- öğrenmek yerine olsunda diyenlerin o şekilde oluyor. Yardımlar öğrenmek için değil iş yaptırmak için isteniyor. Bir çok üyemizin sorularını az değiştirip geri sorsak yapamazlar. Kusra bakmasın hiç kimse de kimse için profesyonel bir program yazacak kadar vakit ayıramaz, herkesin işi gücü çoluk çocuğu var.
4- engelleyebilirde, engellemeye bilirde sizler projenizi hazırlıyor yorumluyorsunuz, biz yapamadığınız yerleri istediğiniz şekilde tamamlıyoruz yapılış durumunu görüp geliştirip stabil hale getirmek size ait.
5- bana bir kişi gösterin bana program lazım dediğimde herşeyini profesyonel yapsın versin. Sitemiz program yapma değil istenilen ölçüde öğretme sitesidir. 
6- kimse bilmiyor demek yanlış. Access net framework yapısını kullanır. Hani nasıl denir herkes farklı diyor, dat net, dork net, dud net :-)  Access te o projenin bir parçasıdır. Fonksiyonlar Vba bölümünde F2 ye basarsanız çıkar karşınıza düşünün bunu bile araştırmayacak kadar hazırcısınız. 
7- linux sisteme geçebilirsiniz. Tabiki yapan kaymağı yiyecektir. 
8- bildiğim herşeyi www.accesstr.net  öğrendim, ama sizler gibi değil. Şunu yapamadım yapın verin, şurayı halleddin demedim. Takıldığım yerleri sordum hep üzerine ekledim. Zamanında Bir noktalama işareti yüzğnden 4 saat uğraştım. Şöyleki bir örneğim var ODBC bağlantı yapmadan tablolar gözükmeden veri tabanına bağlanıp işlem yaptırıyor. O örneğimi görmedi iseniz sitem etmeye hakkınız yok. Çünkü bir çok üyemiz görmedi. Niçin nerede nasıl işe yarayacağını bilmemenizden araştırmamanızdan. Yani sitemizdeki örnekler fazlası ile işinizi görecektir.

Yorumlarım şahsa yönelik değil, geneldir. Siz biraz üzerinize alınmışsınız. Dikkat ederseniz çoğunluktan bahsediyorum. Şahsıma yönelik yorum yapacak olursam, amaan şurayı da yamayı versinler iş görülsün diyenlerden değilim. Eski konularımda bu çok açık ifade edilmiştir, hatta anlamadığım kodların olduğu uygulamaları, çalışmalarıma eklemiyorum bile. Çünkü önce kendim anlamam lazım ki ekleyebileyim. Aksi halde öğrenme gerçekleşmiyor. Yani kısacası hazıra konanlardan değilim. Ama şunu görüyorum ki, bu konuda uzmanlaşmış kimselerin de birçok konuda fikir ayrılıkları var. Kimse mükemmel değil elbet, kimse mükemmel yazılım da yapmıyor, ayrıca buradan faydalanan herkes kendi projesini yapmaktan sorumlu. Kimse kimseden sorumlu değil. Gerek bu tarz forum siteleri gerekse incelediğim birtakım eğitim platformları veritabanı eğitimi hakkında standartlara uygun bir eğitim platformu oluşturabilmiş değil. Kurslara bakıyorum 30 saat Access Eğitimi 500₺ diyor. Yahu 30 saatte ne öğretebilirsin? İçeriğe bakıyorum şu düğmeye basarsan bu çıkar buna basarsan bu çıkar diyor. Onu dedem de bilir, düğmeye basınca neyin ne olduğunu görürsün zaten. Bu bir eğitim değil yani..Kısacası veritabanını A-Z ye ele alıp çok detaylı eğitim veren bir platform, forum, kurs,kitap, doküman vs. görmedim. Gören varsa bildirsin.

Ondan diyorum herkes kafasına göre takılıyor diye. Çünkü herkes kendi tırmalayarak bir şeyler yapıyor çünkü bu konuda temel teşkil edecek kaliteli bir eğitim alabilmiş değiller.

Hazır madem mevzu açıldı, bu forumda kendine güvenen arkadaşlar bir ekip oluştursunlar on-line uzaktan Access kursu versinler. Hem de ücretli. Canlı sorulara açık olsunlar, eğitim öyle 20-30 saatte bitmesin. Ne bileyim içeriğe göre minimum 4 ay sürmeli. İnanın ciddi müşteri bulursunuz. Buradaki uzman arkadaşlar bu işin eğitim kısmına ciddi bir şekilde soyunsunlar bakalım, o zaman bu işin standardizasyonundan ne anlatmak istediğim daha iyi anlaşılır sanırım..
Cevapla
#6
Öğrenme işi kurs ve dersle olma ihtimali düşük bir durum. Şöyleki üniversitelerde veri tabanı yöneticiliği adında bölümler mevcut orada öğrenciler 4 yılda dahi olayı kavrayıp birşey yapamıyorlar. Burada asıl olan şudur kişinin zaman ve emek harcaması çabalaması şarttır. Hiç bir kurs tam olarak şunu şu şekilde şurada kullanabilirsin diye göstermez, bu bu şekilde kullanılır bu işe yarar der. Dediğim gibi zaman ve emek harcamak birşey öğrenmek için şarttır. Her yazılımla uğraşanında kendine özgü benimsediği kalıplar vardır. Bu kalıplar editör programlar tarafından olabilirlik standartları içindendir. Kimisi tablolarda ilişki kurar birden çok tablodan aynı anda silinsin diye, ben ise kurmam her tablodan kod ile tek tek kritere göre silerim. Kimi yazılımcılar id yi primery key alır ben ilerde müdahale edebilmek için kendim veririm. Misal müşterileriniz var 5 numaralı müşteriniz bir çok işlem yapmış 5 numarası id otomatik sayıdan geliyor. Birisi yanlışlıkla sildi bir daha 5 numarası almayacağı için id ya diğer tablolardan 5 numara ile işlem yapanları değiştireceksiniz yada benim yaptığım gibi kendiniz verdiğiniz numaraları kullanıp silinse dahi satır sonuna 5 numaralı müşteri oluşturacaksınız işi kolaydan halledeceksiniz. Kişisel algılama durumu değil bu, yönetilebilirlik durumu. Hepsi doğrudur veya hepsi yanlıştır önemli olan yanlış veya doğru olması değil yapışan projenin yönetilebilir olması. Windows 10 güncellemesi geri çekildi hatadan dolayı bu sadece windows ile de alakalı değil linux sistemlerde de aynı sorunlar oluyor fakat kimse linux a birşey diyemez çünkü ücretsiz microsoft un ücretli olması bu kadar gündeme getiriyor. Yani burada hiç bir uzman eksik, yanlış veya sallantı iş yapmıyor, istenilen istenildiği şekilde veriliyor. Ölümcül hatalara gelince bu kişiden kişiye değişir Türkçe karakter kullanılmaz deniyor kullanınca birşey olmuyor en azından kısa dönem içinde çünkü bunu pc en sonunda 0 ve 1 rakamlarına döndürdüğünden sorun olmıyor ama olmayacak anlamı taşımıyor burada olayları hataları en aza indirmeye çalışmadır durum.
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da