Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
TableUpdate(), Pls Help
Message
De
17/07/2004 01:28:03
 
 
À
17/07/2004 00:08:43
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00925076
Message ID:
00925451
Vues:
19
I managed to get a work around for record pointer moving (I hope so)

What I did was, while existing the form and before running TableRevert() I changed the focus from editbox to a command box, and BINGO...

Although, still I am not very clear about buffering & tableupdate procedure.

Ok, now I am running the Begin/End Transaction, and capturing error if any. but how do I handle if there is any conflict.

I am sure there must be better solution than Rollback.

Regds
Shaishav

>>Re: TableUpdate()
>>Can you pls explain why it will not save records in TableB, what is the work around?
>
>Some things to check:
>
>If you have several tables, you must do TableUpdate() for each table. (I think you did this.)
>
>See if TableUpdate() returns .T. or .F.; .F. means that it could not save.
>
>If TableUpdate() returns .F., use aerror() to find out what was the problem.
>
>
>if not TableUpdate(...)
>  aerror(MyErrorArray)
>  MessageBox("Error #: " + trans(MyErrorArray(1) + " message: ";
>    + MyErrorArray(2))
>endif
>
>
>>
>>Re: CHange of record pointer
>>For I am only updating one record in TableA, in fact the problem comes when I do the following
>>
>>
** I am on record 10
>>TableRevert(.t.,"TableA")
>>** still on record 10
>>do something
>>TableUpdate(1,.f.,"TableA")
>>** still on record 10
>>** move to record 15
>>do something
>>TableUpdate(1,.f.,"TableA")
>>** record pointer moves back to 10
>>
>>
>>Why?? Any Answer???
>>
>>
>>>Hi,
>>>
>>>>>
>>>I have a form with two tables, both are using "5-Optimistic Table Buffering".
>>>
>>>TableA has one-to-many relationship with TableB. When a record is changed in TableA, there are more than one Records affected in TableB.
>>>
>>>When I want to issue Table Update, what should I do?
>>>
>>>Currently I am using
>>>TableUpdate(1,.f.,"tableA") and
>>>TableUpdate(1,.f.,"tableB")
>>>
>>>Is it correct?
>>>>>
>>>
>>>There is a danger that the update to tableA will succeed but the update to tableB will fail. Use a transaction to wrap the two updates:
>>>
>>>BEGIN TRANSACTION
>>>IF TABLEUPDATE(1,.f.,"tableA") .AND. TABLEUPDATE(1,.f.,"tableB")
>>>  END TRANSACTION
>>>ELSE
>>>  ROLLBACK
>>>  * Handle the failure
>>>ENDIF
>>>
>>>
>>>>>
>>>I have another problem where when after I issue TableRevert(.t.,"TableA") while on record number X, if I go to Record number Y and issue TableUpdate(1,.f.,"TableA"), the record number changes to X automatically.
>>>>>
>>>
>>>From TableUpdate Help:
>>>If table buffering is used and multiple records are updated, TABLEUPDATE( ) moves the record pointer to the last record updated.
>>>
>>>HTH,
>>>Viv
Regards
Shaishav
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform