AccessTr.neT

Tam Versiyon: Tablodan (id Değeri Olan) Bir Kişi Bilgisini Forma Nasıl Getirebilirim.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Bakın ısrarla yanlış yoldasınız diyorum ama dediklerimi hep kulak arkası yapıyorsunuz. Mantık hatanız inanılmaz boyutlarda. Öğrenci ekleme alanına elle veri girmek nedir ya? Bir öğrenci veri tabanı olmalı ve siz ordan sadece numarasıyla veya adıyla öğrenciyi seçebilmelisiniz. Bu işlem sonunda tablonuza sadece öğrenci id değeri kayıt edilmelidir. Daha sonra başka bir öğrenciye aynı numaranın verilebileceği ihtimalinden hareketle okul numarası bile kullanılmaz. Elle yazmak affedilemez. Sonra nedir o alt forma öğrenci adı kaydetmede silme yok falan. Bence soldaki öğrenci ara formunda adı soyadı- ana adı- baba adı- telefonu, tc kimlik ya da okul numarası olarak arama yapılabilmeli, bulunan öğrenci olay öğrencilerine eklenebilmeli. Bu kayıt da veritabanında sadece oğrenci_id olarak tutulmalıdır. Benim anladığım bu? Yapmak istediğiniz daha farklı mı?
Bir de biz Access'çiler şu tek form üzerinde her şeyi bulundurma huyumuzu bırakamıyoruz. Halbuki öğrenci arama için mesela başka bir form açılsa ve oradan tıkayarak buraya atsak falan di mi? Profesyonel uygulamalarda hep öyle değil midir? Bir de programlarınızda görsel ögeleri çok iyi kullanıyorsunuz. Dizayn mükemmel. Ama işlevsellik konusunda kurduğunuz senaryolar hatalı. Bir de ado'ya çok takıldınız bu sıralarda. Bırakın bilmediğiniz sistemleri. Olay tablo-sorgu-form-rapor ilişkileri bu kadar kolaylaştırılmış bir sistem olan Accessi neden zorlaştırıyorsunuz ki? Ado'ya karşı değilim tabii. Ama Access zaten o işleri çok kolay yapmanıza imkan sağlıyor. Siz amatörsünüz. Önce Accessin kolaylıklarını öğrenin de sonra aşama aşama ado, vba, Sql öğrenirsiniz. İşinizi görebilecek hale gelin önce. Mesela bir tablo yaptınız, hemen bir form tasarımında tabloyu forma bırakınca o size bir sürü metin kutusu bağlayarak formu hazırlıyor. Artık neyi hangi tabloya hangi kodla kaydederimi düşünmezsiniz. Nasıl sileceğim demenize gerek kalmaz. Bilmem anlatabildim mi? Siz şu anda benim dahi zorlanacağım bir çalışmayı ado ile falan kodlarla yapmaya çalışıyorsunuz. Çok yardım almanız, çok uğraşmanız lazım. Bu arada kullanıcıyı da düşünmeli, çok basit işlemlerle kullanılabilen bir program tasarlamalısınız. Kimse altındaki kodlara bakmaz. Herkes "Aaaa ne kadar kolay, ne kadar verimli" der. Ya da "çok zor programmış, ne yapılacağı anlaşılmıyor" der. Benim size tüm önerilerim tecrübeli bir kişi olarak yol göstermek amacıyladır. Kesinlikle en basitinden başlayın. O kendi kendine gelişecektir zaten. Ben 1995'ten beri, Office 95 Access'le çıktığından beri Access'le uğraşıyorum ve şu anda ado bilgim 0, Sql bilgim 0, ama Access altında çalışan Vba bilgim orta derecelerdedir. Ama işimi görebileceğim şekilde Access nimetlerini kullanarak, onu oraya bunu buraya yamayarak karınca kararınca programlar yapmaya çalışıyorum. Para da kazandım bu işten. İyi derecede Sql bilen birinin iki dakikada yazacağı bir kodu bulamadığımdan formun altına bir sürü gizli liste kutusu, bir sürü gizli veya görülemeyecek kadar küçültülmüş metin kutuları, gizli alt formlar falan getirerek programlar yaptım yıllarca. Sonra sonra geliştirdim kendimi. Bir tablo yapım vardı o yıllarda şimdi görünce ağlayasım geliyor...Şu anda da koskoca bir programda toplasan 10 tablom vardır ve genelde de ilişkisel bağlantılarla çalıştıkları için tekrarlanan veri hiç yoktur. Bir şeyi 2 kere neden kaydedeyim ki, istediğim an basit bir sorguyla onu istediğim yerden çağırabilirim. Mantık budur. Bu işte iyi olmak için arşiviniz geniş olacak. Hiçbir kodu ezbere bilmem... Ama orada nasıl bir yöntemle sonuca ulaşırım, onu düşünebilmeye başladım bu 35 senede. Mesela sizindi sanırım, bir örnekte if...then yerine select...case kullanın demiştim..Bunlar programcılığın temelleridir. Hani şu kurtu kuzuyu hırsızı dereden geçirme hikayeleri var ya, onları çözer gibi olmalıyız. Bilmem anlatabildim mi?
Hocam çok teşekkür ediyorum sizlere. Bütün söylediklerinizde haklısınız. Aslında bende sizin gibi kafamda (muz orta) yapıyorum. Lakin uygulamaya gelince o ince noktaları atlıyorum. Bir öğrencinin bilgilerini bir id ile kayıtlı tutup bütün diğer çalışmalarda bu kişinin adı, sınıf, vb kaydetmenin anlamı yok. Bazen işte takılıyorum. Size samimiyetimle iki şeyi ifade edeyim. Bir yazığım programı 3. kez yazıyorum. Nedeni ise işte birincisinde bütün verileri tekrarlattım. Şimdi ise sadece id göndermeyle yapmaya çalışıyorum. Takıldığım çok noktalar oluyor. Evde kaldığım şu zamanda sabahlara kadar bilgisayar başında bunları öğrenmeye çalışıyorum. ADO konusu ise işte bazı incelikleri bilmeyince (forma bağlı tablolarla çalışırken bu kaydetme silme olaylarında kullanıcı hatalarını (dirty) olaylarını kavrayamadığımdan ona yönelmiştim. İşin işine girdikçe dediğiniz gibi 1. satır sorguda yada kodda yapacağımız kodlamayı tüm nesneleri tabloyla tanımlamak (vba da) bana da biraz uzun ve bana göre saçma geldi. Bilenler için muhakkak daha faydalıdır belkide.
Kısacası kıymetli hocam, çalışacağım, alışacağım ve inşallah başaracağım. Sizlerin öneri ve yol göstermesiyle inşallah olacak. Her şey için teşekkür ediyorum.

(18/04/2020, 08:52)accessman yazdı: [ -> ]nasıl çözdünüz

Ekde ki gibi. Dlookup kullanmak yerine formun kaynağını tablodan almak yerine tablolara dayalı sorgularda alıp (Sayın Mehmet DEMİRAL hocamın öneri ve telkinlerine uyarak) denetimi ilişkilendirerek sayın;accessman
Diğer konunuzda örneklerle anlattım. Bence onu da inceleyin. Takıldığınız yer olursa mutlaka yazın. Tekrar daha basitleştirip anlatırım. Benim işim öğretmek. Nasıl olsa okullar tatil Img-grin))
Sayfalar: 1 2