txt文件导入dbf问题

时间:2021-08-22 04:41:44
求教~
有n个以dbf某字段命名的txt文件,想把txt文件的内容导入到其对应dbf记录的备注字段里,如何操作?

8 个解决方案

#1


楼主的意思应该是:有n个以dbf某字段中 内容命名的的txt文件,想把txt文件的内容导入到其对应dbf记录的备注字段里
REPLACE ALL 备注字段名 WITH FILETOSTR(ALLTRIM(某字段名)+[.TXT]) &&如果某字段内容中包含.TXT字样,则不需要加.TXT

#2


转自 VFP 帮助文件:

在下面示例中,先将备注字段 notes 的内容复制到文件 Test.txt中,然后将 Test.txt 的内容追加到备注字段。最后,用 Test.txt 的内容替换备注字段中的内容。 
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && 打开 Employee 表
WAIT WINDOW '现在在显示 Employee 表的 notes 备注字段内容 - 按 ESC' NOWAIT
MODIFY MEMO notes NOEDIT  && 打开 notes 备注字段
COPY MEMO notes TO test.txt  && 从备注字段创建 test 文件
WAIT WINDOW '现在显示 TEST.TXT 文本文件内容 - 按 ESC' NOWAIT
MODIFY FILE test.txt NOEDIT && 打开文本文件
WAIT WINDOW '现在添加 Employee 表的notes字段值了 - 按 ESC' NOWAIT
APPEND MEMO notes FROM test.txt  &&添加文本文件内容
MODIFY MEMO notes NOEDIT  &&再次显示备注字段内容
WAIT WINDOW '现在覆盖 Employee表的 notes字段 - 按 ESC' NOWAIT
APPEND MEMO notes FROM test.txt OVERWRITE  &&替换 notes 字段内容
MODIFY MEMO notes NOEDIT NOWAIT
DELETE FILE test.txt

#3


引用 1 楼 lygcw9602 的回复:
楼主的意思应该是:有n个以dbf某字段中 内容命名的的txt文件,想把txt文件的内容导入到其对应dbf记录的备注字段里
REPLACE ALL 备注字段名 WITH FILETOSTR(ALLTRIM(某字段名)+[.TXT]) &&如果某字段内容中包含.TXT字样,则不需要加.TXT

对就是这个意思 但是运行语句后 提示“文件不存在” 请指教

#4


txt文件导入dbf问题
表结构如图,同时有123456789.txt和987654321.txt文件两个,要把这两个txt文件里的内容追加到对应记录的备注字段里(字段名为zw)
运行 REPLACE ALL zw WITH FILETOSTR(ALLTRIM(ksh)+[.TXT])
后提示“文件不存在”  求指教

#5


文件 123456789.txt 在当前目录下吗?
如果不在,需要加上路径。

#6


如:
追加:
Replace All zw With Filetostr("c:\"+Alltrim(ksh)+".txt") Additive

改写(覆盖)
Replace All zw With Filetostr("c:\"+Alltrim(ksh)+".txt")

#7


引用 5 楼 apple_8180 的回复:
文件 123456789.txt 在当前目录下吗?
如果不在,需要加上路径。

已加路径还是提示“文件不存在” 何解?

#8


问题已解决,是多了一条没有txt的记录。谢谢

#1


楼主的意思应该是:有n个以dbf某字段中 内容命名的的txt文件,想把txt文件的内容导入到其对应dbf记录的备注字段里
REPLACE ALL 备注字段名 WITH FILETOSTR(ALLTRIM(某字段名)+[.TXT]) &&如果某字段内容中包含.TXT字样,则不需要加.TXT

#2


转自 VFP 帮助文件:

在下面示例中,先将备注字段 notes 的内容复制到文件 Test.txt中,然后将 Test.txt 的内容追加到备注字段。最后,用 Test.txt 的内容替换备注字段中的内容。 
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee  && 打开 Employee 表
WAIT WINDOW '现在在显示 Employee 表的 notes 备注字段内容 - 按 ESC' NOWAIT
MODIFY MEMO notes NOEDIT  && 打开 notes 备注字段
COPY MEMO notes TO test.txt  && 从备注字段创建 test 文件
WAIT WINDOW '现在显示 TEST.TXT 文本文件内容 - 按 ESC' NOWAIT
MODIFY FILE test.txt NOEDIT && 打开文本文件
WAIT WINDOW '现在添加 Employee 表的notes字段值了 - 按 ESC' NOWAIT
APPEND MEMO notes FROM test.txt  &&添加文本文件内容
MODIFY MEMO notes NOEDIT  &&再次显示备注字段内容
WAIT WINDOW '现在覆盖 Employee表的 notes字段 - 按 ESC' NOWAIT
APPEND MEMO notes FROM test.txt OVERWRITE  &&替换 notes 字段内容
MODIFY MEMO notes NOEDIT NOWAIT
DELETE FILE test.txt

#3


引用 1 楼 lygcw9602 的回复:
楼主的意思应该是:有n个以dbf某字段中 内容命名的的txt文件,想把txt文件的内容导入到其对应dbf记录的备注字段里
REPLACE ALL 备注字段名 WITH FILETOSTR(ALLTRIM(某字段名)+[.TXT]) &&如果某字段内容中包含.TXT字样,则不需要加.TXT

对就是这个意思 但是运行语句后 提示“文件不存在” 请指教

#4


txt文件导入dbf问题
表结构如图,同时有123456789.txt和987654321.txt文件两个,要把这两个txt文件里的内容追加到对应记录的备注字段里(字段名为zw)
运行 REPLACE ALL zw WITH FILETOSTR(ALLTRIM(ksh)+[.TXT])
后提示“文件不存在”  求指教

#5


文件 123456789.txt 在当前目录下吗?
如果不在,需要加上路径。

#6


如:
追加:
Replace All zw With Filetostr("c:\"+Alltrim(ksh)+".txt") Additive

改写(覆盖)
Replace All zw With Filetostr("c:\"+Alltrim(ksh)+".txt")

#7


引用 5 楼 apple_8180 的回复:
文件 123456789.txt 在当前目录下吗?
如果不在,需要加上路径。

已加路径还是提示“文件不存在” 何解?

#8


问题已解决,是多了一条没有txt的记录。谢谢