Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Closing a free table
Message
De
22/05/2006 09:02:23
 
 
À
22/05/2006 08:55:28
Mike Cole
Yellow Lab Technologies
Stanley, Iowa, États-Unis
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 7 SP1
Divers
Thread ID:
01122199
Message ID:
01123909
Vues:
17
I do not have the time to analyze your program, but I suppose that you forget to close one of your tables. Once again I suggest that you include CLOSE DATABASE ALL in the beginning of your program, unless you have a good reason not to.

>What would happen if I ran it using that code, and then re-ran it again. This is a nightly process, and what I think is happeneing is that the first time the application is started it runs correctly, but the next night it doesn't seem to close that table. I then restart the application, and it works correctly.
>
>Here is the code:
>
>*Clear DEAL table
>Use "F:\DATA\DEAL.DBF" Exclusive
>ZAP
>
>*Populate DEAL table
>APPEND FROM (lcFileName) SDF
>
>*Clear DEALERS table in Runtime folder.  Will copy to F:\DATA\ when done.
>USE DEALERS EXCLUSIVE
>SET ORDER TO TAG DEALERNUM
>ZAP
>
>*Open ZIPC table.
>USE "F:\DATA\ZIPC.DBF"
>SET ORDER TO TAG ZIPC
>
>*Open POSTCD table.
>USE "F:\DATA\POSTCD.DBF"
>SET ORDER TO TAG ZIP
>
>*Exclude DMs from DEALER table.
>SELECT DEAL
>SET FILTER TO VAL(MPN)>0 AND (DEAL.DTYPWI='A' OR DEAL.DTYPIT='A' OR DEAL.VEC80='A' OR DEAL.ELA80='A' OR DEAL.WCR80='A' OR DEAL.VWG80='A') AND VAL(DEAL.MPN) < 7000
>GOTO TOP
>
>*Build DEALERS table.
>DO WHILE !EOF()
>   IF DEAL.MAILCD<>'N' AND DEAL.MAILCD<>'P'
>      DO CREAT_DEAL
>   ENDIF
>   SELECT DEAL
>   SKIP+1
>ENDDO
>
>SELECT POSTCD
>USE
>
>SELECT ZIPC
>USE
>
>SELECT DEAL
>USE
>
>SELECT DEALERS
>REINDEX
>USE
>
>********************************************************************
>FUNCTION CREAT_DEAL
>SELECT DEALERS
>APPEND BLANK
>REPLACE DEALERS.DEALERNUM WITH DEAL.MPN
>REPLACE DEALERS.DEALERNME WITH DEAL.DNAME
>REPLACE DEALERS.ADDR1     WITH DEAL.DADR1
>REPLACE DEALERS.ZIPCODE   WITH DEAL.DZIP
>REPLACE DEALERS.FAX_PHONE WITH DEAL.FAXPHONE
>REPLACE DEALERS.TELEPHONE WITH DEAL.PHONE
>REPLACE DEALERS.TYPE102   WITH DEAL.WI2
>REPLACE DEALERS.TYPE103   WITH DEAL.WI3
>REPLACE DEALERS.TYPE104   WITH DEAL.WI4
>REPLACE DEALERS.TYPE105   WITH SUBSTR(DEAL.FILLER7,1,1)
>REPLACE DEALERS.TYPE107   WITH DEAL.WI5
>REPLACE DEALERS.TYPE10D   WITH DEAL.WID
>REPLACE DEALERS.TYPE10F   WITH DEAL.WIF
>REPLACE DEALERS.TYPE10G   WITH DEAL.WIG
>REPLACE DEALERS.TYPE10P   WITH DEAL.WIP
>REPLACE DEALERS.TYPE10R   WITH SUBSTR(DEAL.FILLER7,2,1)
>REPLACE DEALERS.TYPE10S   WITH DEAL.WIS
>REPLACE DEALERS.TYPE702   WITH DEAL.IT2
>REPLACE DEALERS.TYPE703   WITH DEAL.IT3
>REPLACE DEALERS.TYPE704   WITH DEAL.IT4
>REPLACE DEALERS.TYPE705   WITH SUBSTR(DEAL.FILLER8,1,1)
>REPLACE DEALERS.TYPE707   WITH DEAL.IT5
>REPLACE DEALERS.TYPE70D   WITH DEAL.ITD
>REPLACE DEALERS.TYPE70F   WITH DEAL.ITF
>REPLACE DEALERS.TYPE70G   WITH DEAL.ITG
>REPLACE DEALERS.TYPE70P   WITH DEAL.ITP
>REPLACE DEALERS.TYPE70R   WITH SUBSTR(DEAL.FILLER8,2,1)
>REPLACE DEALERS.TYPE70S   WITH DEAL.ITS
>REPLACE DEALERS.W_DIST    WITH DEAL.WDIST
>REPLACE DEALERS.I_DIST    WITH DEAL.IDIST
>REPLACE DEALERS.E_DIST    WITH DEAL.ELADST
>REPLACE DEALERS.T_DIST    WITH DEAL.TOYDST
>REPLACE DEALERS.V_DIST    WITH DEAL.VECDST
>REPLACE DEALERS.VWGDST    WITH DEAL.VWGDST
>REPLACE DEALERS.WCRDST    WITH DEAL.WCRDST
>REPLACE DEALERS.CITY      WITH DEAL.DCITY
>REPLACE DEALERS.STATE     WITH DEAL.DSTATE
>REPLACE DEALERS.DBALONG   WITH DEAL.DBALONG
>REPLACE DEALERS.WEBSITE   WITH DEAL.WEBSITE
>REPLACE DEALERS.EMAIL     WITH DEAL.EMAIL
>
>IF ISALPHA(SUBSTR(ZIPCODE,1,1))
>	VZIP=ZIPCODE
>	SELECT POSTCD
>	SEEK VZIP
>	IF FOUND()
>		REPLACE DEALERS.XCOORD WITH LNG
>		REPLACE DEALERS.YCOORD WITH LAT
>		GOTO TOP
>	ELSE
>		SELECT DEALERS
>		VZIP=LEFT(ZIPCODE,3)
>		SELECT POSTCD
>		SEEK VZIP
>		IF FOUND()
>			REPLACE DEALERS.XCOORD WITH LNG
>			REPLACE DEALERS.YCOORD WITH LAT
>			GOTO TOP
>		ENDIF		
>	ENDIF
>ELSE
>	VZIP=RIGHT(ZIPCODE,5)
>	SELECT ZIPC
>	SEEK VZIP
>	IF FOUND()
>    		REPLACE DEALERS.XCOORD WITH LNG
>    		REPLACE DEALERS.YCOORD WITH LAT
>    		GOTO TOP
>	ENDIF
>ENDIF
>
>SELECT DEAL
>IF STCD='60'
>   REPLACE DEALERS.STATE WITH 'AB'
>ENDIF
>IF STCD='61'
>    REPLACE DEALERS.STATE WITH 'BC'
>ENDIF
>IF STCD='62'
>    REPLACE DEALERS.STATE WITH 'MB'
>ENDIF
>IF STCD='63'
>    REPLACE DEALERS.STATE WITH 'NB'
>ENDIF
>IF STCD='64'
>   REPLACE DEALERS.STATE WITH 'ON'
>ENDIF
>IF STCD='66'
>   REPLACE DEALERS.STATE WITH 'PQ'
>ENDIF
>IF STCD='67'
>   REPLACE DEALERS.STATE WITH 'SA'
>ENDIF
>IF STCD='68'
>   REPLACE DEALERS.STATE WITH 'NS'
>ENDIF
>
>RETURN
>
>
>Thanks for the help everyone.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform