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
  

-- 
Salam,
Fansul                          


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

-- 
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