Issuu on Google+

PENCARIAN DATA Mau nanya nih, gimana cara (listing) untuk pencarian data seperti ini : Misalkan saya punya tabel pegawai.dbf dan untuk pencarian datanya berdasarkan nama pegawai. 1. Pencarian Sfesifik Data yang tampil adalah benar2 seperti yang kita input pada teks box, misalkan saya input ALI maka data yang tampil HANYA pegawai yang bernama ALI saja. 2. Pencarian Semi Sfesifik. Data yang tampil adalah data yang mengandung kata yang kita input, misalkan saya input ALI, maka data yang tampil adalah : AHMAD ALI ALI SHAHBANA 3. Pencarian tidak sfesifik Data yang tampil adalah data yang mengandung kata yang kita input, misalkan yang diinput AL, maka semua nama yang mengandung kata ALI akan muncul. ALIBUDI ALIANSYAH NITALINI ALI SHAYBANA NATALI Cat : kalo pencarian semi sfesifik pencariannya dibatasi per suku kata jadi tidak mesti semua yang mengandung kata ALI harus muncul. Kalo ada listingnya mohon kirim kesini ya. varcari="%"+thisform.text1.value+"%" select namapegawai from pegawai where namapegawai like varcari into cursor cpegawai varcari="%"+thisform.text1.value+"%" select namapegawai from pegawai where namapegawai like varcari into cursor cpegawai Maaf Pa/Mas Heriadi, ini untuk pencarian data yang mana? soalnya saya belum nyoba. Makasih jawabannya 2n3 mungkin bisa bantu dikit.. untuk semua pertanyaan sebenarnya codenya hampir sama kita buat variabel dari inputnya dulu contoh codenya gini cari=alltrim(this.value) select * from nama_tabel where upper(alltrim(nama_field)) like '%'+upper('Ali')+'%' '%' fungsinya sama dengan * kalo kita search file di windows. kalo mo ditampilkan pegawai dgn nama depan ALI maka tgl diganti like ('ALI')+'%' atau sebaliknya. utk pertanyaan 3 bisa pake code diatas utk pertanyaan 1 berarti tinggal diilangin fungsi '%' - nya nah kalo utk pertanyaan 2 aku belum pernah coba tapi dengan contoh diatas diutak atik aja moga membantu... good luck Para Sahabat... saya ingin membuat module find dalam sebuah grid tetapi gmn y enak'y? maksd saya mesin pencarian saya fokuskan dengan nama bkan dengan kode (uniqe).... Nah, hasil pencariannya ditaruh didalam grid....


contoh saya ingin mengetahui identitas dari nama kasino, setelah saya find hasilnya ditaruh didalm grid.... mngkn ada bnyk hasil yang tampil di grid itu.... mungkin lebih dari 1 nama kasino.... bgmna y cra'y??? apakah pakai perintah set filter to... thx.... pake select....where...into cursor namacursor grid sumber dr cursor... pake select....where...into cursor namacursor grid sumber dr cursor... detailnya mungkin begini mas adi_suka Code: thisform.grid1.RecordSource="" **kalo yang ingin ditampilkan = kata "kasino" select * from nm_tabel where nm_tabel.nama="kasino" into cursor nm_cursor **kalo yang ingin ditampilkan mengandung kata "kasino" select * from nm_tabel where nm_tabel.nama="kasino" into cursor nm_cursor thisform.grid1.RecordSource="nm_cursor" thisform.grid1.column1.ControlSource="nm_field.nm_cursor" TANYA TENTANG SEARCHING DI FOXPRO DENGAN MULTI KONDISI (READ 1001 TIMES) apakah ada yg bs membantu bagaimana code/solusinya jika saya ingin melakukan searching dengan 8 kondisi yg masing2 kondisi dihubungkan dengan operator logika AND. pencarian dilakukan tanpa mewajibkan penggunanya untuk mengisi semua textbox. permasalahannya jika ada textbox yg dikosongkan dr 8 textbox maka pencarian tidak akan memunculkan hasil sama sekali. set filter to alltrim(upper(thisform.text1.Value))$alltrim(upper(merek)); and alltrim(upper(thisform.text2.Value))$alltrim(upper(processor)); and [kondisi 3]; and dst.... mungkin gini bisa dd=IIF(EMPTY(aa),'','ALLTRIM(aa)$alltrim(upper(merek))')+IIF(EMPTY(bb),'',' and ALLTRIM(bb)$alltrim(upper(procesor))')+IIF(EMPTY(cc),'',' and alltrim(cc)$alltrim(upper(xxx))') if empty(dd) tidak ada kondisi else set filter to &dd kenapa tidak di ganti dengan menggunakan command select .... where xxxx in (xxxx) saran saya Simpan semua value kedalam variable terlebih dahulu lalu gunakan DO CASE .. ENDCASE variabel tersebut me-overwrite satu variabel yang nantinya anda gunakan dalam query (prose utama) Namun jika querynya berbeda, maka query langsung dilakukan saat CASE (pengambilan viabel selesai) Silahkan disantap mumpung masih hangat Code: thisform.grid1.RecordSource=SPACE(0) SELECT tmpkar DELETE ALL


fsuku='1=1' fagama='1=1' fgolongan='1=1' fpendidikan='1=1' fstatuskar='1=1' funit='1=1' fmasa='1=1' fnama='1=1' fproyek='1=1' fdepartemen='1=1' IF thisform.chksuku.Value=1 fSuku="ID_SUKU="+thisform.cmb_suku1.Value ENDIF IF thisform.chkAgama.Value=1 fagama="ID_Agama="+thisform.cmb_agama1.Value ENDIF IF thisform.chkGolongan.Value =1 fgolongan="ID_Golongan="+thisform.cmb_golongan1.Value ENDIF IF thisform.chkPendidikan.Value =1 fpendidikan="ID_Pendidikan="+thisform.cmb_mpendidikan1.Value ENDIF IF thisform.chkstatus.Value =1 fstatuskar="Status_karyawan='"+thisform.cmb_statuskaryawan1.Value+"'" ENDIF IF thisform.chkunit.Value=1 funit="Unit="+thisform.cmb_unit1.Value ENDIF IF thisform.chkProyek.Value=1 fproyek="ID_PROYEK="+thisform.cmb_proyek1.Value ENDIF IF thisform.chkdepartemen.Value=1 fdepartemen="Departemen="+thisform.cmb_departemen1.Value ENDIF * starts with,contains,end with IF thisform.chknama.Value=1 DO case CASE thisform.cmbOPERATOR2.ListIndex =3 fnama="TRIM( BOTH FrOm nama_karyawan) like '%"+ALLTRIM(thisform.txtnama.Value)+"'" CASE thisform.cmbOPERATOR2.ListIndex=2 fnama="TRIM( BOTH FrOm nama_karyawan) like '%"+ALLTRIM(thisform.txtnama.Value)+"%'" CASE thisform.cmbOPERATOR2.ListIndex=1 fnama="TRIM( BOTH FrOm nama_karyawan) like


'"+ALLTRIM(thisform.txtnama.Value)+"%'" endcase ENDIF TEXT TO csql TEXTMERGE NOSHOW PRETEXT 15 SELECT KARYAWAN.ID , NIK, NAMA_KARYAWAN, UNIT, DEPARTEMEN, TEMPAT_LAHIR, TGL_LAHIR, JKELAMIN, STATUS_PERKAWINAN, STATUS_PAJAK, HITUNGLEMBUR, GOLONGAN, GRUPSHIFT_ID, ID_PROYEK ,GRUPSHIFT.ID as Shid , Proyek.ID as PID, unit.id as UID , Unit.Nama_unit ,Departemen.nama_departemen,Proyek.Nama_proyek,GrupShift.Nama_GrupShift, tgl_masuk_brm,tgl_keluar_brm , ID_AGAMA, ID_SUKU, ID_GOLONGAN, STATUS_KARYAWAN, JABATAN, ALAMAT, KOTA, KODE_POS, TELEPON, AKTIF ,tgl_menikah,tempat_menikah, tgl_pengangkatan , next_tglProses,nextProses ,masa_golongan ,agama.nama_agama , mpendidikan.nama_pendidikan , nama_sekolah , id_pendidikan ,tahun_lulus ,jurusan,suku.nama_suku from karyawan inner join unit on unit.id=karyawan.unit inner join departemen on departemen.id = karyawan.departemen Inner Join GrupShift on GrupShift.id=karyawan.grupshift_id Inner Join proyek on proyek.id=karyawan.id_proyek Inner join agama on agama.id=karyawan.id_agama Inner join Suku on suku.id=karyawan.id_suku LEFT Join mpendidikan on mpendidikan.id=karyawan.id_pendidikan where <<fsuku>> and <<fagama>> and <<fgolongan>> and <<fpendidikan>> and <<fstatuskar>> and <<funit>> and <<fmasa>> And <<fnama>> and <<fproyek>> and <<fdepartemen>> ENDTEXT =SQLEXEC(Osystem.databasehandler.conn_handle ,csql,'talias' )

kalo gini Public mFilter mFilter = ".T. " if !empty(thisform.text1.Value) mFilter = mFilter+' and alltrim(upper(thisform.text1.Value))$alltrim(upper(merek))' endif if !empty(thisform.text2.Value) mFilter = mFilter+' and


alltrim(upper(thisform.text2.Value))$alltrim(upper(processor))' endif dst.... sampe kondisi 8 SET FILTER TO &Mfilter Mmmm udeh coba logika sederhana spt ini ? ls_and =' and ' tiputipu=' 1=1 ' kondisi1 = iif(thisform.text1.value='', tiputipu, ' agama="' + thisform.text1.value + '" ') kondisi2 = iif(thisform.text2.value='', tiputipu, ' kota="' + thisform.text2.value + '" ') s_kondisi = kondisi1 + ls_and + kondisi2 colek =[select * from t_anu where ] + skondisi + [ into curs abc] Mau jalankan scr makro bisa : &colek Mau scr SPT bisa : colek =[select * from t_anu where ] + skondisi =sqlexec(n,colek,[abc]) Penjelasan : - kalo kondisi1 kosong maka akan tertulis : 1=1 and kota="JKT" begitu jg sebaliknya - kalo kosong semua : 1=1 and 1=1 artinya akan ditampilkan semuanya. - anda bisa tambahkan validasi kalo isinya 1=1 semua gak usah ditampilkan..silahkan berkreasi. Note : - ide itu saya dapat kala itu waktu baca2 tulisan ttg SQL Injection..... - dan ini hanya permainan logik sederhana...kurang lebihnya mohon maaf Sukses untuk anda........... ** "...pabila cinta memanggilmu... ikutilah dia walau jalannya berliku-liku... Dan, pabila sayapnya merangkummu... pasrahlah serta menyerah, walau pedang tersembunyi di sela sayap itu melukaimu..." (Kahlil Gibran) ikut nimbrung ach...... aq setuju ma om tolo (soale yang bisa n sering aq pake cuman cara ini).. ni script buat tombol GO Code: nChNo_Nota = Thisform.Check1.Value nChAgen = Thisform.Check2.Value nChBintang = Thisform.chBintang.Value nPilTgl = Thisform.cbRentanWaktu.ListIndex dTgl1 = Thisform.tTgl1.Value dTgl2 = Thisform.tTgl2.Value * q = Chrtran(Alltrim(Upper(Thisform.tKataKunci.Value)),'*','%') q = Iif(nChBintang=1,'%','')+q+Iif(nChBintang=1,'%','') * If nChNo_Nota+nChAgen = 0 Messagebox('Pilih kategori terlebih dahulu',48,'Kategori') Return


Endif * Thisform.putus * cSql = "WHERE ( 1=0 " If nChNo_Nota = 1 cSql = cSql + "OR no_nota_jual like '"+q+"' " Endif If nChAgen = 1 cSql = cSql + "OR nama_agen like '"+q+"' " cSql = cSql + "OR kode_agen like '"+q+"' " Endif cSql = cSql + ')' * untuk filter tanggal Do Case Case nPilTgl = 1 && harian cSql = cSql + "AND tgl_jual=?dTgl1 " Case nPilTgl = 2 && mingguan cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 3 && bulanan cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 4 && custom cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 5 && semua * nggak perlu ditambahin cSql = cSql Otherwise Endcase cSql = cSql + " ORDER BY tgl_jual " * isi halaman cSqlHal = "SELECT COUNT(id_jual_nota) as jml_rec ; FROM vw_penjualan "+cSql =SqlDo(cSqlHal,'CrHalPenjualan') nJmlHal = Ceiling(VAL(CrHalPenjualan.jml_rec)/_SetRecPerPage) nJmlHal = Iif(nJmlHal=0,1,nJmlHal) thisform.lblTotalRecord.Caption = CrHalPenjualan.jml_rec =AliasClose('CrHalPenjualan') * isi ke combo Thisform.cbHal.Clear For i= 1 To nJmlHal Thisform.cbHal.AddItem(TRANSFORM(i,'999,999')+' dari '+ALLTRIM(STR(nJmlHal))) ENDFOR thisform.cbHal.ListIndex=1 * loading data cSqlMain = "SELECT * FROM vw_penjualan "+cSql+"LIMIT 0,"+ALLTRIM(STR(_SetRecPerPage)) =SqlDo(cSqlMain,'CrPenjualan') * Thisform.sambung


trus ni script buat di combobox / paging Code: thisform.putus nHalKe = this.ListIndex - 1 nChNo_Nota = Thisform.Check1.Value nChAgen = Thisform.Check2.Value nChBintang = Thisform.chBintang.Value nPilTgl = Thisform.cbRentanWaktu.ListIndex dTgl1 = Thisform.tTgl1.Value dTgl2 = Thisform.tTgl2.Value * q = Chrtran(Alltrim(Upper(Thisform.tKataKunci.Value)),'*','%') q = Iif(nChBintang=1,'%','')+q+Iif(nChBintang=1,'%','') * cSql = "WHERE ( 1=0 " If nChNo_Nota = 1 cSql = cSql + "OR no_nota_jual like '"+q+"' " Endif If nChAgen = 1 cSql = cSql + "OR nama_agen like '"+q+"' " cSql = cSql + "OR kode_agen like '"+q+"' " Endif cSql = cSql + ')' * untuk filter tanggal Do Case Case nPilTgl = 1 && harian cSql = cSql + "AND tgl_jual=?dTgl1 " Case nPilTgl = 2 && mingguan cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 3 && bulanan cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 4 && custom cSql = cSql + "AND (?dTgl1 <= tgl_jual AND tgl_jual <= ?dTgl2)" Case nPilTgl = 5 && semua * nggak perlu ditambahin cSql = cSql Otherwise Endcase cSql = cSql + " ORDER BY tgl_jual " cSqlMain = "SELECT * FROM vw_penjualan "+cSql+"LIMIT "+ALLTRIM(STR(_SetRecPerPage*nHalKe))+","+ALLTRIM(STR(_SetRecPerPage)) =SqlDo(cSqlMain,'CrPenjualan') * thisform.sambung beriktut aq sertain screenshot dari form itu... *** moga membantu Mantap...... Anda jg bisa kembangkan nantinya atau kedepannya search yg lebih smart lagi....


Jadi cukup 1 entrian misalnya tapi doi bisa detect ini lagi cari apa.... Kalo di awali karakter ttt misalnya ini no. giro kalo tdk misalnya apa lagi....... Sukses.......... >>logika seluas dan sedalam samudra......... mw tanya nih.... kalau searching kata untuk pencarian gimana sih...! ada yang tau ga..! soalnya gw lg nyari listing untuk pencarian kata untuk mencari nama video DVD pada Aplikasi rental DVD. jadi kalu sudah diketik nama dvdnya maka kata yang di ketik di textbox, akan muncul semuanya di Sebuah Grid. Mohon bantuannya yah.. thanks a lot... @donnie: Selamat bergabung. Sebenarnya diskusi diatas adalah tentang hal yang serupa pertanyaan anda, tapi menyangkut multiple / banyak textbox. Kalau agak bingung, gunakan fasilitas Search (tombol diatas) untuk cari diskusi2 lalu yang sudah cukup banyak tentang topik serupa, atau tutorial step-by-step Idenya Mas Poison mantap abis.. ini juga berkat idenya mas poison.. sampai tampilannya jug sama. haha4 Hehehe............. Nambahin.... "STATUS BARANG".... jika lebih dari 1 bisa pake semacam listbox dg pilihan checkbox didalamnya.... Jadi user bisa centang2 beberapa kriteria sekaligus.... Misalnya ntuk menampilkan data dari beberapa pilihan sekaligus.... Apa itu proyek yg beragam....gol yg beragam ...dll. Silahkan dan tetap semangat !! ** "Apa yang telah kucintai laksana seorang anak kini tak henti-hentinya aku mencintai... Dan, apa yang kucintai kini... akan kucintai sampai akhir hidupku, karena cinta ialah semua yang dapat kucapai... dan tak ada yang akan mencabut diriku dari padanya" (Kahlil Gibran) CARI DAN CARI selamat sore fox... mau minta tolong dunk..... gini saya punya form yg bernama form anggota bin perpustakaan disana ada command cari...fungsinya buat cari data anggota ,sistem cari nya bisa pake nama anggota dan nomer anggota nya... GMN YACH... saya suda pake coding ky gini tp ga berhasil Quote LOCATE FOR UPPER(ALLTRIM(tb_anggota.NO_ANGGOTA))=UPPER(ALLTRIM(thisform.text3.value)) IF FOUND() MESSAGEBOX("NOMER DITEMUKAN....") ELSE LOCATE FOR UPPER(ALLTRIM(tb_anggota.NM_ANGGOTA))=UPPER(ALLTRIM(thisform.text3.value)) IF FOUND() MESSAGEBOX("NAMA DITEMUKAN....") ELSE MESSAGEBOX("MAAF NAMA ANGGOTA tidak di temukan....") ENDIF ENDIF


Kalau mau dibantu uploadnya jangan setengah2, upload juga *.sct nya, jangan cuma scx....jadi filenya gak bisa dibuka..... ooh maaf ketinggalan kalo mo mancing mbok ya cemplung kailnya kalo bener udah di empang ato di laut. Jangan mancing di trotoar, ntar FOUND() pedagang kakilima Wah struktur tabel yg dipakai juga gak ada.. type field NO_ANGGOTA nya apa mas? Klo Numeric/Integer LOCATE FOR tb_anggota.NO_ANGGOTA = thisform.text3.value IF FOUND() MESSAGEBOX("NOMER DITEMUKAN....") ELSE LOCATE FOR UPPER(ALLTRIM(tb_anggota.NM_ANGGOTA))=UPPER(ALLTRIM(thisform.text4.value)) IF FOUND() MESSAGEBOX("NAMA DITEMUKAN....") ELSE MESSAGEBOX("MAAF NAMA ANGGOTA tidak di temukan....") ENDIF ENDIF Klo Character LOCATE FOR UPPER(ALLTRIM(tb_anggota.NO_ANGGOTA))==UPPER(ALLTRIM(thisform.text3.value)) IF FOUND() MESSAGEBOX("NOMER DITEMUKAN....") ELSE LOCATE FOR UPPER(ALLTRIM(tb_anggota.NM_ANGGOTA))=UPPER(ALLTRIM(thisform.text4.value)) IF FOUND() MESSAGEBOX("NAMA DITEMUKAN....") ELSE MESSAGEBOX("MAAF NAMA ANGGOTA tidak di temukan....") ENDIF ENDIF Sekedar test... txt3 = 3 txt4 = 'aaa' CREATE CURSOR test (NO_ANGGOTA N(1), NM_ANGGOTA C(3)) INSERT INTO test VALUES (1, 'aaa') INSERT INTO test VALUES (2, 'bbb') INSERT INTO test VALUES (3, 'ccc') SELECT test LOCATE FOR NO_ANGGOTA = txt3 IF FOUND() MESSAGEBOX("NOMER DITEMUKAN....") ELSE LOCATE FOR UPPER(ALLTRIM(NM_ANGGOTA))=UPPER(ALLTRIM(txt4)) IF FOUND() MESSAGEBOX("NAMA DITEMUKAN....") ELSE


MESSAGEBOX("MAAF NAMA ANGGOTA tidak di temukan....") ENDIF ENDIF Angka 3 bisa diganti 5 atau lainnya... @mas tfssts makasih responnya...saya pake caracter.. saya undu dulu ... tips nya saya sudah postingkan form search, yang bisa dipakai oleh anda untuk masalah ini, silahkan download dan dicoba. kalo mo mancing mbok ya cemplung kailnya kalo bener udah di empang ato di laut. Jangan mancing di trotoar, ntar FOUND() pedagang kakilima maksud saya sederhana: SELECT cursor dulu sebelum LOCATE, niscaya problem solved Jika Bisa, pencarian usahakan pakai index file, lebih cepat proses pencariannya dari pada pakai locate. contoh : tabel tb_anggota.dbf ada field kd_anggota, dan nm_anggota, buatkan file indexnya dulu index on UPPER(kd_anggota) tag kode index on UPPER(nm_anggota) tag nama cara pakainya : SELECT TB_ANGGOTA SET ORDER TO KODE SEEK UPPER(ALLTRIM(thisform.text3.value)) IF FOUND() MESSAGEBOX("NOMER DITEMUKAN....") ELSE SET ORDER TO nama SEEK UPPER(ALLTRIM(thisform.text3.value)) IF FOUND() MESSAGEBOX("NAMA DITEMUKAN....") ELSE MESSAGEBOX("MAAF NAMA ANGGOTA tidak di temukan....") ENDIF ENDIF aku punya dua alternatip..semuanya insyaallah mujarab.... 1. pake SET FILTER...tp klo udah selesai,jgan lupa set filter di normalkan lagi.... SELECT tanggota STORE upper(alltrim(thisform.text1.Value)) TO tcari STORE UPPER(no_anggota+nm_anggota) TO tsumber SET FILTER TO ATC(tcari,tsumber) > 0 2. pake SQL.... STORE upper(alltrim(thisform.text1.Value)) TO tcari STORE UPPER(no_anggota+nm_anggota) TO tsumber INSERT INTO xcdsem ; SELECT * FROM tanggota; where UPPER(tsumber) like '%'+tcari+'%'


atau SELECT * FROM tanggota; where UPPER(tsumber) like '%'+tcari+'%' into cursor mytabel CTRL+F PADA GRID Buat Foxer2 yang Hebuat Be Ge Te... Saya mo tanya nih... bisa ga sih di grid itu pencarian datanya memakai Ctrl + F seperti di Excel?? kalo secara natife ya nggak bisa. selama ini saya memakai model semacam filter yang isinya query dengan statment where berdasar kata kunci tertentu. detail bisa dilihat di ZetoC. yandi: Nambahin post taz aja; Anda bisa capture Ctrl-F dengan memanfaatkan event KeyPress pada form. Tapi jangan lupa pastikan property KeyPreview = .T. Kalau property ini false, event di KeyPress tidak dijalankan. Foxy Dear foxpro experts, saya coba cari tentang pencarian data pada table di forum ini, kebanyakan pake metode TRIM. saya coba dengan metode tersebut, tapi yang keluar error message "Table has no index order set". padahal saya sudah pakai index dan dijadikan primary key. tambahan info: yang saya cari kode id yang saya jadikan type Numeric. saya sudah coba ganti dengan tipe Char tapi tetap sama... ada yang pernah mengalami hal serupa dan punya cara lain? terima kasih... CARI DATA PADA TABLE DEATH is nothing. The purpose of a BIRTH is to step forward to a DEATH The question is, from the BIRTH to the DEATH: WHAT.DO.YOU.DO? saya coba dengan metode tersebut, tapi yang keluar error message "Table has no index order set". aktifkan index-nya dengan perintah : Code: SET ORDER TO [nIndexNumber | IDXIndexFileName | [TAG] TagName [OF CDXFileName] [IN nWorkArea | cTableAlias] [ASCENDING | DESCENDING]] jika kurang jelas, tekan F1 pada VFP, cari dengan keyword 'SET ORDER TO', silahkan. terima kasih Mr. moderator.. DEATH is nothing. The purpose of a BIRTH is to step forward to a DEATH The question is, from the BIRTH to the DEATH: WHAT.DO.YOU.DO?


SEARCH DAN SQL DGN LIKE CRITERIA rekan-rekan, saya ingin membuat pengecekan isi data dari satu tabel dan klo mirip akan dipindah ke tabel lain, tapi saya ingin agar perintah sql itu bisa ditampung di string dan dieksekusi seperti perintah di vb secara tidak langsung. tolong ya terimakasih,misal Code: select temp do while !EOF() namabrg = temp.nm_barang spek = temp.spek select * from import into table import2 where import.nm_barang like '%"+namabrg+"%"') and (import.spek like '%"+spek+"%"') skip enddo bagaimana perintah sql bisa ditampung dan dicek kemudian dieksekusi? coba explore berbagai cara SPT (Sql Pass Thru), khususnya command SQLEXEC() di Help dan sangat banyak contoh2 di forum ini â&#x20AC;&#x201C; Search tapi saya memakai database foxpro juga... x = "..... string apa aja terserah... yang penting command yang valid ..." lalu: &x jadi misalnya: x = "QUIT" &x gitu aja kan? oh ya, 1 lagi : untuk cari apakah "must" ada dalam nama orang2 keren/ganteng: kriteria = 'must' x = "select * from daftarnama where "+ kriteria + " $ nama" &x pasti keluar nama saya apakah akan spt ini: terimakasih.. x="select * from import into table import2 where import.nm_brg like '%"+$nama+"%"') OR (import.spek like '%" +$spek+"%"')" wah sampe jatuh kacamataku... kayak ada yang salah di jumlah + atau " atau ' periksa dulu lah contoh2 saya udah cukup jelas ... tanda $ dalam VFP berarti " is contained in ... " = " terdapat dalam ... " dan berlaku untuk query ke dbc, dicoba sendiri deh ... bingum aku lihat command aneh2 tulisan kecil2, busyet dah Maaf ganggu dikit, Quote saya ingin membuat pengecekan isi data dari satu tabel dan klo mirip akan dipindah ke tabel lain, tapi saya ingin agar perintah sql itu bisa ditampung di string dan dieksekusi seperti perintah di vb secara tidak langsung. tolong ya terimakasih... Sekedar tambahan selain macro subtitusi "&" yang diulas bung david, ada Function untuk execute Sql Command. Misal SQL di save pada file.txt atau Filed Memo dari


sebuah tabel. Kemudian gunakan EXECSCRIPT( ) function ini kelebihan VFP yang tidak ada pada VB ok kuliahnya dilanjutkan coy... kalo gini gimana, saya baru aja coba di tabel DBF. SELECT * FROM tabel1 WHERE LIKE(UPPER('*paimin*'),UPPER(nama)) INTO CURSOR hasil select tabel2 APPEND FROM DBF('hasil') saya dah coba, data di tabel1 yang dikolom nama mengandung kata paimin dicopy ke tabel2 semoga seperti yang dimaksud penanya seperti ini,tabel 2 adalah tabel identik dengan tabel1: Code: select table1 go top scan var1 = "%" + table1.nama + "%" var2 = "%" +tabel1.alamat +"%" select * from table2 where nama like var1 and alamat like var2 into cursor mycursor delete endscan tetapi hasilnya salah, kira2 maksud saya seperti ini, klo ketemu nama dan alamat yang mirip di tabel1, record tsb diinput ke dalam tabel/cursor baru kemudian dihapus, agar data tsb tidak ikut dalam pencarian berikutnya..... coba anda simak 2 command terakhir dalam scan-endscan: 1. select: untuk apa dilakukan kalau tidak dimanfaatkan hasilnya? 2. delete: mengapa anda mendelete record tabel1 tanpa sebab yang jelas? jadi: no.1 tidak jelas, no.2 sangat jelas: yaitu jelas ngawur menghapus diri sendiri ga tau kenapa @NewBie09: Coba bantu yah Apakah benar ada 2 pertanyaan : 1.ingin membuat pengecekan isi data dari satu tabel dan klo mirip akan dipindah ke tabel lain (dengan SQL bisa) 2.ingin agar perintah sql itu bisa ditampung di string dan dieksekusi seperti perintah di vb secara tidak langsung (dengan SPT juga bisa) Kalau dilihat dari coding-nya maka akan selalu menghasilkan data yg memenuhi kriteria terakhir saja, yg masuk kriteria di awal otomatis akan terhapus dan bukan ditambahkan. Coba ini : select tabel2.* from table2 left outer join Table1 where Table2.nama like '%'+Alltrim(Table1.Nama)+'%' and Table2.alamat like '%'+AllTrim(Table1.Alamat)+'%' into cursor mycursor Kasih Sayang Tanpa Kekuatan Adalah Kelemahan Kekuatan Tanpa Kasih Sayang Adalah Kezaliman Cinta Itu Buta Tapi Lebih Buta Orang Yang Tidak Kenal Cinta iya mas leon2, 1.saya ingin mengkopi isi data dari satu tabel ke tabel lain, kemudian mengecek apakah di tabel itu ada data yang mirip, klo ada data yang mirip,dikopi ke tabel baru, misal data eric maka data yang memenuhi criterianya adalah erica,teric


2.sebenarnya data yang ada pada tabel itu dihapus untuk tidak diikut sertakan dalam pencarian berikutnya... TEXTBOX DALAM GRID Dear Para Master & Fox Mania Bisa minta tolong nich.. gimana caranya buat textbox dalam grid, pada waktu kita ketik huruf Mis : A, akan menuju ke Record dengan awalan Huruf A kemudian ketik carakter berikut Ab akan menuju ke record dengan awalan Ab (Abon ), tapi kalau di ketik karakter berikut Abu akan menuju ke (Abu Gosok) misalnya Saya punya data Barang, untuk memudahkan pencarian saya buat Form bantuan dalam bentuk Grid. Misal: Stock.dbf Kode,nama,harga A001,Abon Sapi Kw1,12.000 A002,Abon Sapi Kw2, 9.000 Nah pada saat user pada posisi Nama di textbox grid akan menulis huruf/carakter per carakter, sesuai dengan data, kemudian cursor akan menuju record sesuai dengan carakter yang di ketik.. Bisa ndak ya... Terimkasih Ksy kalau anda pakai VFP 9.0 ada fitur autocomplete. tinggal set properties textbox yang ada di dalam grid tsb : 1. autocomplete=1 && support autocomplete 2. autocomptable= nama_tabel_sumber 3. autocompsource=nama_source_field Salam Mas Taz Mas kok ndak bisa,apa ada yang salah ya.. udah saya otak-atik trus indek key saya urutkan berdasarkan nama Barang malah waktu mau ketik ndak mau, tapi kalau di spasi mau geser kekanan Jadi begini dalam grid column1=kode_b,column2=nama_b,column3=harga_jl sesuai petunjuk Mas Taz di Textboxnya nam_b saya set sprti ini : 1. 2. 3. 4.

autocomplete=1 && support autocomplete autocomptable= stock.dbf &&nama_tabel_sumber autocompsource=nama_b &&nama_source_field countrolsource=nama_b

tapi waktu saya jalanin dan saya mau ketik 1 karekter ndak mau, ini masih saya coba dan otak-atik Thx Ksy Gimana kalo gini : ada 1 textboxt dan 1 grid Dimana dalam textboxt tersebut fungsinya untuk mencari barang yang ada di grid. Pada textboxt tst gunakan InteractiveChange, dan di isi code : Code: (visualfoxpro) SELECT barang =SEEK(this.value) thisform.grid.clKode.Setfocus program diatas hanya ilustrasi belum smpt saya coba. Semoga Membantu Salam FoxNeverDie!


Belajar Foxpro