locate de konumlanma hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ertline
Üye
Mesajlar: 137
Kayıt: 23 Nis 2005 09:15
Konum: Bartın
İletişim:

locate de konumlanma hatası

Mesaj gönderen ertline »

arkadaşlar locate edit modunda hep ilk satıra konulanıyor ve ilgili kaydı değilde ilk satırdaki kaydı değiştiriyor
Nerde yanlış yapıyorum anlayamadım
Kod şu şekilde:

if veri.kasa_islem.Locate('ONO',veri.odeme.fieldbyname('ID').Value,[])=False then begin

FORM21.DateTimePicker1.date:=veri.odeme.fieldbyname('TARIH').asdatetime;
FORM21.DateTimePicker1.OnChange(Sender);

veri.kasa_islem.Insert;
veri.kasa_islem.Edit;
veri.kasa_islem.FieldByName('ISLEM').value:='ÇIKIŞ';
veri.kasa_islem.FieldByName('BOL_KOD').AsFloat:=veri.bolge.FieldByName('BOL_KOD').AsFloat;
veri.kasa_islem.FieldByName('KOY_KOD').AsFloat:=veri.koy.FieldByName('KOY_KOD').AsFloat;
veri.kasa_islem.FieldByName('DEF_NO').AsFloat:=veri.cari.FieldByName('DEF_NO').AsFloat;
veri.kasa_islem.FieldByName('BOLGE').VALUE:=veri.bolge.FieldByName('BOL_AD').VALUE;
veri.kasa_islem.FieldByName('KOY').VALUE:=veri.koy.FieldByName('KOY_AD').VALUE;
veri.kasa_islem.FieldByName('AD').VALUE:=veri.cari.FieldByName('AD').VALUE;
veri.kasa_islem.FieldByName('TARIH').AsDateTime:=veri.odeme.FieldByName('TARIH').AsDateTime;
veri.kasa_islem.FieldByName('ACIK').VALUE:=veri.odeme.FieldByName('ACIK').VALUE;
veri.kasa_islem.FieldByName('ODEME_TIP').VALUE:=veri.odeme.FieldByName('ODEME_TIP').VALUE;
veri.kasa_islem.FieldByName('CIKIS').AsFloat:=veri.odeme.FieldByName('GIRIS').AsFloat;
veri.kasa_islem.FieldByName('ONO').AsFloat:=veri.odeme.fieldbyname('ID').AsFloat;
veri.kasa_islem.Post;
end else begin

FORM21.DateTimePicker1.date:=veri.odeme.fieldbyname('TARIH').asdatetime;
FORM21.DateTimePicker1.OnChange(Sender);

veri.kasa_islem.Edit;
veri.kasa_islem.FieldByName('ISLEM').value:='ÇIKIŞ';
veri.kasa_islem.FieldByName('BOL_KOD').AsFloat:=veri.bolge.FieldByName('BOL_KOD').AsFloat;
veri.kasa_islem.FieldByName('KOY_KOD').AsFloat:=veri.koy.FieldByName('KOY_KOD').AsFloat;
veri.kasa_islem.FieldByName('DEF_NO').AsFloat:=veri.cari.FieldByName('DEF_NO').AsFloat;
veri.kasa_islem.FieldByName('BOLGE').VALUE:=veri.bolge.FieldByName('BOL_AD').VALUE;
veri.kasa_islem.FieldByName('KOY').VALUE:=veri.koy.FieldByName('KOY_AD').VALUE;
veri.kasa_islem.FieldByName('AD').VALUE:=veri.cari.FieldByName('AD').VALUE;
veri.kasa_islem.FieldByName('TARIH').AsDateTime:=veri.odeme.FieldByName('TARIH').AsDateTime;
veri.kasa_islem.FieldByName('ACIK').VALUE:=veri.odeme.FieldByName('ACIK').VALUE;
veri.kasa_islem.FieldByName('ODEME_TIP').VALUE:=veri.odeme.FieldByName('ODEME_TIP').VALUE;
veri.kasa_islem.FieldByName('CIKIS').AsFloat:=veri.odeme.FieldByName('GIRIS').AsFloat;
veri.kasa_islem.FieldByName('ONO').AsFloat:=veri.odeme.fieldbyname('ID').AsFloat;
veri.kasa_islem.Post;
end;



Burda edit modda problem veriyor.
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

Kullandığın veri tabanı nedir ve erişim için kullandığını vt bileşeni hangisidir gibi soruları da cevaplarsan herhalde sorununa çözüm bulabilirsin.
ertline
Üye
Mesajlar: 137
Kayıt: 23 Nis 2005 09:15
Konum: Bartın
İletişim:

Mesaj gönderen ertline »

veritabanı interbase IBQuery kullanıyorum
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

Unidirectional dataset mi kullanıyorsun acaba?
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Re: locate de konumlanma hatası

Mesaj gönderen lazio »

ertline yazdı: if veri.kasa_islem.Locate('ONO',veri.odeme.fieldbyname('ID').Value,[])=False then begin

FORM21.DateTimePicker1.date:=veri.odeme.fieldbyname('TARIH').asdatetime;
FORM21.DateTimePicker1.OnChange(Sender);

veri.kasa_islem.Insert;
veri.kasa_islem.Edit;
veri.kasa_islem.FieldByName('ISLEM').value:='ÇIKIŞ';
sanırım sorun
veri.kasa_islem.Insert;
veri.kasa_islem.Edit;
satırlarından kaynaklanıyor. buradaki veri.kasa_islem.Insert; olayını kaldırın. konumlandığınız kaydı edit etmeniz güncellemek için yeterli. kolay gelsin
DeveloperToolKit

..::|YeşilMavi|::..
Cevapla