注册 登录
编程论坛 VB6论坛

dbf表中如何提取“-”之前和之后的字符内容?

dengxsh 发布于 2018-01-08 15:23, 2103 次点击
表结构为:
考试地点           教学楼                 门牌号
 教3-201    (提取"-"之前字符)    (提取"-"之后字符)
————————————————
实现的效果:
考试地点           教学楼                 门牌号
 教3-201             教3                   201
————————————————
请问语句命令窗口中的语句该怎么写?
7 回复
#2
wmf20142018-01-08 16:07
sql语句如下:
select 考试地点,left(考试地点,instr(考试地点,'-')-1) as 教学楼,right(考试地点,len(考试地点)-instr(考试地点,'-')) as 门牌号 from dbf
#3
dengxsh2018-01-08 16:15
回复 2楼 wmf2014
老师,感谢您的解答!运行时提示“文件instr.prg”不存在?
#4
dengxsh2018-01-08 16:23
现将附件附上:
只有本站会员才能查看附件,请 登录
#5
wmf20142018-01-08 16:26
在vb中访问vfp数据库需要使用Microsoft Visual Foxpro Driver引擎连接吧,然后就可以使用sql语句了。在foxpro中用什么就不清楚了。
#6
wmf20142018-01-08 16:53
查了下,在vb中用Microsoft.Jet引擎也可连接,连接语句如下:
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=F:\TDDownload\拆分;Extended Properties=dBASE IV;Persist Security Info=False

注:“F:\TDDownload\拆分”是表“拆分.dbf”所在目录,相应sql语句如下:
select 考试地点,left(考试地点,instr(考试地点,'-')-1) as 教学楼,right(考试地点,len(考试地点)-instr(考试地点,'-')) as 门牌号 from 拆分.dbf

测试通过效果图如下:
只有本站会员才能查看附件,请 登录
#7
dengxsh2018-01-08 17:01
回复 6楼 wmf2014
请问:Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=F:\TDDownload\拆分;Extended Properties=dBASE IV;Persist Security Info=False,此句是在命令窗口中运行吗?
#8
xiangyue05102018-01-10 09:07
以下是引用dengxsh在2018-1-8 17:01:49的发言:

请问:Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=F:\TDDownload\拆分;Extended Properties=dBASE IV;Persist Security Info=False,此句是在命令窗口中运行吗?

VB连接数据库的Connection语句。
1