vb 截取批量截取指定字符串加入数据库

如下面文本:
what pron. & adj. 什么
is v. 是
your pron. 你的;你们的
name n. 名字
my pron. 我的
yes adv. 是;是的

单词后面有一个空格,将单词截取出来,作为数组words(),将解释截取出来作为数组explain(),将单词和解释加入数据库。
数据库为同文件夹下data.mdb,字段名为:单词、解释.
将所有单词加入单词字段中,相应解释加入解释字段中。
表名:word
文本文件在同文件夹下:words.txt
一楼的只是截取字符串成为数组,没有进一步导入数据库。
二楼的数据库操作有问题。不是导入文本文件,不能用open的方法。本来文本文件中的解释就有可能有空格,所以一楼的方法中再除去解释中的空格,就可以很容易转变为数据库格式。要是能直接写出导入数据库的代码,那就更好。

秋色烽火的回答虽然不够完整,但也很难得了。现在将问题稍为变一下,目的是化成容易转换成数据库的格式。怎么办呢?就是“将第一个空格变成另一个字符★,其它的空格和字符则不变。”秋色烽火如果回答这个问题,再加5分奖励。

给一个示例你 已经可以截取分列显示数据
当然代码是不完整的 至少不能完全符合你的要求 但最主要的三个
英文单词 词类 中文解释已经截取出来了 你自己加工一下再使用就可以了

Private Sub Command1_Click()
Dim Stream$, filepath$, vWord$, vAcceptation$, vExplain$, vS%, vE%
filepath = IIf(Right$(App.Path, 1) <> "\" And Right$(App.Path, 1) <> "/", App.Path & "\words.txt", App.Path & "words.txt")
Open filepath For Input As #1
Do While Not EOF(1)
Line Input #1, Stream
If Stream <> "" Then
vS = InStr(Stream, " ") '方法一:寻找第一个空格 如果所有单词中间均没空格隔断 则推荐用这个
vE = Len(Stream) - InStr(StrReverse(Stream), ".") + 1 '取反字串 查找最后一个英文句号
vWord = Mid$(Stream, 1, vS - 1)
vAcceptation = Mid$(Stream, vS, vE - vS + 2)
vExplain = Mid$(Stream, vE + 2)
Text1.Text = Text1.Text & vWord & vbTab & vAcceptation & vbTab & vExplain & vbCrLf
End If
Stream = ""
Loop
Close #1

End Sub

Private Sub Form_Load()
'Text1.MultiLine = True
'Text1.ScrollBars = 2
Text1.Text = ""
End Sub

'下面这两个自定义函数没继续写下去
'主要是构思另一种方法
'即循环匹配一个词类集合
'vFindStr调用vInStr
Function vFindStr(ByVal vStr As String) As String
Dim KeyWords() As String
End Function

Function vInStr(ByVal vStr As String, ByVal vKWord As String) As String

End Function
'what pron. & adj. 什么
'is v. 是
'your pron. 你的;你们的
'name n. 名字
'my pron.我的
'yes adv. 是;是的

=================================
我可以提供的就这么多 反正数据提取出来了
回答就这么多~~~~~~``
================================

vWord
vAcceptation
vExplain
这三个变量不就是对应的数据了吗?

你把
Text1.Text = Text1.Text & vWord & vbTab & vAcceptation & vbTab & vExplain & vbCrLf

这句改成对应的INSERT INTO 就可以了嘛

抱歉 我对数据库不太感冒 会一点但在VB中少用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-23
'加textbox两个,cmdbutton两个

Dim path As String
Dim words As String '单词加解释
Dim words2 As String '单词加解释
Dim word As String '单词
Dim explain As String '解释
Dim i As Long

Private Sub Command1_Click()

path = IIf(Right(App.path, 1) = "\", App.path, App.path & "\")

Open path & "words.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, words
If words <> "" Then
For i = 1 To Len(words)
If Mid(words, i, 1) = " " Then
word = Mid(words, 1, i - 1)
explain = Mid(words, i)

Open path & "data.mdb" For Append As #1 '写入单词库
Print #1, word & explain & "|" & vbCrLf
Close #1

End If
Next i
End If

Loop
Close #1

End Sub

Private Sub Command2_Click()

If Text1.Text = "" Then MsgBox "请输入要查询的单词": Exit Sub

path = IIf(Right(App.path, 1) = "\", App.path, App.path & "\")
Open path & "data.mdb" For Input As #1
Do While Not EOF(1)
Line Input #1, words2
For i = 1 To Len(words2)
If Mid(words2, i, 1) = "|" Then
If Mid(words2, 1, i - 1) = Text1.Text Then
Text2.Text = Mid(words2, i + 1)
Exit Sub
Else: MsgBox "查找完毕"
End If
End If
Next i
Loop
Close #1

End Sub

Private Sub Form_Load()
Command1.Caption = "导入单词库"
Text1.Text = "请在这里输入您要查找的单词"
Command2.Caption = "查找"
End Sub
'如果觉得好,请加点分
第2个回答  2008-01-23
考虑下正则表达式 很简单的
相似回答
大家正在搜