Monday, July 21, 2008

Form Entri Employee - VFP

On Form1.Refresh :
THISFORM.txtNoPokok.Value = ''
THISFORM.txtNoPokok.Enabled= .T.
THISFORM.txtNoInduk.Value = ''
THISFORM.txtNama.Value = ''
THISFORM.txtUnit.Value = ''
THISFORM.cmdSave.Enabled = .F.
THISFORM.cmdCancel.Enabled = .F.
THISFORM.cmdErase.Enabled= .F.

SELECT datakar.no_pokok,datakar.no_induk,datakar.nama,datakar.unit from datakar INTO CURSOR ListKar
SELECT ListKar
INDEX on RIGHT(ALLTRIM(no_pokok),4) TAG nop ADDITIVE
THISFORM.grid1.RecordSourceType = 1
THISFORM.grid1.RecordSource = "listkar"
THISFORM.grid1.column1.Width = 100
THISFORM.grid1.column1.header1.Caption = 'ID #1'
THISFORM.grid1.column2.Width = 100
THISFORM.grid1.column2.header1.Caption = 'ID #2'
THISFORM.grid1.column3.Width = 150
THISFORM.grid1.column3.header1.Caption = 'Name'
THISFORM.grid1.column4.Width = 125
THISFORM.grid1.column4.header1.Caption = 'Unit'
THISFORM.txtNoPokok.SetFocus

On Form1.Unload :
IsFormActive = .F.
LogData.ENABLED = .T.

On txtNoPokok.LostFocus :
*!* ID # 1
LOCAL c_NoPokok as String
c_NoPokok = THISFORM.txtNoPokok.Value
IF LEN(ALLTRIM(c_NoPokok)) # 0
SELECT * FROM datakar WHERE no_pokok = c_NoPokok INTO CURSOR CekNoPokok
SELECT CekNoPokok
GO TOP
IF !BOF()
LOCAL n_Jawab
n_Jawab = MESSAGEBOX("No. Pokok in sudah tercatat."+CHR(13)+"Edit data ini?",4+48+256,"Cek No. Pokok")
IF n_Jawab = 6 && YES
THISFORM.txtNoInduk.Value = CekNoPokok.no_induk
THISFORM.txtNama.Value = CekNoPokok.nama
THISFORM.txtUnit.Value = CekNoPokok.unit
THISFORM.txtNoPokok.Enabled= .F.
ENDIF
ENDIF
THISFORM.cmdSave.Enabled = .T.
THISFORM.cmdCancel.Enabled = .T.
THISFORM.cmdErase.Enabled= .T.
SELECT CekNoPokok
USE
ENDIF

On cmdSave.Click :
*!* Save Record
_SCREEN.MOUSEPOINTER = 11
LOCAL c_NoPokok as String,c_NoInduk as String,c_Nama as String,c_Unit as String

c_NoPokok = ALLTRIM(thisform.txtnoPokok.Value)
c_NoInduk = ALLTRIM(thisform.txtNoInduk.Value)
c_Nama = ALLTRIM(thisform.txtNama.Value)
c_Unit = ALLTRIM(thisform.txtUnit.Value)
SELECT no_pokok FROM datakar WHERE ALLTRIM(no_pokok) = c_NoPokok INTO CURSOR CekDataKaryawan
select CekDataKaryawan
GO top
IF !BOF()
**** update data
UPDATE datakar SET no_pokok = c_NoPokok,;
no_induk = c_NoInduk,;
nama = c_Nama,;
unit = c_Unit ;
WHERE ALLTRIM(no_pokok) = c_NoPokok
ELSE
**** insert data
INSERT INTO datakar ;
(no_pokok,;
no_induk,;
nama,unit) ;
VALUES ;
(c_NoPokok,;
c_NoInduk,;
c_Nama,;
c_Unit)
ENDIF
select CekDataKaryawan
USE
THISFORM.REFRESH
_SCREEN.MOUSEPOINTER = 0

On cmdCancel.Click:
*!* Cancel Entri/Edit Record
_SCREEN.MOUSEPOINTER = 11
THISFORM.REFRESH
_SCREEN.MOUSEPOINTER = 0

On cmdErase.Click:
*!* Erase Record
_SCREEN.MOUSEPOINTER = 11
LOCAL n_Jawab
n_Jawab = MESSAGEBOX("Hapus Data karyawan dengan No. Pokok ini?",4+32+256,"Hapus Data Karyawan")
IF n_Jawab = 6 && YES
DELETE FROM datakar WHERE ALLTRIM(no_pokok) = thisform.txtNoPokok.Value
ENDIF
THISFORM.REFRESH
_SCREEN.MOUSEPOINTER = 0

On cmdExit.Click:
IF TYPE("THISFORM.PARENT")="O"
THISFORMSET.RELEASE
ELSE
THISFORM.RELEASE
ENDIF

No comments: