sözleşme imza tarihi ve sözleşme fesh tarihini eklemem gerek... bunun dışında ayaktan butonuna bastığımda aynı sayfata paket olan kısımda ayaktan form şeklinde gözüksün... lütfen yardım...
il ve ilçeyi de eklemeye çalışıyorum.. ama anlayamadım olayı... :kafa:
arkadaşlar kafayı çizmek üzereyim.... resmen çorba oldu.. hepsi biribirine girdi... :hiho:
sözleşme konuları-sözleşme tarihi-fesh tarihi arasında ilişki kuramadım.. ayrıca tarihlerde bişi yazmayınca hücre boş kalsın istiyorum...
merkez ekranında görünen paket kısmı.. birde üstform olduğu gibi kalıp ayaktan altformunu nasıl düğmelerle seçmeli hale getirebilirim... lütfen yardım... gece gündüz uğraşıyom yol alamıyorum... :kafa:
sn derwish rar dosyalarını açamıyorum. rar'sız gönderirsen uğraşabilirim.
Ayrıca her faaliyet içinmi sözleşme imzalanıyor. yoksa bir yada iki sözleşmede faliyetler listelenerekmi imzalanıyor
sorunuza gelince; sözleşme metni tek, ancak ekinde sözleşme paket ve ayaktan şeklinde iki ayrı form var.. merkezler koşullarına uyan alanlarda sözleşme konularına göre sözleşme imzalıyorlar...
konuyla alakalı değil ama Dtpicker 'i nerden eklediniz.
takvim denetimini ben açamadım formu açarken
Bu denetimde nesne yok diyor
ActiveX mi yoksa referanslardan mı eklediniz
ne eklediniz.....
bunu çözün geri kalanları ben çözeyim...
:hiho:
her branş için ayrı tarih olması gerekebiliyor... genelde aynı tarihte imzalansa da farklı bir tarihte ayrı branşlarda imzalayabilir...
kaldı ki, merkez sözleşme imzaladıktan sonra fesh edilse bile belirli bir süre sonra tekrar sözleşme imzalayabilir.. işte asıl sorun burda ortaya çıkıyor... çünkü yeni sözleşme tarihi girince eski tarih siliniyor ( her merkezin bir tane kodu var=sabit kod). eğer bi şekilde bunuda çözebilirsek harika olur...
yani verileri sorgularken ilk hangi tarihte imzalmış, fesh edilmişse, tekrar imza tarihide gözüksün istiyorum... ilgin için saol hoca... :bravo:
Uygulamanızı çabuk geliştiriyorsunuz ben de birne bakmadan arkasından ikinci versiyonu geliyor. Neyse sevindirici bir durum tabi
Size birkaç önerim olacak uygun bulursanız tabi. Merkez formunuzun kayıt kaynağını merkez, paket, ayakta tabloları olarak ayarlarsanız ve sonradan alt form ekleyeceğinize açılır kutu üstünde bulunan kesme denetimini ekleyip birinci sekmesini ayakta ikinci sekmesini paket olarak ayarlayabilirsiniz. Böylece açılan formlardan kurtulmuş olursunuz.
Ayakta ve ve paket adlı tablolarla ilişkili birer de tarih tablosu açarsanız tarihleri de kayıt altına almış olursunuz. Sizin uygulamada bu yok. Bir de datepickerların özel ayarı var bunu chek box lu olarak ayarlarsanız fesih tarihi görünmez. Cheek box doldurulduğunda o günün tarihini girecek gibi bir de kod yazarsanız epeyce yol katetmiş olursunuz. Unutmadan bu tarih tablolarında merkez kodu tekrarlı olursa o merkezle ilgili bir çok tarihi arka arkaya kayıt altına alabilirsiniz.
Ama yine de sizin düşündüğünüz form dizaynını değiştirmeniz gerekecek sanırım.
Şöyle ki:
Siz ayakta ve pakette formlarını ayrı ayrı açarak kayıt girerseniz o zaman merkez formunun alt formunu da bir sorgu ile ilişkilendirip o merkezle ilgili ayrıntılı dökümü alabilirsiniz. Yani örneğin direkt rötgenle ilgili o merkezle ne kadar anlaşma ve fesih yapılmışsa (veya diğer herhangi sözleşme konusu) döküm alabilirsiniz.
Hatta her merkez için de bu kadar çok kayıtı aynı anda tutmanız da gereksiz olabilir. Yani ayakta formu açılırken (kayıt için) ayrı bir sözleşmeler tablosunda tutulan sözleşme konularını bir açılan kutuyla açıp kaydederseniz gereksiz olarak aynı merkez için tüm kayıtları tutmamış olur sadece ilgili sözleşme konusunu kayıt altına alabilirsiniz.
Ayrıca isterseniz her merkez için ayakta ve paket olarak verileri de ayrı ayrı tutmanıza da ayrı formlardan işlemeye de gerekyok bence. Bir seçenek düğümesi gurubuyla bu işi de hal edebilir ve veri tabanınızın şişmesini önleyebilirsiniz. Çünkü seçenek düğümeleri 1,2 ... olarak tutulurlar.
Daha önce size yazmıştım veri tabanının oluşturulmasında eğer baştan kağıt kalem kullanarak başlamış olsaydınız ve tasarım için uygulamayı oluşturmaktan iki misli süre ayırmış olsaydınız uygulamanız bitmişti bile.
Neyse şimdilik bu kadar sormak istediğiniz bir şey varsa her zaman hazırım.
İyi çalışmalar
hocam, ne yapmam gerektiğini bilmeme rağmen nasıl yapmam gerektiği konusunda bilgiye ihtiyacım var... bilgiyide örnek yoluyla daha çabuk öğrenebiliyorum... o yüzden vaktiniz varsa son dosyayı inceleyip bir örnek hazırlayabilirseniz çok işime yarar... deneme yanılma yoluyla ilerlemek çok uzun zaman alıyor, ayrıca sonradan düzeltmesi daha zor oluyor..
yukarıda verdiğiniz bilgiler üzerinde çalışacağım.. saygılar... :yazici:
Sn derwish
Ön kabul olarak;
Her bir sözleşmenin ekindeki branşların sözleşme tarihinin aynı olduğunu, ([i]yanlış: sözleşme tarihi ve ekinde yer alan branşlar farklı olabilir[/i])
Merkezlerin çok sayıda sözleşme imzalayabileceğini (eksik: sözleşme fesh olmadığı sürece merkezler başka sözkeşme imzayalamazlar… sözleşmeler fesh edilinciye kadar geçerlidir. Sözleşme fesh olduktan sonra tekrar sözleşme imzalanabilir..(burada da fesh nedeniyle ceza almışsa merkez bunu veritabanına işleyip bu süre sonuna kadar sözleşme imza kaydının pasif olması gerekir)) ama aynı branşın iki sözleşmede birden yer alamayacağını, kabul ettim. (eksik: ayaktan ve pakette listesinin ikisinde de yer alan branşlar iki defa olabilir)
Hem kolay anlatabilmek hem de örneği çabuk bitirebilmek için tabloları sadeleştirerek, branşları dörde düşündüm. (merkezle ilişkisini görmedim!! )
Sorgu yaparken, yararlanmak üzere branş özelliklerini her iki tabloda da sayı olarak değiştirdim. Hayırlar = 0'a, Evetler = -1'e dönüştü.
İlişkileri MERKEZ'de 1 kayıt PAKET veya AYAKTAN tablosunda çok kayıt olabilecek şekilde ve bilgi tutarlılığına zorlamak üzere, Merkez Tablosunda olmayan kayıt, PAKET veya AYAKTAN tablosunda olamayacak şekilde ayarladım. (harika)
Bilgi girişi için ayrı, Bilgi sorgulaması için ayrı formlar gerekiyor. Çünkü bilgileri inceleme formları ve giriş formlarının aynı olması sayısız sorunlara yol açabilir.
ilk Önce MERKEZ Giriş Tablosu yapacağız.
Açılan Kutuların listelerini doldurmak için üç ayrı yöntem kullanmaya ihtiyacımız var.
a) Değişken olmadıkları ve az sayıda olan STASTÜSÜ için Tabloda Veri Türünü "Arama Sihirbazı"nı seçip, "İstediğim Değerleri ben seçeceğim"i tıklayıp, açılan liste kutusuna ststüleri yaz. Bu tabloya dayalı form oluşturulunca otomatik olarak bu alan Açılan liste kutusu olarak geliyor.
b) İLİ alanı için Form oluşturduktan sonra forumdaki Metin kutusunu siliyoruz. yeni bir açılan kutu oluşturunca (adını da İLİ olarak değiştiriyoruz) sihirbaz devreye giriyor, Açılan kutu, değerleri tablo/sorgudan alsını işaretleyip, ili tablosunu seçip, il alanını(adı) seçip ileri deyip, sona tıklayın, İLİ açılan kutusunu da doldurduk.
c) İLÇESİ için oluşan metin kutusunu siliyoruz. yine yeni bir açılan kutu oluşturuyoruz ama açılan sihirbazda ilerlemeyip İPTAL'e basıyoruz. adını da İLÇESİ olarak değiştiriyoruz.Aslında bundan sonrası biraz karışık ama kısaca anlatıyıp, Form tasarım modunda iken üste en üsteki düğmelerden üzerine gelince "kod" yazan düğmeye tıkılıyoruz ve kod sayfası geliyor. Bu kod sayfasının en üstünde iki tane açılan liste var birincisinde (General) ikincisinde (Declarations) yazılıdır. (General) seçili açılan kutudan İLİ'ni seçip yanındaki (Declarations) seçili kutudan Change'ı işaretliyoruz.
aşağıdaki kodlarda birinci ve dördüncü satırını Change'i seçince kendisi yazıyor, (Change, değişince anlamına geliyor.) Seçtiğimiz Şehir değişince 2 satırda daha önce İLÇESİ Açılan Kutusunda yazılı olanı siliyor. Üçüncü Satırda ise bizim daha önce yaptığımız listeyi doldurma işlemini çalışma anında ve İLİ alanında yazılı İLİ'ne göre kısıtlıyarak İLÇELERİ getiriyor.
Private Sub İLİ_Change()
[İLÇESİ].Value = ""
[İLÇESİ].RowSource = "SELECT Ilceler.ilce FROM Iller INNER JOIN Ilceler ON Iller.ilID = Ilceler.ilID WHERE Iller.ilID=" & [İLİ]
End Sub
Şimdilik yukarıdaki kodlara kafanı takma. VBA dilini ve sql dilini bilmek gerekiyor. Onlar sonraki işler.
Formu baştan oluşturalım sihirbazı kullanarak MERKEZ'i esas alan bir form oluşturuyoruz ama kendi yazma veri getirme olanaklarını kullanmak istemiyoruz biz kaydet diyene kadar hiç bir işlem yapmasın.
Bunun için oluşan formu tasarım modunda açıyoruz ve formun özelliklerinden MERKEZ olan "Kayıt Kaynağı"nı siliyoruz Yine teker teker bütün denetimlerden (Metin Kutusu ve Açılan Kutulardan) "Denetim Kaynağı"nı siliyoruz.
Formun Özelliklerinden; Kaydırma Çubukları özelliğini Hiçbirine, Kayıt Seçicileri, Gezinti Düğmeleri, Kayıt Bölücüleri özelliklerini HAYIR olarak değiştiriyoruz.
Formun üzerinde Bir Düğme oluşturuyoruz.
Yine kod sayfasını açıyoruz, (General) yazan listeden Komut25'i (bizim formdaki Düğmenin adı bu değişebilir), seçip diğer listeden Click'i seçip yine kenisini oluşturduğu kodların arasına
aşağıdaki kodu yazıyoruz.
bu kodlar bizim form üzerine yazdığımız bilgileri MERKEZ tablosuna yazmamızı sağlıyor.
Private Sub Komut25_Click()
Dim ys As New ADODB.Recordset
Dim sec As String
sec = "SELECT * FROM MERKEZ"
ys.Open sec, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
ys.AddNew
ys("MERKEZ KODU") = [MERKEZ KODU]
ys("MERKEZ ADI") = [MERKEZ ADI]
ys("STATÜSÜ") = [STATÜSÜ]
ys("İLİ") = [İLİ]
ys("İLÇESİ") = [İLÇESİ]
ys("ADRES") = [ADRES]
ys("TELEFON") = [TELEFON]
ys("FAX") = [FAX]
ys("MAİL") = [MAİL]
ys("WEB") = [WEB]
ys.Update
End Sub
Kayıt sayfamız hazır.
Yararlı olacaksa devam edebiliriz, bugünlük bu kadar.
hocam gerçekten çok zahmet vermişssin.. valla ne desem emeğini ödeyemem... çok teşşekkür ederim... örneğiniz üzerinde çalışmaya devam ediyorum.. saygılar.. :bravo:
hocam verdiğiniz örneğin aynısını yapmaya çalıştım.... bi kaç sütun daha ekledim yalnız...
Formu baştan oluşturalım sihirbazı kullanarak MERKEZ'i esas alan bir form oluşturuyoruz ama kendi yazma veri getirme olanaklarını kullanmak istemiyoruz biz kaydet diyene kadar hiç bir işlem yapmasın.
bu kuralı atladım yalnız... ne amaçla bunun yapılması gerektiğini anlayamadım .. :?
Bunun için oluşan formu tasarım modunda açıyoruz ve formun özelliklerinden MERKEZ olan "Kayıt Kaynağı"nı siliyoruz Yine teker teker bütün denetimlerden (Metin Kutusu ve Açılan Kutulardan) "Denetim Kaynağı"nı siliyoruz.
Formun Özelliklerinden; Kaydırma Çubukları özelliğini Hiçbirine, Kayıt Seçicileri, Gezinti Düğmeleri, Kayıt Bölücüleri özelliklerini HAYIR olarak değiştiriyoruz.
burayı neden böyle yapmamaız gerektiği konusunda da kafam karıştı.. :?
Private Sub Komut25_Click()
Dim ys As New ADODB.Recordset
Dim sec As String
sec = "SELECT * FROM MERKEZ"
ys.Open sec, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
ys.AddNew
ys("MERKEZ KODU") = [MERKEZ KODU]
ys("MERKEZ ADI") = [MERKEZ ADI]
ys("STATÜSÜ") = [STATÜSÜ]
ys("İLİ") = [İLİ]
ys("İLÇESİ") = [İLÇESİ]
ys("ADRES") = [ADRES]
ys("TELEFON") = [TELEFON]
ys("FAX") = [FAX]
ys("MAİL") = [MAİL]
ys("WEB") = [WEB]
ys.Update
End Sub
burdaki kodlarada yeni eklediğim sütünlarla ilgili kodlar eklemek gerek...
ve illeri seçince ilçelerin gelmesini sağlayan kodlarıda yordam kısmından kopyalayıp yapıştırırken sorun oldu.. yapamadım... şimdilik beynim sulandı... yarın devam ederiz.... iii gecelerr... :uyku:
hoca sizin örneğe uygun olarak düzenledim.. ancak ilçelere geçince "satır kaynağı yok" uyarısı veriyor.. galiba kodlarda bir karışıklık yaptım... :kafa:
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.