otel programı hakkında...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
otel programı hakkında...
slm arkadaşlar,askerliğimi yağtığım afyon ordu evi için bir otel programı yazmaya başladık
programda
master-detail kullanarak
müşteri bilgileri ,rezervasyon bilgileri ve konaklama bilgileri diye ilişkili
üç adet tablo yapmayı düşünüyoruz,
müşteri bilgilerinde gelen müşterinin kisisel bilgileri
rezervasyon bilgilerinde yer ayırttığı tarih ve oda bilgileri
konaklama bilgilerinde ise otele giriş tarihi-çıkış tarihi ve alınan ücretler felan olcak
özetle algoritmayı böyle yaptık ama
kafamı kurcalayan konu Müşterinin giriş yaptığı tarihi bir veri alanında saklarken çıkış yaptığı tarihide ikinci bir alanda saklıyacağız ama( misal: 13.12.2006 da girmiş 17.12.2006 da çıkmış) bu iki tarih arasında ki günleri
nasıl bir kodla bir alana saklamalıyızki bu tarihler arasında müşterinin kaldığı ilgili oda giriş tarihi ve çıkış tarihi arasındaki günlerdede dolu gözüksün ve listelendiğinde bu oda bu tarihlerdedolu densin
biliyorum biraz uzun ve karışık oldu ama
sabırla okuyup yardım ediceğinizi düşünüyorum
şimdiden teşekkürler yardımlarınız için
programda
master-detail kullanarak
müşteri bilgileri ,rezervasyon bilgileri ve konaklama bilgileri diye ilişkili
üç adet tablo yapmayı düşünüyoruz,
müşteri bilgilerinde gelen müşterinin kisisel bilgileri
rezervasyon bilgilerinde yer ayırttığı tarih ve oda bilgileri
konaklama bilgilerinde ise otele giriş tarihi-çıkış tarihi ve alınan ücretler felan olcak
özetle algoritmayı böyle yaptık ama
kafamı kurcalayan konu Müşterinin giriş yaptığı tarihi bir veri alanında saklarken çıkış yaptığı tarihide ikinci bir alanda saklıyacağız ama( misal: 13.12.2006 da girmiş 17.12.2006 da çıkmış) bu iki tarih arasında ki günleri
nasıl bir kodla bir alana saklamalıyızki bu tarihler arasında müşterinin kaldığı ilgili oda giriş tarihi ve çıkış tarihi arasındaki günlerdede dolu gözüksün ve listelendiğinde bu oda bu tarihlerdedolu densin
biliyorum biraz uzun ve karışık oldu ama
sabırla okuyup yardım ediceğinizi düşünüyorum
şimdiden teşekkürler yardımlarınız için
Dört bir yan kararınca sana yöneldik.Ey ışıklar kaynağı aç kapını biz geldik.
Merhaba,
Fikir açısından oda bilgilerini tuttuğun tablona bir alan daha eklemek suretiyle (misalen odadurum gibi) odayı kiraladığın anda bu alanı checkbox veya dolu gibi bir yazı ile güncelleyip boş veya dolu oda sorgusunda bilginin gelmesini sağlayabilirsin. sonuçta dolu yazısı dönerse veya dolu checkbox işaretli ise o odanın dolu olduğu ortaya çıkar. odayı boşaltma tarihinde yine bu alanı boş veya boşcheckbox u ile güncelleyerek boş görünmesini sağlayabilirsin.
kolay gelsin
Fikir açısından oda bilgilerini tuttuğun tablona bir alan daha eklemek suretiyle (misalen odadurum gibi) odayı kiraladığın anda bu alanı checkbox veya dolu gibi bir yazı ile güncelleyip boş veya dolu oda sorgusunda bilginin gelmesini sağlayabilirsin. sonuçta dolu yazısı dönerse veya dolu checkbox işaretli ise o odanın dolu olduğu ortaya çıkar. odayı boşaltma tarihinde yine bu alanı boş veya boşcheckbox u ile güncelleyerek boş görünmesini sağlayabilirsin.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Re: otel programı hakkında...
oda bilgileri diye ayrı bir tablo daha kullanman uygun olur. odayı ordadan seçtirir boşmu dolumu güncellersin.PcText yazdı:slm arkadaşlar,askerliğimi yağtığım afyon ordu evi için bir otel programı yazmaya başladık
programda
master-detail kullanarak
müşteri bilgileri ,rezervasyon bilgileri ve konaklama bilgileri diye ilişkili
üç adet tablo yapmayı düşünüyoruz,
müşteri bilgilerinde gelen müşterinin kisisel bilgileri
rezervasyon bilgilerinde yer ayırttığı tarih ve oda bilgileri
konaklama bilgilerinde ise otele giriş tarihi-çıkış tarihi ve alınan ücretler felan olcak
özetle algoritmayı böyle yaptık ama
kafamı kurcalayan konu Müşterinin giriş yaptığı tarihi bir veri alanında saklarken çıkış yaptığı tarihide ikinci bir alanda saklıyacağız ama( misal: 13.12.2006 da girmiş 17.12.2006 da çıkmış) bu iki tarih arasında ki günleri
nasıl bir kodla bir alana saklamalıyızki bu tarihler arasında müşterinin kaldığı ilgili oda giriş tarihi ve çıkış tarihi arasındaki günlerdede dolu gözüksün ve listelendiğinde bu oda bu tarihlerdedolu densin
biliyorum biraz uzun ve karışık oldu ama
sabırla okuyup yardım ediceğinizi düşünüyorum
şimdiden teşekkürler yardımlarınız için
Hangi VT yi kullanacaksın ? eğer server tabanlı bir mimari olacaksa SP ve view kullanarak çözebilirsin. Örneğin gün tarihini baz alarak giriş ve çıkış tarihleri arasında ise o oda numarası için true değeri döndüren bir stored procedure yazıp bu değerleri bir delphi nesnesini (Buton olabilir) visible özelliğine atadığında dolu odalara ilişkin buton görünür olur vs. çeşitli yöntemler uygulayabilirsin. Firebird ü yeni öğrenmeme rağmen çok güzel özellikleri var (ücretsiz olması çok büyük avantaj) ve formumuz sayesinde türkçe kaynak sıkıntısı asla çekmezsin. Her daim yardıma hazır ustalarımızda burdalar saolsunlar her türlü sorumuza üşenmeden cevap veriyorlar. Hayırlı tezkereler
- Verimli bir çözüm üretmek isterseniz sözlerime şöyle başlıycam..
- Ben olsam
OdaBilgileri, OdaHareket, MüşteriBilgileri ve HesapHareket olarak tasarlardım. Böyle daha verimli olur kanaatindeyim.
- Biraz açayım...
OdaBilgileri : Otelinizin odalarının yatak kapasitesi, oda numarası, kat numarası, bakımda/serbest/servisdışı gibi vs. Fiziksel durumunu tutan tablodur.
OdaHareket : "Rezervasyon/Kalınmakta/Boş" olarak üç tür bilgiyi barındıracak bir alan ve takip eden diğer alanlarda başlama ve bitiş tarihi olur. İki adet anahtar alan da bulunmalıdır. 1.Anahtar OdaBilgileri 2.Anahtar MüşteriBilgileri'dir.
MüşteriBilgileri : Müşterilerin kimlik bilgileri ve özel notları içeren bilgiler tablosudur. Anahtar olarak 1.Anahtar OdaBilgileri, 2.Anahtar HesapHareket olacaktır.
HesapHareket : Oda hakkındaki masraf kalemlerinin hareketlerinin tutulduğu tablodur. iki anahtar vardır. 1.Anahtar Müşteri Id, 2.Anahtar ise OdaBilgileri'dir. MüşteriID boş olanlar ise müşteriden bağımsız otelin kendi masrafları olarak nitelendirilebilir. Hatta bazı kalem hesaplar üretilerek Temizlik kalemi, Tamirat kalemi gibi odaya özel hesap durumu oluşturulabilir.
- Sözlerimi şöyle sonladırıcam. Kolay gelsin...

- Ben olsam

- Biraz açayım...
OdaBilgileri : Otelinizin odalarının yatak kapasitesi, oda numarası, kat numarası, bakımda/serbest/servisdışı gibi vs. Fiziksel durumunu tutan tablodur.
OdaHareket : "Rezervasyon/Kalınmakta/Boş" olarak üç tür bilgiyi barındıracak bir alan ve takip eden diğer alanlarda başlama ve bitiş tarihi olur. İki adet anahtar alan da bulunmalıdır. 1.Anahtar OdaBilgileri 2.Anahtar MüşteriBilgileri'dir.
MüşteriBilgileri : Müşterilerin kimlik bilgileri ve özel notları içeren bilgiler tablosudur. Anahtar olarak 1.Anahtar OdaBilgileri, 2.Anahtar HesapHareket olacaktır.
HesapHareket : Oda hakkındaki masraf kalemlerinin hareketlerinin tutulduğu tablodur. iki anahtar vardır. 1.Anahtar Müşteri Id, 2.Anahtar ise OdaBilgileri'dir. MüşteriID boş olanlar ise müşteriden bağımsız otelin kendi masrafları olarak nitelendirilebilir. Hatta bazı kalem hesaplar üretilerek Temizlik kalemi, Tamirat kalemi gibi odaya özel hesap durumu oluşturulabilir.

- Sözlerimi şöyle sonladırıcam. Kolay gelsin...

fikirleriniz için teşekkürler ama hala tam olarak sorduğum sorunun cevabını bulamadım çoktur uğraşıyorum ama bi türlü nasıl yapabilmiş değilim
otel giris tarihini ve çıkış tarihini datetimepickerla veritabanına kaydetib
bu tarihler arasında seçilen oda numarasını dolu gösterip,bir sonraki yeni kayıtta eğer bu tarihler arasında her hangi bir günde aynı odaya kayıt yapılmaya çalışıldığında dolu göstermesini sağlamak
veritabanım interbase
ibtable kullanıyorum
1 haftadır uğraşmama rağmen hala bir çözüm yolu bulamadım
yardımlarınızı bekliyorum
otel giris tarihini ve çıkış tarihini datetimepickerla veritabanına kaydetib
bu tarihler arasında seçilen oda numarasını dolu gösterip,bir sonraki yeni kayıtta eğer bu tarihler arasında her hangi bir günde aynı odaya kayıt yapılmaya çalışıldığında dolu göstermesini sağlamak
veritabanım interbase
ibtable kullanıyorum
1 haftadır uğraşmama rağmen hala bir çözüm yolu bulamadım
yardımlarınızı bekliyorum
Dört bir yan kararınca sana yöneldik.Ey ışıklar kaynağı aç kapını biz geldik.
- Bir laf vardır denizleri aşıp derede boğulmak diye...
- Şimdi Tablo tasarımına kara verdin mi ? Biz onu tartışmıyor muyuz ? Kişisel olarak yabancılaştım.
- Sorduğun sorunun cevabı kuracağın SQL cümlelerinin içeriğinde saklı. Şöyle ki,
bu neyi verir kalınmakta olan odalar yani Dolu olanlar... çıkış tarihlerini peşin olarak giriyorsan;
bu neyi verir, bu da aynı sonucu... Ama bugün için kalınan odaların listesi.
- Biraz modifiye edelim...
bu da tamiratta olan odaların listesi. Gördüğün gibi biraz modifiye edilerek sonsuz bilgiye ulaşabilirsin..

- Şimdi Tablo tasarımına kara verdin mi ? Biz onu tartışmıyor muyuz ? Kişisel olarak yabancılaştım.
- Sorduğun sorunun cevabı kuracağın SQL cümlelerinin içeriğinde saklı. Şöyle ki,
Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurumu = "Kalınıyor" (GirisTarihi <> Null AND AyrilisTarih is Null)
Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurum = "Kalınıyor" AND Date() BETWEEN GirisTarihi and AyrilisTarihi
- Biraz modifiye edelim...
Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurum = "Tamirat"
listelemekle ilgili bir sorun yok şimdilik en azından listeleme olayına geçmedim dahamrmarman yazdı:- Bir laf vardır denizleri aşıp derede boğulmak diye...![]()
- Şimdi Tablo tasarımına kara verdin mi ? Biz onu tartışmıyor muyuz ? Kişisel olarak yabancılaştım.
- Sorduğun sorunun cevabı kuracağın SQL cümlelerinin içeriğinde saklı. Şöyle ki,
bu neyi verir kalınmakta olan odalar yani Dolu olanlar... çıkış tarihlerini peşin olarak giriyorsan;Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurumu = "Kalınıyor" (GirisTarihi <> Null AND AyrilisTarih is Null)
bu neyi verir, bu da aynı sonucu... Ama bugün için kalınan odaların listesi.Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurum = "Kalınıyor" AND Date() BETWEEN GirisTarihi and AyrilisTarihi
- Biraz modifiye edelim...
bu da tamiratta olan odaların listesi. Gördüğün gibi biraz modifiye edilerek sonsuz bilgiye ulaşabilirsin..Kod: Tümünü seç
SELECT OdaNo FROM OdaBilgileri Where OdaId in ( SELECT OdaIdBaglantiId FROM ODAHAREKET WHERE OdaDurum = "Tamirat"
benim yapmak istediğim şey giriş tarihi ve çıkış tarihi arasında ki günlerde
kişi sayısını girip
ilgili odayı dolu (veya kişi sayısına göre bu yarı doluda olabilir) gösterip, yeni kayıt yapılmak istendiğinde eğer yine bu tarihler arasında bir tarih ve aynı oda yazılmışsa bu oda ilgili tarihte dolu diye bi uyarı verdirmek
Dört bir yan kararınca sana yöneldik.Ey ışıklar kaynağı aç kapını biz geldik.