Tabloda Kayıt Numarası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

barutali yazdı:ilk mesajımı baştan oku :)
Barutalı senin söylediyin kayıt numarasını olmak değilmiyidi? Ben bir sey olsun mesela

IBTable1.ShowPost:=12;
IBTabel1.GoTo:=12; gibi bir şeyler istiyorum.
< The Best Boy >
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Re: Tabloda Kayıt Numarası

Mesaj gönderen barutali »

ibtable ı bilmem normal query ve SQL e göre anlatayım sen kendine uyarla ...

Kod: Tümünü seç

 with query do 
begin
 close;
sql.clear;
sql.add('Select * from tablon where on_ikinin_oldugualan=:P');
parameters.parambyname('p').value := 12;
open;
end;

anlayacağın sql ile kayıtı filtreleterek getirebilirsin ... Locate diye bi yöntem daha vardı sanırım onuda forumda arama yaparak da öğrenebilirsin ..
amatör küme programcı :D
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

Barutalı seninde canını sıkdım ancak. Bu da olmadı. bu kodları nereye yazayım. Yanı ben nereye yazıyorumsa hata oluyor.

IBQuery ile yapdım olmadı.
< The Best Boy >
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Re: Tabloda Kayıt Numarası

Mesaj gönderen barutali »

anladığım kadarıyla sen kopyala yapıştır yapıp F9 a basıyorsun ...
tablonun adını, alanlarını ve veri tiplerini yaz sana göre uyarlayayım ..
amatör küme programcı :D
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

Ya yok ne kopyalaması. Kodun SQL alanları çalışmıyor. Hata veriyor
< The Best Boy >
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Tabloda Kayıt Numarası

Mesaj gönderen emin_as »

Aşagıdaki komutu vererek istediğin kayda gidebilirsin.

Kod: Tümünü seç

ibquery1.Locate(fieldAdi,[fieldDegerleri],[]);
Sql içinde where kullanırsan, sadece o kayıt gelir, diğer kayıtları göstermez, sanırım sen sadece datasette belirli bir kayda gitmek istiyorsun. Bu nedenle locate kullanmalısın.

Kod: Tümünü seç

ibquery1.Locate('STOK_ID',[s_id],[]);
STOK_ID alan adı, s_id ise kaydettiğin alanın içerigi, string veya integer olabilir.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda Kayıt Numarası

Mesaj gönderen conari »

Jedi deki JVDBfindedit i kullanın kodda yazmanıza gerek kalmaz.
Findstyle özelliği ile filtrele veya navigate et.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: Tabloda Kayıt Numarası

Mesaj gönderen akdatilla »

subhan yazdı:Selam Arkadaşlar. Ben Test Bank adlı bir program yapıyorum ve bazı sorunlar çikdi.

Tabloda gösterilen kayıtın numarasını alıb saklamak ve programı tekrar açınca alınan
kayıt numarasını uygun tablodan kayıtı göstermek istiyorum. Bu işlemi nasıl yaparım.
merhaba
diğer arkadaşlar nasıl bir yol izledi bilemiyorum ancak sanırım aşağıdaki şekilde yapabilirsin (denemedim). Ben en basit bir dataset nesnesine göre yazıyorum.
Zaten diğer birçok gelişmiş datanesneleri bu dataset nesnesinden türetilmiştir.

Kod: Tümünü seç


procedure TForm1.SatirNoKaydet(KayitIsmi:String;DataSet:TDataSet);
var
f:TextFile;
begin
        AssignFile(f,KayitIsmi+'.txt');
        Rewrite(f);
        WriteLn(f,inttostr(DataSet.RecNo));
        CloseFile(f);
end;
procedure TForm1.SatirNoBulveGit(KayitIsmi:String;DataSet:TDataSet);
var
f:TextFile;
s:string;
i:integer;
begin
        if FileExists(KayitIsmi+'.txt') then
        begin
                s:=0;
                AssignFile(f,KayitIsmi+'.txt');
                Reset(f);
                if not Eof(f) then
                begin
                        ReadLn(f,s);
                        i:=StrToInt(i);
                        if (dataset.RecordCount>=i) and (i>0) then
                        begin
                                dataset.First;
                                dataset.MoveBy(i-1);
                        end else dataset.First;
                end;
                CloseFile(f);
        end;//else showmessage('Daha once satir bilgisi kayit edilmemis.');
end;

////kullanimi
SatirNoKaydet('carihesap',cariquery);///satır no kaydeder
SatirNoBulveGit('carihesap',cariquery);///satır no kaydını okur ve en son kayıtlı satıra gider

Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

Hepinize teşekürler ederim. Bana yardım etmeniz beni çok sevindirdi.

Ancak bir soun var ben Veri tabanı programlamayı iyi bilmiyorum (bana gerekli kısmını biliyordum :( ).
Ve projemde çok veri taban komponentleri eklemedim. Projemde sadece IBDatabase, IBTable, IBTransaction ve
DataSource. Yanı en basit veri tabanlı proqram. Ayrıca SQL-ı hiç bilmiyorum. Diğer veri taban komponentlerin de
hiç kullanmadım.

Sizin söylediklerinizi denemeye kalkdım bir sürü hata çıktı. IBDataSet, IBQuery kulanmak istedim olmadı.
Zaten olsa bile bir sürü kodu değiştirmek zorunda kalırım. Ayrıcı bu komponentler SQL ile çalıştığı için de anlamıyorum.

Bana ne önerisiniz. Biliyorum çoğunuz bana kızıcaksının "bilmiyor niye soru soruyor diye" . Ancak dilediyim cevabı alıcağımı
sanıyordum.
< The Best Boy >
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

conari yazdı:Jedi deki JVDBfindedit i kullanın kodda yazmanıza gerek kalmaz.
Findstyle özelliği ile filtrele veya navigate et.

Bu komponent bende var. Bunu nasıl kulana bilirim.
< The Best Boy >
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda Kayıt Numarası

Mesaj gönderen conari »

Datasource kısmına dbgride bağladığınız datasource u bağlayın.
Filtreleme yapcağınız fieldı Datafiled kısmından seçin.
findstyle özelliğini fsfilter yaparsanız filtre uygular, fsnavigate yaparsanız yazdığınız ile ilgili kayıda ulaşır. findmode da any herhangi bir kayıt , first ilk kayıt anlammında
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Tabloda Kayıt Numarası

Mesaj gönderen subhan »

conari yazdı:Datasource kısmına dbgride bağladığınız datasource u bağlayın.
Filtreleme yapcağınız fieldı Datafiled kısmından seçin.
findstyle özelliğini fsfilter yaparsanız filtre uygular, fsnavigate yaparsanız yazdığınız ile ilgili kayıda ulaşır. findmode da any herhangi bir kayıt , first ilk kayıt anlammında

Çok teşekürler ederim. En sonunda yapdım. Şimdi istediğim oldu. Tekrar teşekürler. :)
< The Best Boy >
Cevapla