Numeric bir alanın değerini her kayıt eklendiğinde 1 arttırm

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

rica ederim. ayrıca önceki mesajda afterinsert yerine afterpost demişim. arif olan alar misali sanırım yanlış anlama olmamıştır.
Kullanıcı avatarı
mpolat
Üye
Mesajlar: 96
Kayıt: 30 Ağu 2003 01:19
Konum: Malatya

Mesaj gönderen mpolat »

:lol: yok Abi arif olup olmadığımız tartışılır da anladım sağolun Allah razı olsun. Selam ve dua ile...
"İlmin anası sormaktır"
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Bir tavsiye, eğer Table Nesnesi ve Paradox Tabloları kullanıyorsan bu alanı (+) Autoincrement alan olarak tanımla ve bu 1 arttır gibi şeylerden kurtul otomatik olarak kendisi arttırır. Hele hele çok kullanıcılı bir ortamda yazıyorsan, bu sefer Lockin olaylarına girmen lazım :) O da başlı başına bir konu (SQL Tabanlı DB'lerde).

Kolay gelsin,
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
mpolat
Üye
Mesajlar: 96
Kayıt: 30 Ağu 2003 01:19
Konum: Malatya

Mesaj gönderen mpolat »

Abi ben de öyle düşünmüştüm fakat bu alanın olduğu tabloyu master tablo olarak atayıp master-detail ilişki kurduğumda "Key Violation" hatasına sebep oluyor. O yüzden vazgeçtim. Kullanıcının manuel olarak girmesi de takdir edersiniz ki kullanışsız oluyor. O yüzden böyle bir çare düşündüm. AutoIncrement olarak tanımlayıp "Key Violation" hatasını gidermenin bir yolu var mı?
"İlmin anası sormaktır"
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selam,

Ben daha öncelerinde paradoxta auto incremental field kullandım. Hem master Detail şeklinde ve dediğin gibi bir Key Violation hatası almadım. Muhtemelen senin Master Detail kurulumunda yada detail tabloda index kurulumlarında bir sorun var.

Eğer tablolarını, indexlerini ve ilgili kodu gönderirsen bakıp söyleyebiliriz.

Kolay gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
mpolat
Üye
Mesajlar: 96
Kayıt: 30 Ağu 2003 01:19
Konum: Malatya

Mesaj gönderen mpolat »

Abi Ana tbalonun yapısı şöyle

Alan Adı: Tipi: Uzunluğu: Key:
ISLEMNO N *
TARIH D
KASANO A 5
KASIYER A 15
ZNO N
ZTOPLAMI N
NAKITTOPLAM N
KREDITOPLAM N
FISADET N
FISIPTLAADET N
IPTALTUTAR N
VERILENBORC N


Detail Tablonun yapısı:
KAYIT_ID + *
ISLEMNO N (Secondary ındex)
PARA_ADI N
PARA_MIKTARI N
PARA_TUTARI N

Şimdi ben ISLEMNO alanı üzerinden tabloları bağladığımda eğer tablolarda ISLEMNO AutoInc. ise detay tabloda her kayıt eklendiğinde ISLEMNO alanını bir arttırmak isteyip karışıklığa sebep olmaz mı?
"İlmin anası sormaktır"
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

detail tablosunda islemno secondary index ozelliginde uniqe kaldırırsan hicbir sorun cıkmaz gibime geliyor
Kullanıcı avatarı
mpolat
Üye
Mesajlar: 96
Kayıt: 30 Ağu 2003 01:19
Konum: Malatya

Mesaj gönderen mpolat »

Yok Gökmen Abi zaten Unique olarak tanımlı değil
"İlmin anası sormaktır"
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

iyi o zaman, yapı da bir sıkıntı gözükmüyor. Ben bu şekilde birçok tablo ile çalıştım.

Kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

verdigin tablo yapısını denedim bi sorun yok
ben sana kodlarını gondereyim sen incele
olusturdugum secondary index ismi
IDXISLEMNO
kolay gelsin
not:muhtemelen master-detail baglantı ayarında sorun var

pas dosyası

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, DBTables;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    DataSource2: TDataSource;
    Table2: TTable;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.
dfm dosyası

Kod: Tümünü seç

object Form1: TForm1
  Left = 195
  Top = 103
  Width = 696
  Height = 313
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 0
    Top = 0
    Width = 688
    Height = 120
    Align = alTop
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = []
  end
  object DBGrid2: TDBGrid
    Left = 0
    Top = 120
    Width = 688
    Height = 120
    Align = alTop
    DataSource = DataSource2
    TabOrder = 1
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = []
  end
  object DataSource1: TDataSource
    DataSet = Table1
    Left = 104
    Top = 16
  end
  object Table1: TTable
    Active = True
    DatabaseName = 'MASDET'
    IndexFieldNames = 'ISLEMNO'
    MasterFields = 'ISLEMNO'
    TableName = 'MASTER.DB'
    Left = 152
    Top = 16
  end
  object DataSource2: TDataSource
    DataSet = Table2
    Left = 104
    Top = 56
  end
  object Table2: TTable
    Active = True
    DatabaseName = 'MASDET'
    IndexName = 'IDXISLEMNO'
    MasterFields = 'ISLEMNO'
    MasterSource = DataSource1
    TableName = 'DETAIL.db'
    Left = 152
    Top = 56
  end
end
Kullanıcı avatarı
mpolat
Üye
Mesajlar: 96
Kayıt: 30 Ağu 2003 01:19
Konum: Malatya

Mesaj gönderen mpolat »

Abi herkese ilgi ve yardımcıları için çok teşekkür ederim. Gerçekten çok yararlı bilgiler edindim. Gökmen Abi tavsiyenizi deneyeceğim. Çok sağolun. Allah razı olsun.
Selam ve dua ile...
"İlmin anası sormaktır"
Cevapla