ghaldszar Mesaj tarihi: Ekim 4, 2005 Konuyu açan Paylaş Mesaj tarihi: Ekim 4, 2005 Şimdilik bunu yaptım. Yorumlara açıktır. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
GE-TA Mesaj tarihi: Ekim 5, 2005 Paylaş Mesaj tarihi: Ekim 5, 2005 Formlarda Malzeme ismini gireceğin kutucuğu combo box yaparsan girme sırasında var olanları bastığın her karaktere göre eliyerek sunacaktır zaten access. Yani malzeme ismi kutusuna geldiğinde hiçbir karakter girmezsen MalzemeID'deki tüm kayıtlar, z'ye bastığında zil, zincir, zar, zurna, sonra i'ye bastığında zil ve zincir, n'ye bastığında da sadece zinciri gösterecektir. MalzemeID'de olmayan bir kayıtı girmek istediğinde kurduğun ilişkilendirmeye göre, MalzemeID'de böyle bir kayıt yok diye bir uyarı alman ve de orada olan bir kaydı seçinceye kadar ilerleyememen ya da MalzemeID'de değil ama talep tablosunda görünecek bir şekilde yeni bir Malzeme ismi girmen olası. Peki bu fark nasıl oluşur diye sorarsan Relations'da kurduğun ilişkiyi simgeliyen çizgi üzerinde sağ tıklarsan ilişkileri düzenleyebileceğin bir menü açılır. Aynı olay ilişki kurulurken de açılır gerçi. Neyse burada Enforce Referential Integrity'yi seçtiğinde kurulan ilişki anlam kazanır. (LOL bu ne be yav, güzin abla gibi hissettim kendimi) İşte bu aşamada ilk belirttiğim durum yani MalzemeID tablosunda olmayan bir malzeme ismi vermen durumunda access'in yolunu kesip hayıır illa bunlardan birini seçeceksin demesi gerçekleşir. Zira artık ilişki one to many yani MalzemeID'lerinden sadece 1 tanesi birden fazla talepde kullanılabilir ilişkisini oluşturmuş olursun. Bu aslında kıl bir durumdur ama inanılmaz düzenlidir. MalzemeID'de olmayan bir ürünün talebini asla gerçekleştiremezsin. Dahası eğer Enforce Referential Integrity'nin altındaki Cascede Update ve Delete Related Fields ve records'ların yanındaki tikler de seçili ise tadından yenmez. Neden mi? Çünki Malzeme tablosunda MalzemeID'lerde yapacağın değişiklik ve/veya kayıt silinmesi durumunda talep tablosu da güncellenir. Ancak bu tad "bitter sweet" bir taddır. Neden? Çünki Malzeme ID'de bir kaydın silinmesi o talebin de silinmesi anlamına gelir. Ama ayarlanabilir bir seçenek yani istersen böyle bir olayın önüne o tiki kaldırarak geçebilirsin. (Evet burayı çok iğrenç anlattım ama idare et artık) Peki diğer durum? Diğer durum ilişkilerin senin resmini de koyduğun halde kurulması durumunda oluşur. MalzemeID olarak istediğini girebilirsin. Farklı girilmiş malzeme adı sadece talep tablosunda görünür. Ancak Malzeme tablosunda bulunan MalzemeID'lerini de görüp kullanabilirsin. Yeni girdiğin kayıt Malzeme tablosuna işlenmez. Sonuç itibarı ile birinci durumu tercih etmen daha mantıklı. Düzen önemli. Ayrıca Malzeme tablosunu güncellemiyorsak yeni malzemenin sadece talepde görünmesinin bize bir faydası yok. Malzeme tablosunu babasının hayrına oluşturmadık herhalde. O zaman referential integrity'yi devreye sokacağız ve olmayan bir malzemenin girilmesi gerektiğinde malzeme bilgileri giriş ekranını çağırmamız gerekecek. Bu aşamada yine VB kodu üretmek gerekiyor. Malzeme ismini girdin ancak bu malzeme Malzeme tablosunda bulunmuyor, bunu Access ne zaman fark ediyor? Tabiki odak kaybolunca. Dolayısı ile Eventlerden Lost Focus'a bir VB kodu derlemen gerekecek. Kod basit olarak şöyle olabilir; Dim uyar As Variant If IsNull(MalzemeID.Value) Or MalzemeID.Value = DLookup("[MalzemeID]", "Malzemeler", "[MalzemeID] = MalzemeID.Value") Then Else uyar = MsgBox("Malzeme yok. Yeni malzeme olarak tanımlar mısın?", vbQuestion + vbYesNo, "Malzeme Yok") If warn = vbYes Then Dim stDocName As String stDocName = "Macro1" //Macro1'de Malzeme giriş formunu açmayı tanımlayacaksın. DoCmd.RunMacro stDocName Else MsgBox "Hayırı seçtiniz allah kolaylık versin, ben inatçıyım olmayan malzemeyi seçmeden devam edemezsin.", vbOKOnly, "Malzeme Yok" End If End If Bu kod ile olmayan malzeme girilme teşebbüsü olursa onun tanımlanmasını sağlarsın. Tanımlayıp yeni malzeme giriş ekranını kapadığında talep formuna geri dönüp yeni malzemeni kullanabilirsin. İlişkiler tablon gayet iyi, başlangıç için. En azından mantığını anladın sanırım. İlişkilerine anlam verirsen daha iyi olacak, ve tabiki daha karmaşık ve zor.[signature][hline]In God I Trust For Rest I Just Test Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Ragnar Mesaj tarihi: Ekim 5, 2005 Paylaş Mesaj tarihi: Ekim 5, 2005 ID için ek bir hatırlatma : ID fieldi auto identity olur ve tablo içerisinde ardışık (+1) unique değerler elde edersin. Ben bütün tablolarımda pk olarak kullanıyorum. En basidinden eklenme sıralarını göre order edebiliyosun. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
ghaldszar Mesaj tarihi: Ekim 26, 2005 Konuyu açan Paylaş Mesaj tarihi: Ekim 26, 2005 Proje devam ediyor Sadece bu aralar fazla iş verdiklerinden çok ilgilenemiyorum ama soru bombardımanım devam edecek. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Zopik Mesaj tarihi: Ekim 26, 2005 Paylaş Mesaj tarihi: Ekim 26, 2005 Hm bir 10 post sonra ufaktan bir kitap yazmaya başlanabilir. Okuyayım ben burayı : ))[signature][hline]Image Resizer | direct-link | Selçuk Erdem'den önce de zopik'tim ben... Fikir Yurdu - Siyasi ağırlıklı fikir ve düşünce forumu Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
ghaldszar Mesaj tarihi: Ekim 26, 2005 Konuyu açan Paylaş Mesaj tarihi: Ekim 26, 2005 Valla bir kitaptan çok fazlası var burada. 10 post sonra tek eser olacak bence Access uzerine. Kaç tane kitap aldım burada anlatılanların onda biri olsa simdiye coktan bitirmiştim Bu aralar acayip acayip işler veriyorlar yoksa oturup bitiricem ama Neyse her bos anımda biraz daha ilerleyip sorularım devam edecek haberiniz olsun yani. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Wispy Mesaj tarihi: Ekim 26, 2005 Paylaş Mesaj tarihi: Ekim 26, 2005 Bu sene üni de database dersinde SQL için ACCESS görüyoruz (mühendis olarak iş bulamazsak sekreter oluruz diye herhalde). Daha işin başında olsam da elimden geldiğince sorularını cevaplayayım, hala ihtiyacın varsa tabii[signature][hline]Double, double, toil, and trouble Fire burn and caldron bubble Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
ghaldszar Mesaj tarihi: Ekim 31, 2005 Konuyu açan Paylaş Mesaj tarihi: Ekim 31, 2005 Hala ihityacim var valla. Aslinda çoktan bitmesi gerekirdi fakat sagolsunlar üstüme acayip acayp işler yıkıyorlar ki kıçım 2 dakika yer görmüyor. Bu işe de her başlamak 1 saat alıyor. Nasıl devasm edicek bilmiyorum ama etmesi gerek çünkü o yapacağım dosyanın yapacağı şeyler benden direk beklenen şeyler. Maalesef bu malzeme bilgimle ve bu iş angaryaları arasında aklımdan yapılması bekleniyor ki benim için imkansız. O yüzden bu access dosyası olmazsa olmazlardan. Not: Özel mesaj sistemine bazı problemler yüzünden haftada bir kere girebiliyorum kullandığım bilgisayarların bazı abuklukları yüzünden. O yüzden mesajlarınızı görmem ve cevap vermem pek mümkün olmuyor. Yardım teklifinde bulunanlara teşekkür ediyorum. Fakat özel mesaj yerine u topici kullanırsanız daha çok sevinirim çünkü özellikle işyerinde hiç bir şekilde özel mesajları göremiyorum. Bu arada her tür yardıma açığım sormanıza bile gerek yok. Ölmüşüm ağlayanım yok durumlarındayım zaten. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar