Arkadaşlar daha önceden hatırlarsınız Tarih bulma ile ilgili bir başlık vardı ve orda sorunumu halletmiştim fakat bugün 01.04.2006 tarihinde Form22 ye girmemeye başladı sebebinide anlamadım bu zamana kadar düzgün ilerliyordu bugün girmemeye başladı tarihi 02.04.2006 yaptım yine aynı eğer Form22 nin başına ShowMessage('Nerde Hata') şeklinde yazdığımda ise Form22 e girmeye başladı ama mesajı vermedi.Bir bakarsanız çok sevinirim.
procedure TForm1.Button22Click(Sender: TObject);
begin
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From RO5BAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM RO5BAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM1 = True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (5 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From ROILKBAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM ROILKBAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM2=True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (İlk Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From RO1BAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM RO1BAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM3=True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (1 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From ROMEMBAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM ROMEMBAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM4=True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (Membran) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From ROSONBAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM ROSONBAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM5=True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (Son Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Form22.Show; // Buraya girmesi gerekiyor.
end;
kısmında sorguyu açıp eof olup olmamasına bakman işi garanti etmez ki. Daha önce de söylendiği gibi "Select Count(*) as Kayit_Sayisi from tablo ..." şeklinde sorgulatıp bu karara varsan daha tutarlı olacak.. Belki Query1.RecordCount a da bakabilirsin
gibi bir yerlerde durup veya bir alanın içeriğini yazdırırım. Siz de gerekli yerlerde kontrollerinizi yaptırıp. Nerede terslik olduğunu anlamaya çalışın.
Kod 31.03.06 tarihine kadar normal çalışıyordu anlamadım ne oldu? ofenx dediklerini yaptım en son ShowMessage('nerde hata') msj koydum orda çalıştı ama sildiğimde yine çalışmadı mesajıda vermedi.
Merhaba,
demek ki istediğiniz yere kadar geliyor. Bu durumda form22 ile ilgli bir sorununuz var demektir. Programın başka bir yerinde yaptığınız bir ayardan dolayı çalışmıyordur. Onları kontrol edin.
form22 ye yaptığınız visible, hide türü komutlara bir bakın.
Arkadaşlar bu arada bir sorun var çünkü 'Son Karbon' tarihini ileri tarih verdikten sonra program çalıştı.Ve sorunun bu arada olduğunu keşfettim ama ne olduğunu anlayamadım yardım ederseniz çok sevinirim.
end;
end
Else
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * FROM ROKAYIT');
Query1.Sql.Add(' Where Extract(Month From ROSONBAKTAR)=Extract(Month From Cast(:TARIH As Date ))');
Query1.Sql.Add(' AND Extract(YEAR FROM ROSONBAKTAR)=Extract(Year From Cast(:TARIH As Date )) AND BAKIM5=True');
Query1.ParamByName('TARIH').AsDate:=Date;
Query1.Open;
if Query1.Eof=false then
Begin
With CreateMessageDialog('Bu Ay (Son Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! '#10#10#13, mtinformation, [mbOk]) do
try
Color:=clGray;
Font.Color:=clNavy;
Font.Size := 13;
Font.Style := [fsItalic];
ShowModal;
finally
Free;
end;
end
Else
Form22.Show;
End;
s.a.
free dediğiniz zaman neyi free ediyor.
onda bir sıkıntı olabilir.
with içine almışsınız ama yinede free komutunun önüne free etmek istediğiniz formuda yazıp bi deneyin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim