Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Gather not saving all fields
Message
De
18/09/2007 13:46:54
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 8 SP1
Divers
Thread ID:
01255134
Message ID:
01255194
Vues:
18
>>>>>>We have a Point Of Sales application that consists of seperate two applications; a Home Office and Stores. At the end of the day, all the changes from the store are sent to the home office. These, using a Scatter / Gather in a Scan loop the Home Office's tables are updated. But, not all the fields are getting saved.
>>>>>>
>>>>>>With the stage set...
>>>>>>
>>>>>>If the field names and data types the same, can anyone think of any other reason the data would not be saved?
>>>>>
>>>>>Exactly which syntax did you use?
>>>>
>>>>
>>>>SCAN
>>>>    SCATTER NAME oDbf
>>>>    oDbf.orderno = lcStoreno +'-'+ ALLTRIM(STR(oDbf.orderno))
>>>>    IF !INDEXSEEK(oDbf.orderno,.F.,'rohserv','orderno')
>>>>        SELE rohserv
>>>>        APPEND BLANK
>>>>	GATHER NAME oDbf
>>>>        REPLACE rohserv.storeno WITH lcStoreno IN rohserv
>>>>        UNLOCK
>>>>    ENDIF
>>>>    RELEASE oDbf
>>>>    SELECT( lcTemp )
>>>>ENDSCAN
>>>>
>>>>
>>>>See, nothing special.
>>>>
>>>>>If memo fields are involved, did you remember to use the MEMO keyword?
>>>>
>>>>There is no memo fields.
>>>>
>>>>Thanks for the interest.
>>>
>>>Are you sure that these fields that can't be saved are spelled equally in both tables?
>>
>>Checked again, and definitely.
>
>Strange, I never had a problem with SCATTER and GATHER construction (when I used it).
>I even tested it with the different field order:
>
>CREATE CURSOR crsTest1 (Fld1 I, Fld2 D, Fld3 C(20))
>
>CREATE CURSOR crsTest2 (Fld2 D, Fld3 C(20), Fld1 I, Fld4 T)
>FOR asd = 1 TO 20
>    INSERT INTO   crsTest2 VALUES (DATE()+asd, REPLICATE([A],asd),asd, DATETIME()+asd)
>NEXT
>SCAN
>   SCATTER NAME oTest
>   SELECT crsTest1
>   APPEND BLANK
>   GATHER NAME oTest
>   SELECT crsTest2
>ENDSCAN
>SELECT crsTest1
>BROWSE NORMAL
>
I point out to Tore, the problem that the free table was truncating the field names to 10 character, there for they did match.

Thanks for the help.
Greg Reichert
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform