Article ID: 189418
Article Last Modified on 12/11/1999
* Start code here.
PUBLIC oForm
DisplayStatus([Creating database...])
CLOSE DATA ALL
CREATE DATABASE 'SAMPLE1.DBC'
DisplayStatus([Creating table TABLE1...])
MakeTable_TABLE1()
DisplayStatus([Finished.])
SET MULTILOCKS ON
open data sample1.dbc
oForm= CREATEOBJECT('seekmatch')
oForm.VISIBLE = .T.
FUNCTION MakeTable_TABLE1
***** Table setup for TABLE1 *****
CREATE TABLE 'TABLE1.DBF' NAME 'TABLE1' (CHAR1 C(10) NOT NULL)
***** Create each index for TABLE1 *****
SET COLLATE TO 'MACHINE'
ALTER TABLE 'TABLE1' ADD PRIMARY KEY CHAR1 TAG CHAR1
***** Change properties for TABLE1 *****
CREATE TRIGGER ON 'TABLE1' FOR INSERT AS inserted()
ENDFUNC
FUNCTION inserted
WAIT WINDOW 'Insert Trigger Fired'
RETURN .T.
ENDFUNC
FUNCTION DisplayStatus(lcMessage)
WAIT WINDOW NOWAIT lcMessage
ENDFUNC
**************************************************
*-- Class: seekmatch
*-- ParentClass: form
*-- BaseClass: form
*
DEFINE CLASS seekmatch AS FORM
TOP = 0
LEFT = 0
HEIGHT = 181
WIDTH = 337
DOCREATE = .T.
BUFFERMODE = 0
CAPTION = "Form1"
NAME = "Form1"
ADD OBJECT command1 AS COMMANDBUTTON WITH ;
TOP = 24, ;
LEFT = 24, ;
HEIGHT = 49, ;
WIDTH = 133, ;
CAPTION = "Do IndexSeek()", ;
NAME = "Command1"
ADD OBJECT command2 AS COMMANDBUTTON WITH ;
TOP = 24, ;
LEFT = 168, ;
HEIGHT = 49, ;
WIDTH = 145, ;
CAPTION = "Do KeyMatch()", ;
NAME = "Command2"
ADD OBJECT command3 AS COMMANDBUTTON WITH ;
TOP = 96, ;
LEFT = 96, ;
HEIGHT = 48, ;
WIDTH = 145, ;
CAPTION = "Close", ;
NAME = "Command3"
PROCEDURE INIT
SET SAFETY OFF
ZAP
SET SAFETY ON
SET ORDER TO CHAR1
FOR i = 1 TO 5
APPEND BLANK
REPLACE CHAR1 WITH "Test"+ALLTRIM(STR(i))
ENDFOR
=CURSORSETPROP('buffering',2)
ENDPROC
PROCEDURE command1.CLICK
APPEND BLANK
x = INDEXSEEK('Test3')
IF x
WAIT WINDOW "Record found and no trigger fired"
ELSE
WAIT WINDOW "Record not found"
ENDIF
=TABLEREVERT(.T.)
ENDPROC
PROCEDURE command2.CLICK
APPEND BLANK
x = KEYMATCH('Test3')
IF x
WAIT WINDOW 'Record found and trigger fired'
ELSE
WAIT WINDOW 'Record not found'
ENDIF
=TABLEREVERT(.T.)
ENDPROC
PROCEDURE command3.CLICK
THISFORM.RELEASE
ENDPROC
ENDDEFINE
*
*-- EndDefine: seekmatch
function accepts a parameter that takes you to the matching record, whichacts just like a Seek. However, the KEYMATCH function does not have this functionality.
Additional query words: kbVFp600 kbXbase
Keywords: kbinfo kbcode KB189418