【问题标题】:How do I access the dBase table that was automatically opended in dBASE8?如何访问在 dBASE 8 上自动打开的 dBase 表?
【发布时间】:2014-02-21 00:07:26
【问题描述】:

我们最近购买了 dBASE 8 作为 Visual dBASE 的替代品,它不再适用于 Windows 7/8 64 位。我们不打算将其用于编程,而只是用于 .dbf 文件的简单操作,例如添加或删除列、过滤和导出等。

将 dBASE 8 设置为 .dbf 文件的默认程序后,双击 .dbf 文件会自动打开并显示该表。

Visual DBase 用于在命令窗口中自动添加一行

use "c:\some\dir\table.dbf"

并且输入到该窗口的任何命令都将在该表上运行。这似乎与 dBASE 8 不同。上面的行没有被添加,如果我输入一个需要打开表的命令,比如

set filter to strasse="blablub"

我得到文件打开对话框。

有什么办法可以恢复“旧”行为?或者有什么简单的方法可以切换到已经显示的表格,而无需再次输入名称或在文件打开对话框中选择它?

【问题讨论】:

  • 也许最好问问 dbase 支持?
  • 你是对的,我做到了。还没有答案。

标签: dbase


【解决方案1】:

我在 dbase 新闻组中有一个 answer,它解决了部分问题

这个程序

**********************
* GrabBrowse.prg
* Catches the table that was opened in an instance of PLUS
*  by double-clicking on a table in Windows Explorer.
* Sets the query as _app.q.
* Reports the tablename.
* Returns the query.
* Opens the table with USE.

private q
q = findinstance("query")
? q.rowset.tablename
_app.q = q

if not empty(findinstance("query", q))
  msgbox("There is more than one query active:  ";
    + findinstance("query", q).rowset.tablename ;
    + chr(13) + "But still put in _app.q and USEd.", ;
    "GrabBrowse", 48)
endif

use (q.rowset.tablename)

return (q)
**********************

存储在 dBASE 搜索路径中的文本文件中并使用

do GrabBrowse

切换到表,因此任何命令都会影响该表。 例如

set filter to strasse="blablub"

将为该表设置过滤器。不幸的是,这不会影响已经打开的浏览窗口,而只会影响之后打开的浏览窗口。

但这是部分解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 2015-05-16
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多