tablodaki verileri gizleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
tablodaki verileri gizleme
S.A
arkadaslar benim bir tablom var bu tabloye veri giriyorum ancak girdigim bu verilerin onaylanmadan gorunmesini istemiyorum ornek vererek aciklayayim.. ben tablodaki alanlari listeliyorum bu alanlara veri giriliyor ve girilen bu veriler uzman tarafindan onaylanmadikca baskalari tarafindan gorunmesini istemiyorum...ancak benim bir exe var bu exe ile clientler tablodaki verileri goruyorlar... ancak yeni bir exe daha yapip bu exe yi uzmana verecem ve uzman arkadas veri girildikten sonra kontrol edecek verileri eger dogru ise onaylayip verileri diger kullanicilarin gormesini saglayacak ..ben bu isi 2 tablo kullanarak yapabilirim yani girilen veriler 1.tabloda ancak onaylandiktan sonra 2.tabloya atilir bu 2.tablodaki verilerde listelenir ancak benim sormak istedigim bu isi tek tablo kullanarak yapabilirmiyiz diye soracaktimmm yani onay oldugunda aktif bir sekilde veriler gorunsun ancak onay olmadiginda sanki girilmemis gibi gorunmesin.. iyi calismalar...
arkadaslar benim bir tablom var bu tabloye veri giriyorum ancak girdigim bu verilerin onaylanmadan gorunmesini istemiyorum ornek vererek aciklayayim.. ben tablodaki alanlari listeliyorum bu alanlara veri giriliyor ve girilen bu veriler uzman tarafindan onaylanmadikca baskalari tarafindan gorunmesini istemiyorum...ancak benim bir exe var bu exe ile clientler tablodaki verileri goruyorlar... ancak yeni bir exe daha yapip bu exe yi uzmana verecem ve uzman arkadas veri girildikten sonra kontrol edecek verileri eger dogru ise onaylayip verileri diger kullanicilarin gormesini saglayacak ..ben bu isi 2 tablo kullanarak yapabilirim yani girilen veriler 1.tabloda ancak onaylandiktan sonra 2.tabloya atilir bu 2.tablodaki verilerde listelenir ancak benim sormak istedigim bu isi tek tablo kullanarak yapabilirmiyiz diye soracaktimmm yani onay oldugunda aktif bir sekilde veriler gorunsun ancak onay olmadiginda sanki girilmemis gibi gorunmesin.. iyi calismalar...
evet bunu dusunmustum ama hocam clientlerdeki exenin kodlari bende yok baska bir exe ben ise farkli bir exe yazicam.. ancak clientlerdeki exe kalacak ben soyle dusundum yani clientlerde bu alan gorunuyor acaba bu alana yazdigimiz degeri gorunmez kilabilirmiyiz....sonrada onaylayinca gorunsun bir nevi hokus pokus gibi bir sey...kafama pek yatmadi ama yinede bir sorayim dedim..
Adminin cevabına ek olarak;
2 adet query koy ve sql lerine aşağıdaki kotları yaz. Ayrıca 2 tane datasource ile oluşan verilere ulaşıp, dbgrid , dbedit vs. gibi data işlem toollarına gönderip değişiklik vs. yapabilirsin.
uzmanın query'si:
diğerlerinin query'si
uzman dbgridde herhangi bir kodu onayladığında 'H''yi 'E' yapar. onaylanan data diğer kişilercede görünür hale gelir.
Önemli Not: Eğer bu metod uygulanacaksa, query'de 'H' yi 'E' yapma işlemi defaultta olmaz, onun için updatesql özelliğini araştırıp (
arayıp)
bulabilirsiniz.
Kolay Gelsin...
2 adet query koy ve sql lerine aşağıdaki kotları yaz. Ayrıca 2 tane datasource ile oluşan verilere ulaşıp, dbgrid , dbedit vs. gibi data işlem toollarına gönderip değişiklik vs. yapabilirsin.
uzmanın query'si:
Kod: Tümünü seç
select * from tablo where onay='H'
Kod: Tümünü seç
select * from tablo where onay='E'
Önemli Not: Eğer bu metod uygulanacaksa, query'de 'H' yi 'E' yapma işlemi defaultta olmaz, onun için updatesql özelliğini araştırıp (

bulabilirsiniz.
Kolay Gelsin...
Anladığım kadarı ile kullanılan normal exe file a müdahale etme şansın yok. DB deki tablona yeni bir alan açman karşısında diğer programda bir hata yada değişiklik olma ihtimalinide göz önüne alman gerekir.
Diğer exede bir değişiklik yapamayacağına göre. şöyle bir yol izleyebilirsin. İkinci bir table daha yaparsın burayı triger ile yada programdan senin oluşturduğun exe ile bağlarsın. uzman onayladıktan sonra senin oluşturduğun table dan programın kullandığı table a bilgileri yollarsın.
Biraz karışık oldu ama zannedersem ne demek istediğimi anlamıştırsın. Bir takas Table i ile aralarında çalışacaksın.
Diğer exede bir değişiklik yapamayacağına göre. şöyle bir yol izleyebilirsin. İkinci bir table daha yaparsın burayı triger ile yada programdan senin oluşturduğun exe ile bağlarsın. uzman onayladıktan sonra senin oluşturduğun table dan programın kullandığı table a bilgileri yollarsın.
Biraz karışık oldu ama zannedersem ne demek istediğimi anlamıştırsın. Bir takas Table i ile aralarında çalışacaksın.
I love my car.
Blog Yaptık
Blog Yaptık
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
benimde şuan böle bir sorunum var
arkadaşın dediği gibi bende KOD diye bir bölüm açtım
kayıt ettiğim zaman KOD'a 1 değeri silme dediğim zaman ise 2 değerini atıyorum querimde ise 1 olanları gösteriyorum 1 işlemi oluyor fakat silme işleminde DATABASE NOT EDİT İNSERT MODE HATASI İLE KARŞILAŞIYORUM
silme işlemide bir post işlemi olmucakmı neden bana bu hatayı veriyo anlamıyorum galiba yazdığım kod bozuk bir de 1 atama(kayıt) işlemini ibqerimin onnewrecord bölümüne yazdım bu bir sorun teşkil edermi
silme işleminde yazdığım (bozuk düşündüğüm) kod şudur
not şimdiden vermiş olduğunuz güzel cevaplar için teşekkür ederim
arkadaşın dediği gibi bende KOD diye bir bölüm açtım
kayıt ettiğim zaman KOD'a 1 değeri silme dediğim zaman ise 2 değerini atıyorum querimde ise 1 olanları gösteriyorum 1 işlemi oluyor fakat silme işleminde DATABASE NOT EDİT İNSERT MODE HATASI İLE KARŞILAŞIYORUM
silme işlemide bir post işlemi olmucakmı neden bana bu hatayı veriyo anlamıyorum galiba yazdığım kod bozuk bir de 1 atama(kayıt) işlemini ibqerimin onnewrecord bölümüne yazdım bu bir sorun teşkil edermi

silme işleminde yazdığım (bozuk düşündüğüm) kod şudur
Kod: Tümünü seç
procedure TForm1.ACT_DELETEExecute(Sender: TObject);
begin
if MessageDlg('Aktif Kayıt silinecek eminmisiniz?..',mtWarning,[mbyes,mbno],0)=mryes then
IBQuery1.Post;
IBQuery1.Transaction.CommitRetaining;
IBQuery1.FieldByName('KOD').AsInteger :=2;
IBQuery1.Refresh;
end;
type
Tform1 = class(Tform)
Tform1 = class(Tform)
S.A.
kodu şu şekilde değiştirirsen sanırım düzelir.
sanırım böle daha iyi olur.
Onnewrecord olayında değer atamanın bir sakıncası yok...(bence yok. bende kullanıyorum.)
Kolay Gelsin.
kodu şu şekilde değiştirirsen sanırım düzelir.
Kod: Tümünü seç
procedure TForm1.ACT_DELETEExecute(Sender: TObject);
begin
if MessageDlg('Aktif Kayıt silinecek eminmisiniz?..',mtWarning,[mbyes,mbno],0)=mryes then
begin
if not IBQuery1.Transaction.active then IBQuery1.Transaction.starttransaction;
IBQuery1.Edit;//önce tabloyu edit moduna getir.
IBQuery1.FieldByName('KOD').AsInteger :=2; //sonra kayıd değiştir.
IBQuery1.Post;//kaydet
IBQuery1.Transaction.CommitRetaining;//commit
IBQuery1.Refresh; //ok
end;
end;
Onnewrecord olayında değer atamanın bir sakıncası yok...(bence yok. bende kullanıyorum.)
Kolay Gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden