我有一个表,Access中的Checkinout,我想使用VB 6.0将该表的所有数据导入我的SQL Server数据库Checkinout表:
这是我的代码。它没有完美的工作[这很讽刺吗?]
For i = 1 To LstLog.ListItems.Count
For j = 1 To LstLog.ColumnHeaders.Count - 1
REC.Open "insert into xyz (EmpID, LogID,CheckTime,SensorID) Values ('" & _
LstLog.ListItems(i).SubItems(j) & "','" & _
LstLog.ListItems(i).SubItems(j) & "','" & _
LstLog.ListItems(i).SubItems(j) & "','" & _
LstLog.ListItems(i).SubItems(j) & "' )", CN, _
adOpenStatic, adLockBatchOptimistic
Next j
Next i
答案 0 :(得分:1)
您可以将DBConvert
用于此目的。
DBConvert for Access和MySQL迁移工具将Microsoft Access转换为MySQL服务器,将MySQL转换为Access。
您可以参考 referance:
的此直接链接http://dbconvert.com/convert-access-to-mysql-pro.php?DB=1
如果你想以编程方式进行,
循序渐进方法:
http://en.kioskea.net/faq/7342-export-access-database-to-mysql
答案 1 :(得分:0)
您使用了相同的子项ID。删除内部for循环,例如:
For i = 1 To LstLog.ListItems.Count
REC.Open "insert into xyz (EmpID, LogID,CheckTime,SensorID) Values ('" & _
LstLog.ListItems(i).SubItems(1) & "','" & _
LstLog.ListItems(i).SubItems(2) & "','" & _
LstLog.ListItems(i).SubItems(3) & "','" & _
LstLog.ListItems(i).SubItems(4) & "' )", CN, _
adOpenStatic, adLockBatchOptimistic
Next i