I've been scratching my head trying to debug a problem form in my VFP 8 application.
Table DD_dwgh is Opened (USE) with order set to Candidate (composite)
key DH_DWGNUM (ALLTRIM(dh_dwgnum)+ALLTRIM(dh_rev)) both are Char fields.
This should guarantee uniqueness for example disallowing INSERT of:
dh_dwgnum dh_rev dh_dcn
--------- --- -------
200155 A 7365585 1st rec
200155 A 7365586 2nd rec
This should be fine (this is what I tried, and it failed):
dh_dwgnum dh_rev dh_dcn
--------- --- -------
200155 A 7365585 1st rec
200155 B 7365586 2nd rec
DH_DCN is primary key (INT), and in debugging I know that there is no
violation on following statement w. INSERT field values:
INSERT INTO DD_dwgh (dh_dcn,dh_dwgnum,dh_rev,dh_rcvdate) VALUES ;
(l_nNextnum,l_cDwgnum,l_cDwgrev,DATE())
l_lRetval = TABLEUPDATE(1,.F.,"dd_dwgh")
IF l_lRetval != .T.
dimension l_aerr[1]
=AERROR(l_aerr)
=MESSAGEBOX("I couldn't save changes to dd_dwgh."+CHR(13)+;
STR(l_aerr[1])+CHR(13)+ l_aerr[2],;
16,"TABLEUPDATE Failure")
ELSE
THISFORM.r_updcnt = THISFORM.r_updcnt + 1
ENDIF
I've checked VALUES, and there are no duplications or uniqueness violations, yet I'm getting this (1884) error. Why ??
I've tried to PACK, and REINDEX table set to ORDER of DH_DWGNUM (unique index); still same error appears.
I've quadruple checked that there is only 1 INSERT, and 1 TABLEUPDATE executed with these field values (it is not repeated).
Any ideas?
Dbk
Don