http://my.csdn.net/my/album/detail/1658630#1658630
ACCESS数据库中建立的表
http://my.csdn.net/my/album/detail/1658630#1658632
txt文本中的数据格式,红色标记部分是想要导入到数据库表中的内容。
Private Sub InputDelay_Click()
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=VisssimData.mdb"
cnn.ConnectionTimeout = 30
cnn.OpenDim sSql As String
Dim fileRoute, vlrFilePath As String
Dim id, TIME, NO, Car, CarType, Delay As String
Dim x As Integer
fileRoute = Form2仿真文件选择.SimFileRoute.Text
If fileRoute = "" Then
Beep
MsgBox "请指定仿真文件路径", vbExclamation + vbOKOnly, "提示"
Exit Sub
End If
x = InStr(fileRoute, ".")
vlrFilePath = Left$(fileRoute, x - 1) + ".vlr"
Open vlrFilePath For Input As #1
Do While Not EOF(1)
Input #1, TIME, NO, Car, CarType, Delay
sSql = "insert into CompileDelay(ID,TIME, NO, Car, CarType, Delay) values (ID,TIME , TrimNO ,Car,CarType ,Delay)"
cnn.Execute (sSql)
Loop
Close #1
MsgBox "完成"
Set cnn = Nothing
End Subaccess数据库vb
ACCESS数据库中建立的表
http://my.csdn.net/my/album/detail/1658630#1658632
txt文本中的数据格式,红色标记部分是想要导入到数据库表中的内容。
Private Sub InputDelay_Click()
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=VisssimData.mdb"
cnn.ConnectionTimeout = 30
cnn.OpenDim sSql As String
Dim fileRoute, vlrFilePath As String
Dim id, TIME, NO, Car, CarType, Delay As String
Dim x As Integer
fileRoute = Form2仿真文件选择.SimFileRoute.Text
If fileRoute = "" Then
Beep
MsgBox "请指定仿真文件路径", vbExclamation + vbOKOnly, "提示"
Exit Sub
End If
x = InStr(fileRoute, ".")
vlrFilePath = Left$(fileRoute, x - 1) + ".vlr"
Open vlrFilePath For Input As #1
Do While Not EOF(1)
Input #1, TIME, NO, Car, CarType, Delay
sSql = "insert into CompileDelay(ID,TIME, NO, Car, CarType, Delay) values (ID,TIME , TrimNO ,Car,CarType ,Delay)"
cnn.Execute (sSql)
Loop
Close #1
MsgBox "完成"
Set cnn = Nothing
End Subaccess数据库vb
字串类型 '字串值'
不好意思啊,我是新手,还说不是很明白您的意思。
意思是说,我必须先把txt中的数值提取之后,再赋值给表吗,谢谢
那么你要存入数据库是123,而不是ID这两个字母,那么你在执行之前,就需要将ID转换为123
2,time是系统关键字,建议不要用为表名与字段名使用,一定要用则需要用括号:
insert into CompileDelay(ID,[TIME], NO, Car, CarType, Delay)
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=VisssimData.mdb"
cnn.ConnectionTimeout = 30
cnn.OpenDim sSql As String
Dim fileRoute, vlrFilePath As String
'Dim ID, TIME, NO, Car, CarType, Delay As String
Dim x As Integer
fileRoute = Form2仿真文件选择.SimFileRoute.Text
If fileRoute = "" Then
Beep
MsgBox "请指定仿真文件路径", vbExclamation + vbOKOnly, "提示"
Exit Sub
End If
x = InStr(fileRoute, ".")
vlrFilePath = Left$(fileRoute, x - 1) + ".vlr"
Dim y As Integer
y = 0
Dim yy As Integer
yy = 0
Dim a As Integer
a = 0
Dim w As Integer
w = 0
Dim z As Integer
z = 0
Dim l() As String
Dim tempstr As String
Open vlrFilePath For Input As #2
Do While Not EOF(2)
Line Input #2, tempstr
y = y + 1
If InStr(tempstr, "时间;") Then
y = 0
End If
Loop
Close #2
'yy = y
ReDim ID1(y - 1) As Integer
ReDim TIME1(y - 1) As Double
ReDim NO1(y - 1) As Integer
ReDim Car1(y - 1) As Integer
ReDim CarType1(y - 1) As Integer
ReDim Delay1(y - 1) As Double
Open vlrFilePath For Input As #2
Do While Not EOF(2)
Line Input #2, tempstr
a = a + 1
If InStr(tempstr, "时间;") Then
w = a
End If
If w > 0 And a > w Then
l = Split(tempstr, ";")
z = z + 1
ID1(z - 1) = z
TIME1(z - 1) = Trim(l(0))
NO1(z - 1) = Trim(l(1))
Car1(z - 1) = Trim(l(2))
CarType1(z - 1) = Trim(l(3))
Delay1(z - 1) = Trim(l(4))
End If
Loop
Close #2
'Open vlrFilePath For Input As #1
' Do While Not EOF(1)
'Input #1, ID, TIME, NO, Car, CarType, Delay
'sSql = "insert into CompileDelay(id, [TIME], NO, Car, CarType, Delay) values ( ID1 , TIME1 , NO1 , Car1 , CarType1 , Delay1 )"
sSql = "insert into CompileDelay(id, [TIME], NO, Car, CarType, Delay) values (" & ID1 & "," & TIME1 & "," & NO1 & "," & Car1 & ", " & CarType1 & "," & Delay1 & ")"
cnn.Execute (sSql)
' Loop
'Close #1
MsgBox "完成"
Set cnn = Nothing
End Sub