0

クエリは次のとおりです。

UPDATE [Tasks$] SET SPRINT = 1, THEME = "INTEGRATION" WHERE STORY = 1

データセットは次のとおりです。

SPRINT  THEME       STORY   Task        Estimate    Assigned     IN_PROGRESS    DONE
1       INTEGRATION 1       Some task   1           AA           Wed, Feb 6     Wed, Feb 13

ワークシートは「タスク」と呼ばれます。クエリはそれほど複雑ではなく、非常によく似たクエリが別のワークシートで機能しているため、なぜこれが機能しないのかわかりません。タスクワークシートには合計120行あります。

Executeメソッド呼び出しで次のエラーが発生します。

Sql = "UPDATE [Tasks$]..."
cn.Execute (Sql)

どんな助けでも大歓迎です。

アップデート:

これが接続の作成方法です。

Set conn = New ADODB.Connection
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";" & "Extended Properties=Excel 8.0;"
conn.Open
4

2 に答える 2

1

これは私のために働いた

Sub test()

    Dim cn As ADODB.Connection

    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";" & "Extended Properties=Excel 8.0;"
    cn.Open

    cn.Execute "UPDATE [Tasks$] SET SPRINT = 1, THEME = ""INTEGRATION"" WHERE STORY = 1"
    cn.Close

End Sub

私はあなたconncn変数があなたの投稿の単なるタイプミスであり、あなたのコードではないと仮定しています。また、最初にブックを保存する必要がありますが、まったく別のエラーが発生すると思います。そのワークシートを新しいブックにコピーして、同じコードが機能するかどうかを確認する必要があります。次に、シート名(および一致するコード)を変更してみてください。

于 2015-04-15T13:03:33.127 に答える
0

Excelセルに32,767文字を超える文字をエクスポートしているかどうかを確認します。Excelには最大32,767文字を含めることができるためです。 https://support.office.com/en-nz/article/Excel-specifications-and-limits-16c69c74-3d6a-4aaf-ba35-e6eb276e8eaa

于 2015-04-15T08:43:37.060 に答える