Link to home
Start Free TrialLog in
Avatar of miyahira
miyahiraFlag for Peru

asked on

Any free DBF viewer software?

Hi,

Is there any free DBF viewer for end-users?

For our users, it's unnecesary to buy Foxpro licenses, because, for a DBF file, they just need to see record fields, how many records are,  first record, last record, etc. Not even modify data.

I saw http://www.dbsoftlab.com/Freeware/Database-Browser.html, but this product is a bit complicated for end-users.

Thanks!
Avatar of Cyril Joudieh
Cyril Joudieh
Flag of Lebanon image

Avatar of miyahira

ASKER

Yes, Access would be ok, but it's too complicated for my end-users ....

I searched via google, but actually most of the products are not free.

Any other ?
Excel can import old DBF files without the memo.
If the tables are read by Excel, you can create an add-in (xla) which prompts the user to open a file. You would open it by automation and import as DBF. You can record a macro. All you need to know if the tables are old enough for Excel to open.
Yes, Excel can open old DBF files, maybe most of them. Problem is that there were/are some DBF that can't be open by Excel.

The case is this: my end-users are not the most brilliant people in the world. Because of work, our sales-men arrive at the office with DBF files, and their content has to be checked by my end-users. They use a software developed in VB6 for checking DBF, but sales-men want to see exactly what the DBF has. Foxpro would be ok, but as I said, too expensive for only watching data and counting records. We'd need just some free software to open DBF files.
It seems you already have Visual FoxPro, so you may create free DBF viewer very simply...

Just create new project, add following code as a main program, build an EXE and that's it. (The CreateMenu procedure is just copypasted code from menu generator and it is better to create your own menu).

ON ERROR *
_screen.Caption = "DBF Viewer 0.01"
 
DO CreateMenu
 
ON ERROR =MESSAGEBOX(ALLTRIM(STR(ERROR())) + ' ' + MESSAGE(),0,"Error")
 
READ EVENTS
 
PROCEDURE OpenDBF
 
LOCAL lcFile
 
lcFile = GETFILE("DBF","Select DBF file", "Open")
 
IF FILE(lcFile)
  SELECT 0
  USE (lcFile) SHARED NOUPDATE ALIAS (SYS(2015)) AGAIN
  IF !EMPTY(ALIAS())
    BROWSE NOWAIT TITLE (DBF())
  ENDIF
ENDIF
 
PROCEDURE CloseDBF
 
IF !EMPTY(ALIAS())
  USE
ENDIF
 
IF AUSED(laA) > 0
  SELECT (laA(ALEN(laA)))
ELSE
  SELECT 0
ENDIF
 
PROCEDURE CreateMenu
 
SET SYSMENU TO
SET SYSMENU AUTOMATIC
 
DEFINE PAD _msm_file OF _MSYSMENU PROMPT "\<File" COLOR SCHEME 3 ;
	NEGOTIATE  LEFT, NONE ;
	KEY ALT+F, "" ;
	MESSAGE "Creates, opens, saves, prints files or quits Visual FoxPro"
DEFINE PAD _msm_edit OF _MSYSMENU PROMPT "\<Edit" COLOR SCHEME 3 ;
	NEGOTIATE  NONE, LEFT ;
	KEY ALT+E, "" ;
	MESSAGE "Edits text or current selection"
DEFINE PAD _msm_windo OF _MSYSMENU PROMPT "\<Window" COLOR SCHEME 3 ;
	NEGOTIATE  RIGHT, LEFT ;
	KEY ALT+W, "" ;
	MESSAGE "Manipulates windows, displays Command and Data Session windows"
DEFINE PAD _msm_systm OF _MSYSMENU PROMPT "\<Help" COLOR SCHEME 3 ;
	NEGOTIATE  NONE, RIGHT ;
	KEY ALT+H, "" ;
	MESSAGE "Displays Help on Visual FoxPro"
ON PAD _msm_file OF _MSYSMENU ACTIVATE POPUP _mfile
ON PAD _msm_edit OF _MSYSMENU ACTIVATE POPUP _medit
ON PAD _msm_windo OF _MSYSMENU ACTIVATE POPUP _mwindow
ON PAD _msm_systm OF _MSYSMENU ACTIVATE POPUP _msystem
 
DEFINE POPUP _mfile MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF _mfile PROMPT "\<Open..." ;
	KEY CTRL+O, "Ctrl+O" ;
	PICTRES _mfi_open ;
	MESSAGE "Opens an existing file"
DEFINE BAR 2 OF _mfile PROMPT "\<Close" ;
	KEY CTRL+F4, "Ctrl+F4" ;
	PICTRES _mfi_close ;
	MESSAGE "Closes the current file"
DEFINE BAR _mfi_sp100 OF _mfile PROMPT "\-" ;
	PICTRES _mfi_sp100
DEFINE BAR 4 OF _mfile PROMPT "E\<xit" ;
	KEY ALT+F4, "Alt+F4" ;
	PICTRES _mfi_quit ;
	MESSAGE "Quits Visual FoxPro"
ON SELECTION BAR 1 OF _mfile DO openDBF
ON SELECTION BAR 2 OF _mfile DO closeDBF
ON SELECTION BAR 4 OF _mfile CLEAR EVENTS
 
DEFINE POPUP _medit MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _med_undo OF _medit PROMPT "\<Undo" ;
	KEY CTRL+Z, "Ctrl+Z" ;
	PICTRES _med_undo ;
	MESSAGE "Undoes the last command or action"
DEFINE BAR _med_redo OF _medit PROMPT "Re\<do" ;
	KEY CTRL+R, "Ctrl+R" ;
	PICTRES _med_redo ;
	MESSAGE "Repeats the last command or action"
DEFINE BAR _med_sp100 OF _medit PROMPT "\-" ;
	PICTRES _med_sp100
DEFINE BAR _med_cut OF _medit PROMPT "Cu\<t" ;
	KEY CTRL+X, "Ctrl+X" ;
	PICTRES _med_cut ;
	MESSAGE "Removes the selection and places it onto the Clipboard"
DEFINE BAR _med_copy OF _medit PROMPT "\<Copy" ;
	KEY CTRL+C, "Ctrl+C" ;
	PICTRES _med_copy ;
	MESSAGE "Copies the selection onto the Clipboard"
DEFINE BAR _med_paste OF _medit PROMPT "\<Paste" ;
	KEY CTRL+V, "Ctrl+V" ;
	PICTRES _med_paste ;
	MESSAGE "Pastes the contents of the Clipboard"
DEFINE BAR _med_pstlk OF _medit PROMPT "Paste \<Special..." ;
	PICTRES _med_pstlk ;
	MESSAGE "Pastes the Clipboard contents as a linked object, embedded object, or other object type"
DEFINE BAR _med_clear OF _medit PROMPT "Cle\<ar" ;
	PICTRES _med_clear ;
	MESSAGE "Removes the selection and does not place it onto the Clipboard"
DEFINE BAR _med_sp200 OF _medit PROMPT "\-" ;
	PICTRES _med_sp200
DEFINE BAR _med_slcta OF _medit PROMPT "Se\<lect All" ;
	KEY CTRL+A, "Ctrl+A" ;
	PICTRES _med_slcta ;
	MESSAGE "Selects all text or items in the current window"
DEFINE BAR _med_sp300 OF _medit PROMPT "\-" ;
	PICTRES _med_sp300
DEFINE BAR _med_find OF _medit PROMPT "\<Find..." ;
	KEY CTRL+F, "Ctrl+F" ;
	PICTRES _med_find ;
	MESSAGE "Searches for specified text"
DEFINE BAR _med_repl OF _medit PROMPT "R\<eplace..." ;
	KEY CTRL+L, "Ctrl+L" ;
	PICTRES _med_repl ;
	MESSAGE "Replaces specified text with different text"
DEFINE BAR _med_sp400 OF _medit PROMPT "\-" ;
	PICTRES _med_sp400
DEFINE BAR _med_listmembers OF _medit PROMPT "List \<Members" ;
	KEY CTRL+ENTER, "Ctrl+J" ;
	PICTRES _med_listmembers ;
	MESSAGE "List members of the selected object"
DEFINE BAR _med_quickinfo OF _medit PROMPT "\<Quick Info" ;
	KEY CTRL+I, "Ctrl+I" ;
	PICTRES _med_quickinfo ;
	MESSAGE "Quick information on the selected object"
DEFINE BAR _med_sp500 OF _medit PROMPT "\-" ;
	PICTRES _med_sp500
DEFINE BAR 18 OF _medit PROMPT "\<Bookmarks" ;
	PICTRES _mbk_togtask ;
	MESSAGE "Bookmark options"
DEFINE BAR 19 OF _medit PROMPT "\-"
DEFINE BAR _med_insob OF _medit PROMPT "\<Insert Object..." ;
	PICTRES _med_insob ;
	MESSAGE "Embeds an object in a General field type"
DEFINE BAR _med_obj OF _medit PROMPT "\<Object..." ;
	PICTRES _med_obj ;
	MESSAGE "Edits the selected object"
DEFINE BAR _med_link OF _medit PROMPT "Lin\<ks..." ;
	PICTRES _med_link ;
	MESSAGE "Opens linked files or changes links"
DEFINE BAR 23 OF _medit PROMPT "\-"
DEFINE BAR _med_pref OF _medit PROMPT "Prope\<rties..." ;
	PICTRES _med_pref ;
	MESSAGE "Set editor properties"
ON BAR 18 OF _medit ACTIVATE POPUP _med_bkmks
 
DEFINE POPUP _med_bkmks MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _mbk_togtask OF _med_bkmks PROMPT "Toggle Task List \<Shortcut" ;
	KEY ALT+F2, "Alt+F2" ;
	PICTRES _mbk_togtask ;
	MESSAGE "Adds a Shortcut for current line"
DEFINE BAR _mbk_togbkmk OF _med_bkmks PROMPT "Toggle \<Bookmark" ;
	KEY SHIFT+ALT+F2, "Alt+Shift+F2" ;
	PICTRES _mbk_togbkmk ;
	MESSAGE "Toggles bookmark for current line"
DEFINE BAR _mbk_bkmknext OF _med_bkmks PROMPT "\<Next Shortcut/Bookmark" ;
	KEY F2, "F2" ;
	PICTRES _mbk_bkmknext ;
	MESSAGE "Go to the next bookmark or shortcut in the file"
DEFINE BAR _mbk_bkmkprev OF _med_bkmks PROMPT "\<Previous Shortcut/Bookmark" ;
	KEY SHIFT+F2, "Shift+F2" ;
	PICTRES _mbk_bkmkprev ;
	MESSAGE "Go to the previous bookmark or shortcut in the file"
 
DEFINE POPUP _mwindow MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _mwi_cascade OF _mwindow PROMPT "Ca\<scade" ;
	PICTRES _mwi_cascade ;
	MESSAGE "Arranges windows as cascading tiles"
DEFINE BAR _mwi_arran OF _mwindow PROMPT "\<Arrange All" ;
	PICTRES _mwi_arran ;
	MESSAGE "Arranges windows as non-overlapping tiles"
DEFINE BAR _mwi_sp100 OF _mwindow PROMPT "\-" ;
	PICTRES _mwi_sp100
DEFINE BAR _mwi_dockable OF _mwindow PROMPT "Doc\<kable" ;
	PICTRES _mwi_dockable ;
	MESSAGE "Enable docking of this window"
DEFINE BAR _mwi_hide OF _mwindow PROMPT "\<Hide" ;
	PICTRES _mwi_hide ;
	MESSAGE "Hides the active window"
DEFINE BAR _mwi_hidea OF _mwindow PROMPT "Hide All" ;
	PICTRES _mwi_hidea ;
	MESSAGE "Hides all windows"
DEFINE BAR _mwi_showa OF _mwindow PROMPT "Sh\<ow All" ;
	PICTRES _mwi_showa ;
	MESSAGE "Shows all hidden windows"
DEFINE BAR _mwi_sp200 OF _mwindow PROMPT "\-" ;
	PICTRES _mwi_sp200
DEFINE BAR _mwi_clear OF _mwindow PROMPT "Clea\<r" ;
	PICTRES _mwi_clear ;
	MESSAGE "Clears text from the application workspace or the current output window"
DEFINE BAR _mwi_rotat OF _mwindow PROMPT "C\<ycle" ;
	KEY CTRL+F1, "Ctrl+F1" ;
	PICTRES _mwi_rotat ;
	MESSAGE "Cycles through all open windows"
DEFINE BAR _mwi_sp200 OF _mwindow PROMPT "\-" ;
	PICTRES _mwi_sp200
DEFINE BAR _mwi_cmd OF _mwindow PROMPT "\<Command Window" ;
	KEY CTRL+F2, "Ctrl+F2" ;
	PICTRES _mwi_cmd ;
	MESSAGE "Displays the Command window"
DEFINE BAR _mwi_view OF _mwindow PROMPT "\<Data Session" ;
	PICTRES _mwi_view ;
	MESSAGE "Displays the Data Session window"
DEFINE BAR _mwi_properties OF _mwindow PROMPT "\<Properties Window" ;
	PICTRES _mwi_properties ;
	MESSAGE "Display the Properties window"
 
DEFINE POPUP _msystem MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _mst_hpsch OF _msystem PROMPT "Microsoft \<Visual FoxPro Help" ;
	KEY F1, "F1" ;
	PICTRES _mst_hpsch ;
	MESSAGE "Locates Help topics based on keywords you enter"
DEFINE BAR _mst_msdns OF _msystem PROMPT "MSDN \<Search" ;
	PICTRES _mst_msdns ;
	MESSAGE "Provides access to MSDN Search tab."
DEFINE BAR _mst_sp100 OF _msystem PROMPT "\-" ;
	PICTRES _mst_sp100
DEFINE BAR _mst_techs OF _msystem PROMPT "\<Technical Support" ;
	PICTRES _mst_techs ;
	MESSAGE "Provides information on how to obtain additional technical help"
DEFINE BAR _mst_vfpweb OF _msystem PROMPT "Visual FoxPro on the \<Web" ;
	PICTRES _mst_vfpweb ;
	MESSAGE "Launches your web browser to go to Visual FoxPro's Web sites"
DEFINE BAR _mst_sp300 OF _msystem PROMPT "\-" ;
	PICTRES _mst_sp300
DEFINE BAR _mst_about OF _msystem PROMPT "\<About Microsoft Visual FoxPro..." ;
	PICTRES _mst_about ;
	MESSAGE "Displays version and copyright information about Visual FoxPro"
 
RETURN

Open in new window

not sure if this helps, i wrote it a long while ago but you are welcome to try it.

http://www.centurionerp.co.uk/updates/dbfview.exe
Any updates on this?
Sorry, I don't find any free DBF viewer and advices don't solve my problem. Any update?  
ASKER CERTIFIED SOLUTION
Avatar of Pavel Celba
Pavel Celba
Flag of Czechia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
did the link i gave you not download the dbfview executable, as I mentioned its written by me and you could use it free!!!!
Andrew, thanks for your program, but I couldn't run it
miyahira, if it helps im uploading a full install version today (21 December 2009).  You are welcome to try it.
why are points being awarded when the actual question has not been answered.  I thought the dbfviewer was not allowed to modify the data, all the solution other than mine change the data.??????
andrewbarnett, yes, the question has been closed but I don't think you should be awarded...  CaptainCyril answered as the first one and correctly. But it is author's right to close the question when he decides and to assign points to any answer.

So, I have to say: Sorry Captain, you have not been awarded. But it is not necessary because we all know points are not assigned as they could or should be sometimes. I could ask why there is no assistance points given to my answer containing the "viewer" source code. :-)  Do you think it is important?

Regarding your viewer: I like it shows some messages in my regional language but it is still not product which I would release. Beside the fact it was posted too late, the first bug raised on the second click, some small DBFs were not readable etc. (one of them is attached). Several other free viewers from posted links will do much better job.

And the last question: Why do you think your viewer should work on miyahira's computer?

Independently on above paragraphs, every database expert is welcome here.

VFPtest.DBF.txt
As I understand, the viewer needs to be VFP free.

I searched Google and got the links that I posted above. I could not open them that day because of low bandwidth. But I have seen a lot of nice DBF Viewers.

I wrote my own which translates it to HTML but it needs VFP :-).

I answered a lot of threads on this website and many times I don't get awarded the points. Specially there is this one guy who I slapped a comment to his face that he wants us the experts to do his work. He does not think or work. He just copy/pastes our code into his program.
I would call it pure management :-)

BTW, we are discussing here which is good. SQL Server zones are different - authors are able to award the first solution posted ASAP even when it is not correct... And EE has introduced the "Closer award" for authors.

It seems I have to write my own DBF viewer. But it will be in C++ (to learn something).
Hi experts,

After reading you last comments, I wil answer why pcelba's comments was awarded.

Because I got a free DBF viewer from this link:

http://www.snapfiles.com/get/dbfviewerplus.html

It's a link that he recommended.

The other products that I got recommended, were not free or I couldn't run them.

As allways, thanks to all of you for your help.

Merry Christmas!