fiş veya belgelerde işlem numarasını otomatik verme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
fiş veya belgelerde işlem numarasını otomatik verme
hazırladığım formlarda fiş numaralarını otomatik olarak girmesini yani daha önece verdiği numaraya (mesela001) kayıt yaptıktan sonara bir sonraki numarayı otomatik alsın istiyorum (Yani 002 olması)
programının vt kısmını oluştururken fisno field ını Autoicrement olarak tanımlarsan ve minumum değerini 00001 olarak verirsen projende kaydettiğin her yeni fiş i 00001, 00002 ,00003 .... olarak otomatik olarak numaralandırır. Tabiki bu kullandıgın veri tabanına göre degişiklik gösterir. Ben database desktop da ( *.db ) nasıl yapıldıgını anlattım sadece. kolay gelsin...
Selam Bende Mustafa Hocamın dediği gibi numaralandırma sistemi kullanıyorum. Formumda kullandığım kodu komple veriyorum yalnız biraz ayıtlama yapman gerekecek.
Kolay Gelsin...
Kod: Tümünü seç
procedure TCariHesapIslemEkle.FormShow(Sender: TObject);
VAR DataKontrol: OleVariant;
EditCek:Integer;
EditYolla:String;
begin
Edit1.SetFocus;
AdvEdit1.Text := '';
DateTimePicker1.Date := Date;
DateTimePicker1.Format := 'dd/MM/yyyy';
DateTimePicker2.Time := Time;
CariHesapIslemleriFrm.AdoDataSet1.Append;
DataKontrol := Null;
if CHiFormBul = 0 Then
Begin //Nakit Tahsilat
NumaraAdo.Open;
if NumaraAdo.FieldByName('TahsilatNo').Value = DataKontrol Then
Begin
NumaraAdo.Edit;
NumaraAdoTahsilatNo.Value := 0;
NumaraAdo.Post;
CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value := NumaraAdoTahsilatNo.Value + 1;
EditCek := CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value;
FmtStr(EditYolla,'%.8d', [EditCek]);
Edit1.Text := EditYolla;
Edit1.SelectAll;
End
Else
Begin
CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value := NumaraAdoTahsilatNo.Value + 1;
EditCek := CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value;
FmtStr(EditYolla,'%.8d', [EditCek]);
Edit1.Text := EditYolla;
Edit1.SelectAll;
End;
End //Nakit Tahsilat
Else
if CHiFormBul = 1 Then
Begin //Nakit Ödeme
NumaraAdo.Open;
if NumaraAdo.FieldByName('OdemeNo').Value = DataKontrol Then
Begin
NumaraAdo.Edit;
NumaraAdoOdemeNo.Value := 0;
NumaraAdo.Post;
CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value := NumaraAdoOdemeNo.Value + 1;
EditCek := CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value;
FmtStr(EditYolla,'%.8d', [EditCek]);
Edit1.Text := EditYolla;
Edit1.SelectAll;
End
Else
Begin
CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value := NumaraAdoOdemeNo.Value + 1;
EditCek := CariHesapIslemleriFrm.ADODataSet1.FieldByName('IslemNo').Value;
FmtStr(EditYolla,'%.8d', [EditCek]);
Edit1.Text := EditYolla;
Edit1.SelectAll;
End;
End; //Nakit Ödeme
if CHiFormBul = 0 Then
Label1.Caption := 'Nakit Tahsilat'
Else
Label1.Caption := 'Nakit Ödeme';
end;
procedure TCariHesapIslemEkle.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
{ CariHesapIslemleriFrm.ADODataSet1.Close;
CariHesapIslemleriFrm.ADODataSet1.open;
CariHesapIslemleriFrm.ADODataSet1.Locate('IslemNo', StrToInt(Edit1.Text), [loCaseInsensitive]); }
AdoQuery1.Close;
NumaraAdo.Close;
end;
procedure TCariHesapIslemEkle.DBEdit2KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DateTimePicker1.SetFocus;
end;
procedure TCariHesapIslemEkle.DateTimePicker1KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DateTimePicker2.SetFocus;
end;
procedure TCariHesapIslemEkle.DateTimePicker2KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DBEdit4.SetFocus;
end;
procedure TCariHesapIslemEkle.DBEdit4KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DBEdit6.SetFocus;
end;
procedure TCariHesapIslemEkle.DBEdit6KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DBEdit7.SetFocus;
end;
procedure TCariHesapIslemEkle.DBEdit7KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DBEdit8.SetFocus;
end;
procedure TCariHesapIslemEkle.DBEdit8KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
AdvEdit1.SetFocus;
end;
procedure TCariHesapIslemEkle.AdvEdit1KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
Edit1.SetFocus;
end;
procedure TCariHesapIslemEkle.SpeedButton1Click(Sender: TObject);
VAR IslemNo:Integer;
begin
if CHiFormBul = 0 Then
Begin // Nakit Tahsilat
IslemNo := StrToInt(Edit1.Text);
// IslemNo := CariHesapIslemleriFrm.ADODataSet1islemNo.Value;
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM NakitIslemLer');
SQL.Add('Where IslemNo = :IslemNo AND islemTuru = "Tahsilat" ');
Parameters[0].Value := IslemNo;
Open;
End;
if AdoQuery1.RecordCount > 0 Then
ShowMessage ('Bu İşlem no lu kayıt daha önce girilmiş')
Else
if Edit1.Text = '' Then
ShowMessage('İşlem Numarası Girmeden' + #13 + 'Kayıt Yapamazsınız.')
Else
if Edit1.Text = '' Then
ShowMessage('Makbuz Numarası Girmeden' + #13 + 'Kayıt Yapamazsınız.')
Else
if DBEdit6.Text = '' Then
ShowMessage('Cari Hesap Kodu Girmeden' + #13 + 'Kayıt Yapamazsınız.')
Else
Begin
CariHesapIslemleriFrm.ADODataSet1IslemNo.Value := StrToInt(Edit1.Text);
CariHesapIslemleriFrm.ADODataSet1Tarih.Value := DateTimePicker1.Date;
CariHesapIslemleriFrm.ADODataSet1Saat.Value := DateTimePicker2.Time;
CariHesapIslemleriFrm.ADODataSet1islemTuru.Value := 'Tahsilat';
CariHesapIslemleriFrm.ADODataSet1Borc.Value := AdvEdit1.FloatValue;
//Cari Kartlarda Bakiye Ekle
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM Carikart Where CariKod = "'+ CariHesapIslemleriFrm.ADODataSet1CariKod.AsString + '"');
Open;
End;
if AdoQuery1.RecordCount > 0 Then
Begin
AdoQuery1.Edit;
AdoQuery1.FieldByName('BORC').Value := AdoQuery1.FieldByName('BORC').Value + CariHesapIslemleriFrm.ADODataSet1Borc.Value;
AdoQuery1.Post;
End;
//------------------------------
//NUMARA KONTROLÜ YAP
if NumaraAdoTahsilatNo.Value < CariHesapIslemleriFrm.ADODataSet1IslemNo.Value Then
Begin
NumaraAdo.Edit;
NumaraAdoTahsilatNo.Value := CariHesapIslemleriFrm.ADODataSet1IslemNo.Value;
NumaraAdo.Post;
End;
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM Hareketler');
Open;
End;
AdoQuery1.Append;
AdoQuery1.FieldByName('IslemNo').AsString := Edit1.Text;
AdoQuery1.FieldByName('Tarih').AsDateTime := DateTimePicKer1.Date;
AdoQuery1.FieldByName('IslemTuru').AsString := 'Tahsilat';
AdoQuery1.FieldByName('BorcTutari').AsFloat := AdvEdit1.FloatValue;
AdoQuery1.FieldByName('CariKod').AsString := DBEdit6.Text;
AdoQuery1.Post;
CariHesapIslemleriFrm.AdoDataSet1.Post;
Close;
End;
End //Nakit Tahsilat
Else//------------------
if CHiFormBul = 1 Then
Begin // Nakit Ödeme
IslemNo := StrToInt(Edit1.Text);
//IslemNo := CariHesapIslemleriFrm.ADODataSet1islemNo.Value;
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM NakitIslemLer');
SQL.Add('Where IslemNo = :IslemNo AND islemTuru = "Ödeme" ');
Parameters[0].Value := IslemNo;
Open;
End;
if AdoQuery1.RecordCount > 0 Then
ShowMessage ('Bu İşlem no lu kayıt daha önce girilmiş')
Else
if Edit1.Text = '' Then
ShowMessage('İşlem Numarası Girmeden' + #13 + 'Kayıt Yapamazsınız.')
Else
if DBEdit6.Text = '' Then
ShowMessage('Cari Hesap Kodu Girmeden' + #13 + 'Kayıt Yapamazsınız.')
Else
Begin
CariHesapIslemleriFrm.ADODataSet1IslemNo.Value := StrToInt(Edit1.Text);
CariHesapIslemleriFrm.ADODataSet1Tarih.Value := DateTimePicker1.Date;
CariHesapIslemleriFrm.ADODataSet1Saat.Value := DateTimePicker2.Time;
CariHesapIslemleriFrm.ADODataSet1islemTuru.Value := 'Ödeme';
CariHesapIslemleriFrm.ADODataSet1Alacak.Value := AdvEdit1.FloatValue;
//Cari Kartlarda Bakiye Ekle
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM Carikart Where CariKod = "'+ CariHesapIslemleriFrm.ADODataSet1CariKod.AsString + '"');
Open;
End;
if AdoQuery1.RecordCount > 0 Then
Begin
AdoQuery1.Edit;
AdoQuery1.FieldByName('ALACAK').Value := AdoQuery1.FieldByName('ALACAK').Value + CariHesapIslemleriFrm.ADODataSet1ALACAK.Value;
AdoQuery1.Post;
End;
//------------------------------
//NUMARA KONTROLÜ YAP
if NumaraAdoOdemeNo.Value < CariHesapIslemleriFrm.ADODataSet1IslemNo.Value Then
Begin
NumaraAdo.Edit;
NumaraAdoOdemeNo.Value := CariHesapIslemleriFrm.ADODataSet1IslemNo.Value;
NumaraAdo.Post;
End;
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * FROM Hareketler');
Open;
End;
AdoQuery1.Append;
AdoQuery1.FieldByName('IslemNo').AsString := Edit1.Text;
AdoQuery1.FieldByName('Tarih').AsDateTime := DateTimePicKer1.Date;
AdoQuery1.FieldByName('IslemTuru').AsString := 'Ödeme';
AdoQuery1.FieldByName('AlacakTutari').AsFloat := AdvEdit1.FloatValue;
AdoQuery1.FieldByName('CariKod').AsString := DBEdit6.Text;
AdoQuery1.Post;
CariHesapIslemleriFrm.AdoDataSet1.Post;
Close;
End;
End; //Nakit ÖDEME
end;
procedure TCariHesapIslemEkle.Edit1KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 Then
DBEdit2.SetFocus;
EditKontrol(CariHesapIslemEkle.Edit1, Key);
end;
procedure TCariHesapIslemEkle.DBEdit6Exit(Sender: TObject);
begin
if DBEdit6.Text <> '' Then
Begin
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * From CariKart');
Open;
End;
if Not AdoQuery1.Locate('CariKod', DBEdit6.Text, [loCaseInsensitive]) Then
Begin
ShowMessage('Cari Hesap Kodu Bulunamadı');
CariHesapIslemleriFrm.ADODataSet1CariKod.AsString := '';
CariHesapIslemleriFrm.ADODataSet1CariUnvan.AsString := '';
DBEdit6.SetFocus;
End
Else
IF CariHesapIslemleriFrm.AdoDataSet1.State = dsInsert then
CariHesapIslemleriFrm.ADODataSet1CariUnvan.AsString := AdoQuery1.fieldByName('CariUnvan').AsString;
End;
end;
procedure TCariHesapIslemEkle.DBEdit7Exit(Sender: TObject);
begin
if DBEdit6.Text = '' Then
if DBEdit7.Text <> '' Then
Begin
With AdoQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('Select * From CariKart');
Open;
End;
if Not AdoQuery1.Locate('CariUnvan', DBEdit7.Text, [loCaseInsenSitive]) Then
Begin
ShowMessage('Cari Hesap Kodu Bulunamadı');
CariHesapIslemleriFrm.ADODataSet1CariKod.AsString := '';
CariHesapIslemleriFrm.ADODataSet1CariUnvan.AsString := '';
DBEdit7.SetFocus;
End
Else
IF CariHesapIslemleriFrm.AdoDataSet1.State = dsInsert then
CariHesapIslemleriFrm.ADODataSet1CariKod.AsString := AdoQuery1.fieldByName('CariKod').AsString;
End;
end;
procedure TCariHesapIslemEkle.DBEdit6KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = VK_F10 Then
Begin
CHiCariAraFBul:= 1;
CHiCariAra:= DBEdit6.Text;
CariHesapAraKodFrm.ShowModal;
End;
end;
procedure TCariHesapIslemEkle.DBEdit7KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = VK_F10 Then
Begin
CHiCariAraFBul:= 2;
CHiCariAra:= DBEdit7.Text;
CariHesapAraKodFrm.ShowModal;
End;
end;
procedure TCariHesapIslemEkle.Edit1Exit(Sender: TObject);
var
EditCek:Integer;
EditYolla:String;
begin
EditCek := StrToInt(Edit1.Text);
FmtStr(EditYolla,'%.8d', [EditCek]);
Edit1.Text := EditYolla;
end;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.