Mas Fansul, updatenya jgn tiap insert detail, jadi waktu insert detail, mau
berapa record gapapa. Kalo sudah selesai entry semua baru diupdate.
Trus cara update yg Mas Fansul terapkan gak lengkap, karena ngak bisa
ketahuan update itu berhasil apa tidak ? Juga harus menggunakan Transaction,
kalo tidak bisa saja yg keupdate headernya saja, atau detailnya ada 10 
record
keupdate cuma 3 record gimana ? Saya lihat sich masih banyak yg harus
diperbaiki syntaxnya.

Saya kebetulan tdk pernah pakai RV, saya biasanya pakai SPT dgn Manual
Transaction.

Salam,
Wiempy

----- Original Message ----- 
From: "Fansul" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, 19 August, 2008 5:14 PM
Subject: [ITCENTER] Waktu input record kedua di grid, record pertama hilang


> Hello,
>
> Saya lagi belajar bikin program pakai vfp input data langsung ke grid
> memakai RV, header dan detail.
> tapi saya mendapat kesulitan waktu mau input record yang kedua, selalu
> record yang terdahulu akan hilang setelah di kasih focus.
>
> Ini koding yang saya bikin, tolong di koreksi salahnya dimana.
> dia selalu hilang, jika di kasih setfocus atau refresh.
> Klu saya coba, hanya pakai 1 file bisa ajak nggak jadi masalah.
> Sepertinya salahnya di relation, tapi nggak tahu yang mana yang salah.
> tks.
>
> Event load
> PUBLIC Nnamadb,Nserver,Ndbuser,Ndbpass
> Nnamadb = 'lintas'
> Nserver = 'Localhost'
> Ndbuser = 'root'
> Ndbpass = ''
> StringCon = "DRIVER={MySQL ODBC 3.51
> Driver};DESC=;DATABASE="+Nnamadb+";SERVER="+Nserver+";UID="+Ndbuser+";PASSWORD="+Ndbpass+";PORT=;OPTION=;STMT=;"
> koneksi = SQLSTRINGCONNECT(StringCon)
>
> SELECT 0
> USE rv_chat ALIAS fchat
> INDEX ON no_acct TAG chat
>
> SELECT 0
> USE rv_dtl_jur ALIAS dtl_jur CONNSTRING StringCon
> *INDEX ON no_dok + STR(RECNO(),7) TAG dtl_jur
> INDEX ON no_dok + STR(no_urut,3) TAG dtl_jur
> CURSORSETPROP("Buffering",5)
> SET RELATION TO no_acct INTO fchat
>
> SELECT 0
> USE rv_hdr_jur ALIAS hdr_jur CONNSTRING StringCon
> INDEX ON no_dok TAG hdr_jur
> CURSORSETPROP("Buffering",3)
> SET RELATION TO ALLTRIM(no_dok) INTO dtl_jur ADDI
>
> Event Init
> thisform.grid_21.ColumnCount = 8
>
> WITH this.grid_21
> .RecordSource= " "
> .RecordSourceType= 1
> .RecordSource= "dtl_jur"
> .DeleteMark = .F.
> .RecordMark = .F.
> .ReadOnly = .T.
> .AllowCellSelection = .F.
>
> .column1.ControlSource="dtl_jur.no_urut"
> .column2.ControlSource="dtl_jur.no_acct"
> .column3.ControlSource="dtl_jur.ket"
> .column4.ControlSource="dtl_jur.t_db"
> .column5.ControlSource="dtl_jur.t_cr"
> .column6.ControlSource="dtl_jur.kode_user"
> .column7.ControlSource="dtl_jur.tgl_edit"
> .column8.ControlSource="dtl_jur.no_dok"
>
> .column1.Width = 25
> .column2.Width = 75
> .column3.Width = 300
> .column4.Width = 100
> .column5.Width = 100
> .column6.Width = 100
> .column7.Width = 100
> .column8.Width = 100
> .column9.Width = 100
>
> .column1.Header1.Caption = "Urut"
> .column2.Header1.Caption = "No Acct"
> .column3.Header1.Caption = "Keterangan"
> .column4.Header1.Caption = "Debet"
> .column5.Header1.Caption = "Kredit"
> .column6.Header1.Caption = "Kode User"
> .column7.Header1.Caption = "Tgl Edit"
> .column8.Header1.Caption = "No Dok"
>
> .HighlightStyle = 1
> .HighlightForeColor = RGB(255,255,0)
> .HighlightBackColor = RGB(255,0,0)
> ENDWITH
>
> thisform.grid_21.column6.text1.SelectOnEntry = .T.
>
> Event cmd_baru
>
> SELECT hdr_jur
> SET FILTER TO
> thisform.set_notabaru = .T.
> thisform.no_urut = 1
> thisform.txtno_dok.SetFocus
>
>
> Proc LostFocus.txttanggal
>
> IF thisform.set_notabaru
>  ***
>  * Nota Baru
>  ***
>  IF MESSAGEBOX("Data Ok, Lanjut Ke Detail [Y/N] ? : ",4+32+256,"Tambah 
> Data Baru") = 6
>     SELECT hdr_jur
>     SET ORDER TO 1
>     GO TOP
>     xno_dok = thisform.txtno_dok.value
>     xtanggal = thisform.txttanggal.txtdate.Value
>     xtgl_edit = DATETIME()
>     IF SEEK(xno_dok)
>        **
>        * Data Lama
>        ***
>     ELSE
>        ***
>        * Tambah Data Baru Header
>        ***
>        SELECT hdr_jur
>        INSERT INTO hdr_jur (no_dok, tanggal, kode_user,ip_adds,tgl_edit) 
> VALUE
> (xno_dok,xtanggal, muser,Nip_adds,xtgl_edit)
>        =Tableupdate(.f.)
>        **
>        * Append Data Detail
>        **
>        SELECT dtl_jur
>        INSERT INTO dtl_jur (no_dok, kode_user, tgl_edit) VALUES (xno_dok, 
> muser,
> xtgl_edit)
>        thisform.grid_21.ReadOnly = .F.
>        thisform.grid_21.AllowCellSelection = .T.
>        thisform.grid_21.Refresh
>
>        thisform.grid_21.column1.txtno_urut.ReadOnly = .F.
>        thisform.grid_21.column1.txtno_urut.Value = thisform.no_urut
>        thisform.grid_21.column1.txtno_urut.SetFocus
>        thisform.grid_21.ActivateCell(thisform.grid_21.ActiveRow,1)
>     ENDI
>  ELSE
>     thisform.txno_dok.SetFocus
>  ENDI
> ENDI
>
> ***
> * Entry Data Detail di Grid dan Update data Header & Detail
> ***
> proc lostfocus.txtt_cr
> xtgl_edit = DATETIME()
> SELECT hdr_jur
> TABLEUPDATE(.F.)
>
> SELECT dtl_jur
> TABLEUPDATE(.T.)
>
> thisform.no_urut = thisform.no_urut + 1
> xno_urut = thisform.no_urut
> xno_dok = thisform.txtno_dok.value
>
> INSERT INTO dtl_jur (no_dok, no_urut, kode_user, tgl_edit) VALUES 
> (xno_dok, xno_urut,
> muser, xtgl_edit)
> *=TABLEUPDATE()
> *LOCATE FOR no_dok + STR(no_urut,3) = xno_dok + STR(xno_urut,3)
>
> ****
> * Record yang sudah di Entry pertama kali akan hilang/tidak
> * berhasil di tampilkan kembali, tapi klu lihat di MYSQL datanya
> * ada, hal ini terjadi sehabis mendapat event refresh atau setfocus
> * di gridnya.
> ****
> thisform.grid_21.Refresh
> thisform.grid_21.SetFocus
>
>
> thisform.grid_21.AllowCellSelection = .T.   && waktu Entry
> thisform.grid_21.column1.txtno_urut.ReadOnly = .F.
> thisform.grid_21.column1.txtno_urut.Value = dtl_jur.no_urut
> thisform.grid_21.column1.txtno_urut.SetFocus
>
> ***
> * Saya juga coba bikin tombol Add tersendiri hasil juga demikian
> ***
> Proc cmd_addDetail
>
> SELECT hdr_jur
> xno_dok = thisform.txtno_dok.value
> xtgl_edit = DATETIME()
>
> SELECT dtl_jur
> INSERT INTO dtl_jur (no_dok, kode_user, tgl_edit) VALUES (xno_dok, muser, 
> xtgl_edit)
>
> thisform.grid_21.ReadOnly = .F.
> thisform.grid_21.AllowCellSelection = .T.
> thisform.grid_21.Refresh
> thisform.grid_21.SetFocus
>
> thisform.grid_21.column1.txtno_urut.ReadOnly = .F.
> thisform.grid_21.column1.txtno_urut.Value = thisform.no_urut
> *thisform.grid_21.ActivateCell(thisform.grid_21.ActiveRow,1)
> **
> * Hilang disini setelah setfocus
> ***
> thisform.grid_21.column1.txtno_urut.SetFocus


------------------------------------

-- 
www.itcenter.or.id - Komunitas Teknologi Informasi Indonesia 
Gabung, Keluar, Mode Kirim : [EMAIL PROTECTED] 

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ITCENTER/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ITCENTER/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Kirim email ke