怎样快速定位并调用EXCEL某工作表中的小表

spring_sw 2011-11-02 12:16:05
十豆三大侠并各位高手:
  想请教一个困扰已久的问题:
  
有一个几千条记录的dbf数据表,里面每一条记录的某一字段(价格)的详细构成情况,都在一个excel文件的3个工作表中的某个位置以小表格的形式有详细的细目构成列表明细,我想在查询某一dbf记录时实现自动调用这个工作表中的相应小表, 。如果把每个小表以手动的方式截取放到MEMO字段,显然工作量太大,不知有没有好的方法?另外,因为这个excel表很大,打开很慢,调用时有没有快捷一点的方法(这个excel表工作表中表里有表,似乎很难转成DBF表格)?先在此谢过!
...全文
721 33 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
nxwjq 2021-07-27
  • 打赏
  • 举报
回复

用艾敦制表神器插件可以实现
img

十豆三 2011-11-07
  • 打赏
  • 举报
回复
spring_sw 2011-11-07
  • 打赏
  • 举报
回复
谢谢十豆三老师,终于下载到了。

问了这么多问题,按理应该结帖了,但问题好像更多了,看了许多论坛上相关文章,最终感到许多似乎没有明确的结果:比如:
1、编译后一闪而过的问题(调整showindow、加read events等问题依旧),似乎没人点出核心的关键原因.
2、编译中出现的apphook.vcx正在使用的错误提示,论坛上有很多“解决”方法,但试了一下,好像没一个 有用的。
3、编译后原目录内的文件不能双击打开了。
4、还有我在这21楼的程序报错问题(if cd1=m1提示找不到变量)

 天啊!10多年的vfp经历(虽然中间停顿了很长时间),我从没这么痛苦过。
十豆三 2011-11-07
  • 打赏
  • 举报
回复
我上传到这里了:
汉化的vfp9.0帮助文件
http://download.csdn.net/detail/apple_8180/3765747
十豆三 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 spring_sw 的回复:]
引用 28 楼 apple_8180 的回复:
VFP9.0汉化帮助文件下载地址:
http://www.nbdown.net/file/2353.html
http://www.mzvfp.com/bbs/dispbbs.asp?boardid=2&Id=86826

谢谢热心提供,但没法下载,1th链接我没该站金币,2th链接我还没开通支付宝。
[/Quote]
址址2不需要付钱,是论坛金币。
spring_sw 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 apple_8180 的回复:]
VFP9.0汉化帮助文件下载地址:
http://www.nbdown.net/file/2353.html
http://www.mzvfp.com/bbs/dispbbs.asp?boardid=2&Id=86826
[/Quote]


谢谢热心提供,但没法下载,1th链接我没该站金币,2th链接我还没开通支付宝。
spring_sw 2011-11-06
  • 打赏
  • 举报
回复
求救:为什么上述程序中 if cd1=m1  语句报“找不到变量m1” ?。

另谁可提供VFP6.0帮助文件,发邮件或离线文件到 qq:459629910
spring_sw 2011-11-06
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 apple_8180 的回复:]
你安装完 vfp ,就有帮助文件。

换一个变量名称试试。
[/Quote]

VFP6.0 安装了多次,帮助文件一直灰色。我的安装盘上没有此文件,网上下载了几回,都没用。

m1出错的问题,也试过更换变量,可都没用。程序在有时真的莫名其妙。
十豆三 2011-11-06
  • 打赏
  • 举报
回复
你安装完 vfp ,就有帮助文件。

换一个变量名称试试。
spring_sw 2011-11-04
  • 打赏
  • 举报
回复

bitxor(),没明白你说的什么意思。

补充:zm1=bitxor(asc(subs(allt(a2),i,1)),9) 最后的9不能改大于1位数的原因是不是异或比较时bitxor()中的两个数后者不能超出前者的二进制位数?
spring_sw 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 apple_8180 的回复:]
1、哪句报错?
2、bitxor(),没明白你说的什么意思。
[/Quote]

1、if cd1=m1  语句报错。
2、窗口调试时,zm1=bitxor(asc(subs(allt(a2),i,1)),9) 最后的9不能改大于1位的,否则下一句cd1=cd1+chr(zm1)报错。
十豆三 2011-11-04
  • 打赏
  • 举报
回复
1、哪句报错?
2、bitxor(),没明白你说的什么意思。
spring_sw 2011-11-04
  • 打赏
  • 举报
回复
前辈:下面的程序总提醒我找不到变量m1,可调试窗已显示m1的具体值了,不知为什么?另其中的zm1=bitxor(asc(subs(allt(a2),i,1)),9) 最后一位9不能是大于2位数的,是不是bitxor比对时不能超出前面的二进制位数?



IF ( .NOT. empty(thisform.combo1.value)) .and. ( .NOT. empty(thisform.text1.value))
* clea all
use mi
a1=allt(thisform.combo1.value)
a2=allt(thisform.text1.value)

n=1
* m1=""
DO WHIL n<=3
loca for allt(yh)==a1

IF .not. eof()
m1=allt(code)
cd1=""

for i=1 to len(allt(a2))
zm1=bitxor(asc(subs(allt(a2),i,1)),9)
cd1=cd1+chr(zm1)
endf

if cd1=m1 
jc=1
exit
endi

if cd1#m1 .and. n<3
 k=3-n 
messagebox("密码错误,你还有 "+k+" 次机会!",60,"密码错误提示")
n=n+1

else
jc=0
exit
endi

ELSE
jc=2
exit
ENDI

ENDD

do case
case jc=0
messagebox("非授权用户,你无权使用本系统!",60,"")
clear events
release thisform
quit

case jc=1
release thisform
do form main

case jc=2
messagebox("用户名错误,请检查后重新输入!",60,"提示")
retu
endc

ENDI
spring_sw 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 apple_8180 的回复:]
引用 17 楼 spring_sw 的回复:
不用表单中的 Grid 来显示主要是因为一是grid显示的表太小,另一方面对grid不是很熟练,感觉代码编写太复杂,不如brow不得快。
不过您的建议很好,可解决触发问题,只是在grid的显示栏中点击某行时让其触发的代码应写在哪里?

写到 AfterRowColChang 事件中
[/Quote]

非常谢谢!原来grid还可以这样。
spring_sw 2011-11-04
  • 打赏
  • 举报
回复
非常感谢,原来grid还可以这样。
spring_sw 2011-11-03
  • 打赏
  • 举报
回复
不用表单中的 Grid 来显示主要是因为一是grid显示的表太小,另一方面对grid不是很熟练,感觉代码编写太复杂,不如brow不得快。
不过您的建议很好,可解决触发问题,只是在grid的显示栏中点击某行时让其触发的代码应写在哪里?
十豆三 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 spring_sw 的回复:]
碰到一个细节问题,我是以 brow ...nomodify 来显示查到的dbf记录的,要浏览这个记录的详细构成,需要查找excel文件“价构成”中的内容,但brow 生成的不是表单,怎么触发这个动作呢? 最好能在双击dbf 相应记录时实现对另一表的查询。
[/Quote]为何不用表单,并在表单中用 Grid 显示你的 dbf 内容,对 Grid 写相应代码。
spring_sw 2011-11-03
  • 打赏
  • 举报
回复


碰到一个细节问题,我是以 brow ...nomodify 来显示查到的dbf记录的,要浏览这个记录的详细构成,需要查找excel文件“价构成”中的内容,但brow 生成的不是表单,怎么触发这个动作呢? 最好能在双击dbf 相应记录时实现对另一表的查询。
spring_sw 2011-11-03
  • 打赏
  • 举报
回复
谢谢前辈指点,我按此方法试试,看看是不是笨到不能授教了。
十豆三 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 spring_sw 的回复:]
回复十豆三前辈:关于用录制宏来解决的方法,可否详细些,因为我的功力很低,惭愧!
[/Quote]如何在 Excel 中如何录制宏:
打开你的 Excel,“工具” 菜单,“宏” 子菜单,选择 “录制新宏”,“确定”,
手工操作你要完成的工作,操作完了,点 “停止录制”。
再打开,“工具” 菜单,“宏” 子菜单,选择 “宏”,选择你的录制宏名称,点击“编辑”,就能看到你刚才手工操作的 VBA代码 了,有了这段代码,就可以参照写程序了。
加载更多回复(13)
武汉派先科技有限公司推出的<>专业版是市场上最为强大便捷的Excel比较工具。它为工作中经常需要进行数据比较的用户提供了完美的解决方案。无论你的数据是存放在Excel文件,还是存放在文本文件,或者存放在Access、Microsoft SQL数据库,<>专业版都可以提供快速比较,大量节省您的时间和精力,将您从枯燥冗长的数据海洋中解放出来,从而让您的工作变得轻松愉快。 <>专业版不同于其它同类产品。其它同类产品在比较时候,要么是一个插件,要么需要显式地在前台运行Excel程序。而百分百比较Excel完全独立运行,与后台的Excel程序协同完成工作,不需要来回切换程序。 本产品的主要特性点: 1、 支持对任意Excel内容的比较 • 比较整个工作簿(workbook),并且可以对工作簿中的每个工作表进行单独的比较设置 • 比较整个工作表(worksheet),并允许多种比较设置 • 比较工作表中的已命名区域(named range),并允许多种比较设置 • 比较工作表中用户运行时自由选定的任何区域(range),并允许多种比较设置 2、 支持对远程数据的比较 • 支持从文本文件(Text/CSV)中导入数据比较 • 支持从Access数据库中导入数据比较 • 支持从微软SQL数据库中导入数据比较 3、支持灵活的多种比较设置 • 支持按第一行名字配对比较 • 支持按Excel所在列位置配对比较 • 支持按范围(range)内的单元坐标配对比较 (同一坐标的单元配对比较) • 支持用户自由定义的列映射配对比较 • 支持值和公式的比较 • 支持大小写区分 • 所有的比较设置均可保存供下次调用 4、自动生成XML格式的比较结果报表 • XML格式保留对差异单元的加亮显示 • XML格式使您的生意伙伴对比较结果的自动再处理(程序处理)成为可能 • XML格式允许没有安装微软Excel的生意伙伴用互联网浏览器进行显示比对 • XML格式也允许你在Excel中对比较结果进行显式和分析 5、原始Excel文件和比较结果显示在同一个程序窗口中,无需切换 6、可一键快速定位比较结果对应的原始Excel单元 7、独特的比较算法,即使大量的数据也可快速比较 8、友好的用户界面,让你的操作轻松自如.

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧