aynı kayıt var ise
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
aynı kayıt var ise
merhaba arkadaşlar benim kücük bir sorunum var
table1 de yapmış oldugum isim veya plaka alanına aynı kayıt var ise
aynı kayıttan birdaha kayıt yapmak istemiyorum bana böyle bir kod önerebilirmisiniz lütven saygılarımla
table1 de yapmış oldugum isim veya plaka alanına aynı kayıt var ise
aynı kayıttan birdaha kayıt yapmak istemiyorum bana böyle bir kod önerebilirmisiniz lütven saygılarımla
Zengin
S,A
Mesela Plaka alanını varsayarsak
Ben Boyle Yapıyorum.Edit1 in Exit olayında locate metodunu kullanıyorum.. kolay gelsin umarım yardımcı olabilmişimdir.
Mesela Plaka alanını varsayarsak
Kod: Tümünü seç
procedure TForm1.Edit1Exit(Sender: TObject);
var
bul: boolean;
begin
bul := table1.Locate('Plaka', edit1.Text, []);
if bul = true then
begin
Showmessage('Plaka Kayıtlı');
end;
end;
Ben Boyle Yapıyorum.Edit1 in Exit olayında locate metodunu kullanıyorum.. kolay gelsin umarım yardımcı olabilmişimdir.
Dikkat edin kızdırmayın Mustafa Abiyi sonra olan bize olacak.
Cevaba gelince Hangi veri tabanı sorusu önemli tabi ama genel olarak cevaplamak gerekirse benzersiz index tanımlayabilkrisin işini görür ama bu durumda ikinci kayıt yapılmak istendiği anda veri tabanının ilgili mesajı gelecektir ekrana. Bundan kullanıcı çok hoşlanmayabilir çünkü access te ben yaptığımda hata mesajı bi sayfaya yakın yer tutuyordu ve kullanıcı bir şey anlamıyordu.
İkinci çözüm olarak ilgili editin bence en uygunu onexit eventine bir SQL sorgusu yazarak ya da locate ile aratarak çözebilirsin. eğer kayıt varsa bu kat-yıt daha önce yapıldı gibi bi mesaj işini görür...
Cevaba gelince Hangi veri tabanı sorusu önemli tabi ama genel olarak cevaplamak gerekirse benzersiz index tanımlayabilkrisin işini görür ama bu durumda ikinci kayıt yapılmak istendiği anda veri tabanının ilgili mesajı gelecektir ekrana. Bundan kullanıcı çok hoşlanmayabilir çünkü access te ben yaptığımda hata mesajı bi sayfaya yakın yer tutuyordu ve kullanıcı bir şey anlamıyordu.
İkinci çözüm olarak ilgili editin bence en uygunu onexit eventine bir SQL sorgusu yazarak ya da locate ile aratarak çözebilirsin. eğer kayıt varsa bu kat-yıt daha önce yapıldı gibi bi mesaj işini görür...
altunway kardeşim kodun dogru fakat hata verdiginde yinede plakayı kaydediyor ozaman kaydetmek veya kaydetmemek icin bir secenek vermek gerekiyor
procedure TForm1.Edit1Exit(Sender: TObject);
var
bul: boolean;
begin
bul := table1.Locate('Plaka', edit1.Text, []);
if bul = true then
begin
Showmessage('Plaka Kayıtlı');
(buraya bir secenek vermek gerekiyor hata verdigi an kayıt yapmak yada silmek icin ? saygılarımla
end;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
var
bul: boolean;
begin
bul := table1.Locate('Plaka', edit1.Text, []);
if bul = true then
begin
Showmessage('Plaka Kayıtlı');
(buraya bir secenek vermek gerekiyor hata verdigi an kayıt yapmak yada silmek icin ? saygılarımla
end;
end;
Zengin
merhaba arkadaşlar olayı şu şekilde cözdüm kulanmış oldugum
Query1 ve tekrar bir ikinci Query2 ile aratıp daha önceden kayıt var ise
haber veriyor
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select* from Ykart where plaka like "'+DBEdit1.Text+'%"');
Query1.Open;
procedure TMKART.DBNavigator8Click(Sender: TObject; Button: TNavigateBtn);
Var
Msg:Word;
begin
if DBedit13.text <> '' then
begin
showmessage(Dbedit13.text+' Plakalı Arac Kaydımızda Mevcut Var ? ');
end
else
begin
if DBedit26.text <> '' then
begin
showmessage(Dbedit26.text+' Plaka Önceden Kayıtı Var ? ');
begin
msg:=Application.MessageBox('Yeni Hatalı Kaydı Silmek İstiyormusunuz ?','Dikkat',4+32);
case msg of
IDYES: MKQuery1.Delete;
end;
end;
end;
İlgilenen arkadaşlara teşekkür ederim saygılarımla
Query1 ve tekrar bir ikinci Query2 ile aratıp daha önceden kayıt var ise
haber veriyor
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select* from Ykart where plaka like "'+DBEdit1.Text+'%"');
Query1.Open;
procedure TMKART.DBNavigator8Click(Sender: TObject; Button: TNavigateBtn);
Var
Msg:Word;
begin
if DBedit13.text <> '' then
begin
showmessage(Dbedit13.text+' Plakalı Arac Kaydımızda Mevcut Var ? ');
end
else
begin
if DBedit26.text <> '' then
begin
showmessage(Dbedit26.text+' Plaka Önceden Kayıtı Var ? ');
begin
msg:=Application.MessageBox('Yeni Hatalı Kaydı Silmek İstiyormusunuz ?','Dikkat',4+32);
case msg of
IDYES: MKQuery1.Delete;
end;
end;
end;
İlgilenen arkadaşlara teşekkür ederim saygılarımla
Zengin