Microsoft KB Archive/160916

= How To Ensure Form Uses Tables from Correct .dbc File Location =

Article ID: 160916

Article Last Modified on 7/1/2004

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition

-



This article was previously published under Q160916



SUMMARY
If you create a form and add tables to its DataEnvironment from a .dbc file in a certain directory, and you move the form and directory structure, you may find that it will continue to access the .dbc file in the original directory. If you wish to ensure that a form with tables in its Data Environment uses tables from a specific location (that is, from a specific .dbc file or files), specify the path to the .dbc file for each cursor object in the BeforeOpenTables event method code of the form's DataEnvironment object.



MORE INFORMATION
In order to force your form to use tables from a .dbc file from the directory C:\Mydatadir, specify the path to the .dbc file in the DataEnvironment BeforeOpenTables event method code. The .dbc in this example is called Mydbc.dbc. Regardless of the location of the .dbc file used when a form is designed, if you use code like the one below, it uses the .dbc file in C:\Mydatadir when you run the form. * Place this in the DataEnvironment.BeforeOpenTables code LOCAL lcDatapath, lnBufferMode, lnI, lcI

* This could be in a format of "\\ \share\" or * " :\directory\" lcDatapath = "C:\myDataDir\"

lnBufferMode = 5

FOR lnI = 1 TO 10           && Assume only 10 or less Cursor objects * This assumes that the cursors have been left with the default names * in the format of Cursor1, Cursor2, etc. IF TYPE("this.cursor"+ALLTR(STR(lnI)))=="O" && Is this cursor an object?

lcI=ALLTR(STR(lnI))   && Convert the counter to a string

* Macro substitute the string value into cursorname to set property THIS.CURSOR&lcI..DATABASE=(lcDatapath)+'mydbc.dbc'

* You may also set other properties for cursors here THIS.CURSOR&lcI..BUFFERMODEOVERRIDE=lnBufferMode ENDIF ENDFOR

Keywords: kbhowto kbdesigner KB160916

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.