首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb与ACCESS数据库解决办法

2013-11-30 
vb与ACCESS数据库本帖最后由 bcrun 于 2013-11-30 12:00:47 编辑http://my.csdn.net/my/album/detail/1658

vb与ACCESS数据库
本帖最后由 bcrun 于 2013-11-30 12:00:47 编辑 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.Open

Dim 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 Sub
access 数据库 vb
[解决办法]
sSql = "insert into CompileDelay(ID,TIME, NO, Car, CarType, Delay) values (ID,TIME , TrimNO ,Car,CarType ,Delay)" 

时间类型值格式必须是 #日期时间值#
字串类型            '字串值'
[解决办法]
另外,你这个sql将变量名当作变量值处理了,必须进行值提取,并转换为文本
[解决办法]
1,ssql=" insert into 表名(字符型字段,数值型字段,日期型字段) values('"& 字符型变量 &"',"& 数值型变量 &",#"& 日期型变量 &"#)"
2,time是系统关键字,建议不要用为表名与字段名使用,一定要用则需要用括号:
   insert into CompileDelay(ID,[TIME], NO, Car, CarType, Delay)
[解决办法]
SQL 命令是作为字符串传递给数据库引擎的。

你所引用的变量值,必须通过转码变为字符串的一部分:

sSql = "insert into CompileDelay(ID, [TIME], NO, Car, CarType, Delay) values (" & ID & ",#" & Format(TIME, "yyyy-mm-dd HH:nn:ss") & "#,'" & TrimNO & "','" & Car & "','" & CarType "'," & Delay & ")"

其中,数字不加引号,字符加单引号,日期加井号。因为不知道你的数据表域类型,猜测地给出一个例子。自己调整一下。

热点排行