关于EXCEl(25分)

  • 主题发起人 主题发起人 nickname
  • 开始时间 开始时间
N

nickname

Unregistered / Unconfirmed
GUEST, unregistred user!
在ODBC中我选用EXCEL3.0,4.0时是'SELECT DIRECTORY';用
5.0,97时是'SELECT WORKBOOK'.

1.这个'WORKBOOK'是什么东西.
2.我在Table的属性TableName中为什么不能选择任何表
 
2. 你必须将Table.Active置为False即可。在此之前是不能修改数据库名的!
 
(1)
workbook是 EXCEL 文件中的一个对象名
一个EXCEL文件中的工作表 在 EXCEL VBA里的名字就叫 workbook
翻译过来就是工作薄
(2)
不能选择任何表的原因有几个
1。如果你的ODBC配置错误,当然连接不到数据库,自然找不到数据表
2。看你的意思是要通过ODBC访问EXCEL表,如果EXCEL表里没有合适的
数据表(这个数据表要按指定格式的数据存放方式),也不可能访问到数据
3。如果EXCEL的WOOKBOOK指定有错,那也看不到
 
1.在VERSION我选择EXCEL97
2.WORKBOOK我选择用EXCEL97新建的BOOK1.XLS
3.在FORM中我先放了一个DATABASE,打开没有问题.
4.又放了一个TABLE,可是在TABLENAME中什么都没有.
请问正确的应该怎么做?
 
把问题往前赶赶
 
看来分数太少了,穷人日子不好过啊
 
请各位大小虾们指教
 
我特意做了一下,没发现您所说问题,顺序如下:
建立一个EXCEL表
输入下面的内容在SHEET1里
name age salary
1 11 100
2 22 200
3 33 300
4 44 444

保存为excel_DB。XLS
在ODBC里选择 "用户DSN" 英文大概是USER DSN吧
添加 选择 Microsoft Excel Driver 3.50.360
下一步后, 输入该数据源名字 为 excel_db
版本为默认的EXCEL97
然后按选定工作目录 ,选择刚才保存的 excel_DB.xls 文件
然后确定。 完成后
启动BDE ADMINISTRATOR ,可以看到刚才的EXCEL数据源已存在于BDE中
双击,可连接。 启动 SQL Explorer(Delphi3里叫Database Explorer)
可以进入进去浏览到刚才输入的数据于sheet1$表里(其他的两个表为
sheet2$,sheet3$)重启动DELPHI,开一个新工程,放一个TABLE元件上去,
TABLE的名字输入 sheet1$ , OPEN ,访问数据无问题

看来您的问题关键在于你没有使用 SQL Explorer (Delphi3里叫Database Explorer) 去看看这个EXCEL 数据源中有那些数据表, 我在DELPHI环境里也没有看到EXCEL表,
但是我在SQL Explorer里看到了表的名字,
要点: sql Explorer里要在view选项里选择上 system data
因为 EXCEL表定义为系统表, 是隐藏的,所以你在DELPHI环境里看不到那些表)

同时正因为EXCEL表在ODBC表达里为系统表,所以我用DELPHI无法更新数据

使用SQL 我没有测试,仅仅使用了tTable更新数据得到KEY 错误
 
多谢,原来如此.不过不能改表的话,不是让我去死,我记得从前
我用BTACHMOVE把ORACLE的数据装进了EXCEL中,当时全部是WIN3.1
上的东西,难道现在不成了吗,还得请你帮帮忙,TMD日本人催得紧.
 
顺便问个问题,在PUBILIC中我加了
PROCEDURE MYERROR(SENDER:TOBJECT;E:EXCEPTION);
出现了'UNSATISFIED........'错误,
可是把EXCEPTION换成其他的就成了,请指教
 
1. 这问题已经到了这一步, 剩下的问题俺认为不是该我做,而是该您去研究
怎么解决只读问题啦。 我提醒您表只读和本问题所问所比已经算超界。

2。如果你非要改表,而使用ODBC方式确实不可的话
使用OLE AUTOMATION 去调用 EXCEL 的VBA修改

我也是程序员,有自己的工作,没太多时间帮你研究问题喽

 
多人接受答案了。
 
另外,你提到了EXCEL 4。0和WIN31下的EXCEL5。0可以更改
使我想起来了一个做法,也许有希望

记的以前我用EXCEL开发, 那时候数据表没有多人共享的概念
而现在的EXCEL97有了多人共享表的概念,就有了锁定工作表。
建议你将EXCEL表保存为低版本的EXCEL表,看能否进行
 
喔喔喔, 是我的错, NICKNAME,你还有救

我好奇,打开了ODBC设置又仔细检查了一下, 发现ODBC配置中的选项
里该数据源竟然打着只读标记, 将那个检查框 DISABLE了
哈哈,一切OK了, 能够更新数据

这问题彻底结束了
 
太感谢了,其实我以前也改过ODBC中的OPTION,可是
仍然不成,刚刚我在EXCEL中改了SHARE WORKBOOK之类
的属性,现在也成了.更一听你说关于多人共享什么的,
我想现在该差不多了吧,很是麻烦你哟,我上网一个小时
15块钱,所以很少能来大富翁,不过能遇到各位高手还是
很荣幸的.

 
后退
顶部