Visual FoxPro (VFP), and its predecessor FoxPro, is a data-centric, object-oriented, procedural, database programming language and IDE from Microsoft last released in 2007 that still has some active use due to its low cost of deployment and fairly rapid development. In 2008, Microsoft released a set of add-ons for VFP's xBase components to allow interoperability with various Microsoft technologies. It allows data processing against its native file-based data tables or database servers such as SQL Server.

Share tech news, updates, or what's on your mind.

Sign up to Post

                var cdxExpressions = new List<CDXExpression> {
                new CDXExpression { expression = "ENTRY_DATE", name = "cdx_p1"},
                new CDXExpression { expression = "LOSS_PD", name = "cdx_p2"}

                string strCon =
                    @"Provider =vfpoledb;Data Source=C:\DBF_files_Folder\20180921\" + tableName + ".DBF"; // TestDataBase1.DBF";
                OleDbConnection con = new OleDbConnection(strCon);
                OleDbCommand cmd = con.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "ExecScript";

                var myCode = "use " + tableName + " exclusive\n" +
                      string.Join("\n", cdxExpressions.Select(e => $"index on {e.expression} tag {}")) +

                cmd.Parameters.AddWithValue("code", myCode);
            catch (Exception ex)

C# -

Code above used VFPOLEDB driver. This driver should be installed on machine explicitly.
When I put my WPF application on common drive and ask users to access it, they also got to install VPFOLEDB. Is there a other than installing this MSI on all client machines.
Tried using JET OLEDB. It gives an error saying 'Cannot execute a Select Query'.

CompTIA Network+
LVL 12
CompTIA Network+

Prepare for the CompTIA Network+ exam by learning how to troubleshoot, configure, and manage both wired and wireless networks.

Hi Experts

Could you point a strategy to access a DB that remains at AWS cloud by using Visual FoxPro?

The reason it to reuse an alrealdy developed app to do that.

Thanks in advance!
I have a Visual FoxPro program running. it uses a local cursor engine.
To use the program from home, people use a VPN solution (openVPN)

Using this, we have poor performance.
We use lines with a 200mbit down and 50 mbit upload speed.  (vendor = Telenet Belgium)

The database has a traffic of 100mbyte totally  during a complete session, so it should fly.
However: on a 100Mbit network it works realtime. response times are very low.

Using openVPN, response times are like minutes.
The internet connection is real fast. So OpenVPN is what slows us down.

I put send and receive buffers to 0 in both server and ws config file. This fastenes the systyem up, but far..  far from enough.

There must be other settings to speed openVPN traffic up. But what can I do?
Our Desktop systems are written in VFP-9, and from time to time we have users reporting errors due to loss of connection to MSSQL (usually when the system is idle for a few minutes - a coffee break, for example). Until Windows 7, this problem no longer occurred by unchecking IPV6 and turning off the power-saving feature of the network card.

With Windows 10, we found that there are other places with the power saving feature such as monitor and HD. We have already cleared all this, but some users still report the same error (loss of connection).

Is there any way to avoid this loss of connection?

Translate from portuguese:

Os nossos sistemas Desktop são escritos em VFP-9 e, de uns tempos para cá, temos usuários reportando erros por perda de conexão com o MSSQL ( normalmente quando o sistema fica inativo por alguns minutos – uma pausa para o café, por exemplo ). Até o Windows 7, esse problema deixava de ocorrer desmarcando o IPV6 e desativando o recurso de economia de energia da placa de rede.

Com o Windows 10, descobrimos que existem outros lugares com o recurso de economia de energia, como monitor e HD. Já desmarcamos tudo isso, mas alguns usuários ainda reportam o mesmo erro ( perda de conexão ).

Tem alguma forma de evitar essa perda de conexão ?
I have this csv file which i want to convert into foxpro table.

The first row is a header, The second row is details.

Will like some advice on how to go about it.20180807_144846.csv

Thank you in advance.

Erick Nyange
I have a foxpro table with sequence 55,56,57,59,60,70,70,71,72,73,74,74,75.76. Will like to reset the numbers to have a uniform sequence like
55,56,57,59,60,70,71,72,73,74,75,76,77.78. i have tried a loop program that increments by 1 for every record loop but to no avail. it skips reset the similar numbers

can some assist me please

I will appreciate
I need to link an access database to what i think is a visual foxpro table the data is from an accounting program in foxpro
which is called Pegasus Opera version 2

I have managed to convert the table into a csv format then into MS ACCESS  but I could do with a live link if possible

Many Thanks

down vote
I am having a problem with seeks not working on descending indexes key values.

I set up my DBE as follows:



// Use server rights not user rights DbeInfo( COMPONENT_DATA, ADSDBE_RIGHTS_MODE, ADSDBE_IGNORERIGHTS )

I am connecting through an ADS data dictionary and the tables were added using the FoxPro (DBF/CDX) driver (not the Visual Foxpro driver.)

The indexes are created through ADS.

I have an index that puts empty dates first followed by descending dates then ascending IDs as:

Whenever I do a seek as either dbseek(descend(‘99999999’)) or dbseek(descend(dtos(dMyDate))) the seek goes to EOF or the proper record (date does exist) is not found properly.

I have the character set set to ANSI for both systems and the collation to Engl.(Amer) in both.

I've attached a sample program, table and other information in case anyone wants to take a look.
Within a VFP app, when certain users print a report, the report is automatically sent to the default printer and to multiple (4) networked printers.  This causes the system sending the print jobs to lock up for 30-45 seconds multiple times a day.  They are wondering if we could speed this process up.

Below is the critical block of code.  

A brief explanation of it's intent: Names of the printers receiving this report (WorkOrder) are stored in a SQL table as such:

When designated users print the work order report it is sent to their default printer, the default printer name is stored, the next printer name is queried from the SQL table, the VFP printer is set to it and the report is printed, etc.  While this process is running the users cannot do anything else in VFP.  I don't think the SQL queries or the VFP code are causing any delays, but the multiple print calls (REPORT FORM source\workorder TO PRINTER NOCONSOLE) are.  Any suggestions for me?

FOR lnX = 1 TO lnQty  && Print desired qty of the work order to the default printer

SET REPORTBEHAVIOR 80  && Sets to VFP 6 printing rules.

* If a printer is not available skip the error and continue
ON ERROR llErrFlg=.T.

* …
Hi Experts

Could you point what is preventing vfpcompression.fll to be used in a VFP9 project running under Windows10?

Accordingly to:

The same .fll perfectly runs under Windows 7

Any workaround?

Thanks in advance
Fundamentals of JavaScript
LVL 12
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

Need to send SMTP email from FoxPro app that includes CC and BCC on a windows machine WITHOUT installing any ocx's or dll's. Is this possible with standard windows api calls?

Server restrictions are high, so no regsvr statements are allowed, no registry changes. dll's or libraries residing in the same directory may be permitted.
Using ODBC I am trying to redirect a VFP app to new SQL 2016 database.  If I use Windows Authentication the app will run as desired.  If I use the preferred SQL Server Authentication the ODBC connection is made and tests successfully, but when trying to run the VFP app I'm continually getting SQL Server Login dialog box popup.  I have confirmed the SQL server is set to Mixed Authentication Mode.
Sometimes, when my FoxPro application does not close gracefully for whatever reason, I get an error message upon its restart: "Index does not match the table. Delete the index file and recreate the index". Can somebody provide me with a sample code to do it automatically? Also, I have a significant number of indexes, and some of their expressions are fairly complex. So, it would be nice to have all of them listed in a single text file for convenient copying and pasting into "INDEX ON". I am still using VFP6 (I know, I know...)

Thank you.
i need to convert my csv data to foxpro table...kindly help for example below:


With only three columns as shown "ALB-ME"-desc1,"44.6"-desc2,"G/L"-desc3 . All the data should be rows.

Kindly assist me
down vote
I am able to use the ODBC drivers (Microsoft's and other providers) with Visual FoxPro Database. I am able to execute Select & Insert statements using the ODBC Drivers but not able to use Create/Update/Drop table using the ODBC Drivers. I am able to create a table using Visual FoxPro IDE but would like to do it using ODBC Driver.

Any help is appreciated.
I have a Domain (Windows 2012 R2) with 10 Stations.

I have 1 station with some problems when accessing an application (Visual Foxpro 9).
when the application is active but idle for few minutes we get an error "Error reading file....".
We shutdown the application and restart it, it works fine for another few minutes... and again ,if the PC is idle for few minutes, it gives the same error.

I tried changing the NIC, removing the Power management from everywhere on the PC (NIC, HDD, etc... ) it did not change anything...

The weird thing is that If I have an excel file open from the same share folder, it doesn't give any error..

Any help ?
Hi All:
I have a program that reads a table using a DO..WHILE loop. For each record, there is code that copies a filename (of a BMP file) that is in a field to a temp file using a COPY FILE statment. The temp BMP file is then used on a report, and the report is run for each record. If I run the source code, the COPY FILE statements and the reports are correct but when the EXE is run, only one COPY FILE statement seems to happen and the same picture appears on every report. The client using the EXE discovered the problem. Everyone is using Windows 7.
Any ideas would be appreciated.
Thank you,
I have been coding Fox Pro for years as needed to perform what ever quant studies that I need to do which draw of a database.

I know I need to learn a new language for the future as FoxPro is really long gone.

What would you all suggest?  I need something that does all that FOX does and more I would hope.  A language that will be good for the next 20 years and is supported.

Thank You

I have an xBase++ app that creates a table that has memo fields. The
table is created by consolidating information from several source

When I run the app complied with Clipper 5.2 the resulting .FPT file
is about 220 MB.

When I run the same app compiled with xBase++ the resulting FPT file
is approximately 20 GB.

I have the driver set up as follows in the xBase app:

// Build DBE
DbeLoad( "FOXDBE", .T.)
DbeLoad( "CDXDBE",.T.)
DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
DbeSetDefault( "FOXCDX" )
// Set up for FOX 2.x and Comix compatability

Any help is much appreciated.
Become a Certified Penetration Testing Engineer
LVL 12
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Hi Experts

Could you point the better way to ensure a Wordpad content, by encryption or password ?

Also, what is the better way to do that?

By the way the file is opened by a VFP application


	oWSH = Createobject("")
	oWSH.Run(lcOutputFile, 2, .T.)

Catch To oErr
	oErr.UserValue = "Nested CATCH message: Unable to handle"
	=ALERT("PARE", "OK", 10, 10, "Wordpad não pode ser executado. Erro:"+oErr.Message )

Open in new window

Any suggestion on decrypyt before it's opened and then after it's saved, is it a good approach?

Thanks in advance
I need to convert an application created in MS-DOS FoxPro2.6 to any new language programming keeping same features

or create a new one using its same ideas for the features

please anyone interested let me know
Hi Experts

Could you point how to manage a VFP Multi-threaded COM Server dll to make it works out?

I obtained this example

I guess  DTS  Explorer must be opened to make it works out, isn't it?

Is it a matter of install the .dll on DTS ?
If so, how to do that?

The VFP code to calls  the .dll
** This is a simple example DLL for use
** with the BASICSAMPLE.PRG file.

** Example Usage:
** loDLL = CREATEOBJECT("sample.EasyMTServer")
** loDLL.SomeLengthyProcess(_VFP)

** Note: You could also use the following
** in the event the DLL is not registered
** (assuming sample.dll exists in your path)
** loDLL = NEWOBJECT("EasyMTServer","sample.dll")

	PROCEDURE SomeLengthyProcess (toCallback)
		** We'll declare the Windows API Sleep
		** function, so we can ensure the 
		** process runs for 20 seconds.

		** Create a variable for
		** our FOR/ENDFOR loop.
		LOCAL lnCount As Integer

		** Print a string to the main VFP window.
		FOR lnCount = 1 TO 20
			** Create a SYS(2015) value, and
			** print it back to the VFP window.
			toCallback.DoCmd("? + ALLTRIM(SYS(2015))")

			** Let's sleep for 1 second
		** Write out a Done!
		toCallback.DoCmd("? + 'Done!'")
		CLEAR DLLS "Sleep"

Open in new window

Thanks in advance!
I have 50 visual foxpro files in my computer. I want to transform that contents to excel is that possible??
If it's possible means how to that?
Hi Experts

Could you point a way to start MTS Explorer from Win 7?

Thanks in advance.
Hi Experts

Could you point a workaround to this problem when registering a .DLL by using  West Wind Web Service Proxy Generator  .NET Web Service Proxy Generator for Visual FoxPro?

When generating by using the tool:
So, when code runs:
Inside the box means:
Failed to load file or assembly 'filec: \ wwwproxy \ hello_serviceproxy.dll'
or one of its dependencies. The system can not find the file

Thanks in advance!


Visual FoxPro (VFP), and its predecessor FoxPro, is a data-centric, object-oriented, procedural, database programming language and IDE from Microsoft last released in 2007 that still has some active use due to its low cost of deployment and fairly rapid development. In 2008, Microsoft released a set of add-ons for VFP's xBase components to allow interoperability with various Microsoft technologies. It allows data processing against its native file-based data tables or database servers such as SQL Server.

Top Experts In