Arsip: Lagi: Nomor urut otomatis di dbgrid

more 17 years ago
i_hasibuan
Di topik ini
http://pascal-id.org/thread/unknown/3050/view-old-thread/
@CH menjawab sbb:
code diatas saya gunakan utk dbgrid dgn 3600 data (salah satu prosedur saya menggunakan query "select from tabelanu" agar user bisa browse database dan menampilkan detail-table). dan DBgrid saya, punya height yg hanya bisa menampilkan 8 records sekaligus. masalahnyaprocedure TFMain.Button1Click(Sender: TObject); begin with MyQuery1 do begin SQL.Clear; SQL.Append('SELECT '+ 'db_delphier.tb_customer.id_cust, '+ 'db_delphier.tb_customer.nm_cust, '+ 'db_delphier.tb_customer.alamat_cust '+ 'FROM '+ 'db_delphier.tb_customer ' ); Open; end; end; procedure TFMain.FormCreate(Sender: TObject); begin pvCount := 0; end; procedure TFMain.MyQuery1CalcFields(DataSet: TDataSet); begin pvCount := pvCount + 1; MyQuery1['no_urut'] := pvCount; end;
procedure TFMain.MyQuery1CalcFields(DataSet: TDataSet);
(sepertinya) hanya berjalan pada record yang ditampilkan di dbgrid (padahal datasetnya/query select ...) punya 3600 record. Jadi ketika kita broese database dengan "query1.last" maka nomor 9(pvcount=9) diberikan pada record terakhir...dst
jika kemudian "query1.prior" maka
record ke-3599 nomor/pvcount nya menjadi 10
record ke-3598 nomor/pvcount nya menjadi 9
record ke-3597 nomor/pvcount nya menjadi 8 dst.....
tambahan: query1.autocalcfield saya setting true atau false tidak pengaruh.
Mohon penjelasan:
1. event "oncalcfield" itu dieksekusi jika .......
2. apakah data yg di-fetch oleh query1 itu hanya sebatas yg perlu ditampilkan di dbgrid?
3. solusi atas masalah saya tsb diatas.
Tambahan(lagi): saya pke delphi6, mysql5, query-nya zeoss,
Mudah2an cukup dimengerti masalah yg saya maksud, dan juga dimengerti apa solusinya
Tks b4
more 17 years ago
Bahrul_power
sepertinya mas hanya ingin nampilin no urut aja kan?
kenapa ga pakai no.record aja....?
kan lebih simple?
procedure TFMain.MyQuery1CalcFields(DataSet: TDataSet);
begin
MyQuery1['no_urut'] := MyQuery1.recno;
end;
mungkin gitu mas......

more 17 years ago
i_hasibuan
Sudah dicoba, tapi yg keluar malah ngaco, gak tahu salahnya dimana
Hasil yg keluar jadi kira2 seperti ini
no_urut nippegawai namapegawai .........
===========================
1 123456789 sutan
1 123456789 sutan
2 234567890 santan
4 456789012 sulthan
.
.
.
.
3598 358998564 syai than
3598 358998564 syai than
3599 399999999 pangeran
3600 600000000 raja
jadi di dbgrid ada beberapa record yg muncul beberapa kali sementara beberapa record malah gak muncul (jumlah row dbgrid tetap 3600).
Padahal untuk untuk nyoba cara Bahrul_power diatas saya sudah bela2 in menulis ulang code di event / menunggu procedure "oncalcfield" selesai dulu baru dataaccess.onchange dijalanin.

more 17 years ago
Bahrul_power
Saya juga pakai mas, ga masalah tuh....., mungkin perintah query ada yang salah......
coba deh cek lagi, perintah querynya dipersingkat aja mas
with MyQuery1 do
begin
If active=true then close;
SQL.Clear;
SQL.Append('SELECT id_cust, nm_cust, alamat_cust FROM db_delphier.tb_customer' );
Open;
end;
kan lebih pendek mas...... semoga berhasil.

more 17 years ago
nurez
MyQuery1['no_urut'] := MyQuery1.recno;
klo pakai itu ada -1 dan kurang dari 1 recordnya... waduhh bs dipetat...
klo pakai pvcount.. data sy kn di tampilkan sebanyak 10 per grid, klo ngeroll kebawah...
angka-nya aneh2.. atau karna kebanyakan recordnya..? cz hanya 600an :( atau koneksinya yg lama dari MDB..?
mohon tanggapannya lebih lanjut kang CH :)

more 17 years ago
i_hasibuan
tks sebelumnya
mumpung om bahrup lagi semangat, saya jelasin lagi database saya
saya pake query Zeoss dgn nama "querybrowse"
tergantung pilihan user, maka
querybrowse.sql.text='select from tabelinduk where nip=.......... atau
querybrowse.sql.text='select from tabelinduk where nama like ......... atau
querybrowse.sql.text='select from tabelinduk;
lalu:
querybrowse.active:=true;
trus
datasourcebrowse.dataset:=querybrowse
dbgrid1.datasource:=datasourcebrowse
nah, jika user berpindah row di dbgrid akan me-run event datasourcebrowse.ondatachange yg isinya
nippilih:= querybrowsenip.value;
querydetail1.sql.text:='select from tabeldetail1 where nip='+nippilih //saya tambah chr(39) atau yg lainnya seperlunya
querydetail2.sql.text:='select * from tabeldetail1 where nip='+nippilih //saya tambah chr(39) atau yg lainnya seperlunya
.
.
dimana querydetail1,.... dari tabeldetail datainduk
alasan saya karena isi tabeldetail cukup besar (blob,image,memo), shg yg dipilih satu record aja (nip=primarykey). tadinya saya pake masterfield-detailfield, tapi kayaknya rakus memory.
jadi program saya jalan sesuai diharapkan sebelum ada event oncalcfield .
setelah saya tamnah procedure oncalcfield, program saya jalan, tapi jalnnya gak nentu arah.... bisa2 user malah kesasar
mungkin ada saran ttg apa yg saya buat, atau cara optimasi code saya diatas???
Any help would be appreciated. Tks

more 17 years ago
i_hasibuan
@Bozz Luri, bukan gak sabar nunggu jawaban rekan2, tp cuman memperjelas klo pertanyaan saya itu ada 3 poin
Mohon penjelasan: 1. event "oncalcfield" itu dieksekusi jika ....... 2. apakah data yg di-fetch oleh query1 itu hanya sebatas yg perlu ditampilkan di dbgrid? 3. solusi atas masalah saya tsb diatas.klo ada yg bisa bantu, yg ingin saya tanya itu bukan cuma solusi autonumber di dbgrid. (1) dan (2) udah konsultasi ke help-nya delphi, tapi malah puyeng..yeng... untuk yg (3) saya coba query
Querybrowse['nomor'] := querybrowse.recno;
di prosedur lain (button1.onkeypressed misalnya). Tapi malah error. exceptionnya lupa...
more 17 years ago
maulaku
@i_hasibuan: @Bozz Luri, bukan gak sabar nunggu jawaban rekan2, tp cuman memperjelas klo pertanyaan saya itu ada 3 poinini yang di bahas recno di dbgrid? atau menjawab Topik yang terdahuluMohon penjelasan: 1. event "oncalcfield" itu dieksekusi jika ....... 2. apakah data yg di-fetch oleh query1 itu hanya sebatas yg perlu ditampilkan di dbgrid? 3. solusi atas masalah saya tsb diatas.klo ada yg bisa bantu, yg ingin saya tanya itu bukan cuma solusi autonumber di dbgrid. (1) dan (2) udah konsultasi ke help-nya delphi, tapi malah puyeng..yeng... untuk yg (3) saya coba querydi prosedur lain (button1.onkeypressed misalnya). Tapi malah error. exceptionnya lupa...Querybrowse['nomor'] := querybrowse.recno;

more 17 years ago
i_hasibuan
yg paling utama memang tentang autonumber di db grid (nomor 3). sekalian nanya (1) dan (2)
Tapi kalo topiknya jadi terlalu luas, (1) dan (2) gak usah dibahas deh, mungkin nanti buat posting baru aja.
Autonumber di dbgrid itu terserah mau pake recno, pvcount (ala CH) atau cara lain, yg penting jalan...

more 17 years ago
zieborg
1. event "oncalcfield" itu dieksekusi jika .......1.pada saat table dibuka 2.pada saat table masuk ke modus edit 3.table refresh klo autocalcfields=true 4.pada saat focus dari satu visual kontrol ke yang lain, atoutk dbgrid pindah dari satu kolom ke kolom yg lain, ato record di edit
apakah data yg di-fetch oleh query1 itu hanya sebatas yg perlu ditampilkan di dbgrid?tergantung db server dan kemampuan komponen dataset, firebird support feature tsb about recno : hindari pemakaian recno, karena tidak semua turunan tdataset support recno, dilevel tdataset recno selalu -1
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- QReport...
by bayu in MySQL more 17 years ago - scan port tcp error trus
by indah_tcp in Hal umum tentang Pascal Indonesia more 19 years ago - Import Data dari Word ke Database
by m3llo in Tip n Trik Pemrograman more 17 years ago - Hitung Denda
by hyde in Hal umum tentang Pascal Indonesia more 17 years ago - Membatasi Pemanggilan Applikasi
by nholik1205 in Hal umum tentang Pascal Indonesia more 17 years ago - Dynamic Program
by hendra_sir84 in Hal umum tentang Pascal Indonesia more 17 years ago - Masalah muncul ketika eksekusi .exe,masalah dari RAVE
by sudrun in Reporting more 16 years ago - TDBlookupcombobox
by amakita in Hal umum tentang Pascal Indonesia more 17 years ago - mo tanya
by and_re in Hal umum tentang Pascal Indonesia more 16 years ago - Access data mysql dengan dbexpress
by lagisedih in FireBird more 18 years ago