首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过visual basic 6在ms access中提交插入查询。

无法通过visual basic 6在ms access中提交插入查询。
EN

Stack Overflow用户
提问于 2014-09-24 17:00:34
回答 1查看 1K关注 0票数 1

我编写了这个vb6代码来提交中的insert sql查询:

代码语言:javascript
运行
复制
Private Sub InsertData()
    Dim sql As String
    Set MyData = OpenDatabase(App.Path + "\Archive.mdb")
    sql = "INSERT INTO Presenze(Enterprise, Employss, mYear, mMonth, mDay, WorkHours) SELECT T.[Enterprise], P.UserCode, T.[Yr], T.[Mnth], T.[Dy], T.[WorkHRS] FROM TableData T INNER JOIN Personal P On P.PID= T.[PID]"
    Workspaces(0).BeginTrans
        Mydata.Execute sql
    Workspaces(0).CommitTrans
    Call MsgBox(Mydata.RecordsAffected)
End Sub

我想将一些数据插入到表中,但是数据库中没有写入任何数据。MsgBox显示受影响的0行。但是当我在上手动运行查询时,它工作得很好,有两个受影响的行。

有谁可以帮我?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 17:45:37

有关示例,可以使用"Execute Method (ADO Connection)",参见http://msdn.microsoft.com/en-us/library/windows/desktop/ms675023%28v=vs.85%29.aspx

代码语言:javascript
运行
复制
Private Sub InsertData()
    Dim sql As String, num As Long, Con As New adodb.Connection

    sql = "INSERT INTO Presenze(Enterprise, Employss, mYear, mMonth, mDay, WorkHours) SELECT T.[Enterprise], P.UserCode, T.[Yr], T.[Mnth], T.[Dy], T.[WorkHRS] FROM TableData T INNER JOIN Personal P On P.PID= T.[PID]"
        Con.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & App.Path + "\Archive.mdb" & ";PWD="  
    Con.Execute (sql, num, adExecuteNoRecords)

    If Con.State = 1 Then
        Con.Close
        Set Con = Nothing
    End If

    MsgBox num & " records were affected"
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26022551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档