>>>>Does anyone know if GETNEXTMODIFIED() detects the addition of (maybe several) records to a buffered table, obviously, before TableUpdate() is issued?
>>>>
>>>>The new records will have had fields filled in before saving.
>>>>
>>>>'ppreciate it
>>>>
>>>>Terry
>>>
>>>Hey Terry,
>>>It's all about GetNextModified() :)
>>>ie:
>>>
>>>lnNext = GetNextModified(0)
>>>do while m.lnNext # 0
>>> go m.lnNext
>>> if m.lnNext < 0
>>>*...
>>> else
>>>*...
>>> endif
>>> lnNext = GetNextModified(m.lnNext)
>>>enddo
>>>
Cetin
>>
>>Thank you, Cetin & Boris
>>
>>Thing is, I don't want to manufacture the save code. I've already got a class save method snippet from way, way back - half inherited and half altered by me, as follows:
>>
>>
>>CASE Not lInDBC AND (ATC("2", GetFldState(-1)) <> 0 OR ATC("3", GetFldState(-1)) <> 0)
>> * Field was edited - in Free Table
>> * Since free tables are not supported by transactions,
>> * we must process record by record
>> lnModRecord = GetNextMod(0)
>> DO WHILE lnModRecord <> 0
>> GO lnModRecord
>> llSuccess = RLOCK()
>> IF Not llSuccess
>> lcErrorMessage = "Record in use by another user"
>> UNLOCK ALL
>> EXIT
>> EndIf
>> IF Not llHadMessage
>> * See if record(s) modified by another user
>> FOR lnFldCnt = 1 TO FCOUNT()
>> IF TYPE(FIELD(lnFldCnt)) = "G"
>> LOOP
>> ENDIF
>> IF OLDVAL(FIELD(lnFldCnt)) <> CURVAL(FIELD(lnFldCnt))
>> llHadMessage = .T.
>> IF sysConfirm("The record has been changed by another user while you've been editing it. " + ;
>> "Do you want to overwrite the other user's changes with your own?")
>> llOverwrite = .T.
>> ELSE
>> llSuccess = .F.
>> UNLOCK ALL
>> EXIT
>> ENDIF
>> ENDIF OLDVAL()
>> ENDFOR
>> ENDIF Not llHadMessage
>> lnModRecord = GetNextMod(lnModRecord)
>> ENDDO
>>
>>
>>
>>but afaik it's only been used to save one new rec at at time, as in a standard form new - input data - save scenario. In this case I create one record then maybe 3-4 "sister" recs and need to save them all together, or none at all, and it can't be done in a transaction, as theyt're free 2.6 tables. I feel that the above code would do just that. What do you think?
>
>This code didn't look like all-none to me.
What does that mean? It isn't al the code but just that snippet that doesn't deal with deleted recs, or those in a database. i.e. it deals with saving non-dbc free tables.
I should have said this portion would rarely be used as the saving of dbc tables in my apps would be dealt with in another CASE, in a transaction.
Do you think it would work? It needs to recognise up to 4 new recs, with field data input, and save them.
>And fox2x tables can be included in a transaction. For a transaction all you need is a dbc.
I know that but the tables belong to a FPD2.6 app. If I added them to a VFP7 dbc then they'd get changed to a "future" format that the 2.6 sys didn't recognise wouldn't they?
- Whoever said that women are the weaker sex never tried to wrest the bedclothes off one in the middle of the night
- Worry is the interest you pay, in advance, for a loan that you may never need to take out.