前提・実現したいこと
エクセルのシートに他シートのデータをSQLで入力すると、
文字列先頭にシングルクオーテーションがつくのを回避したい
(SQLで入力したい理由は、入力シートとデータ一覧を別ブックにして、ブックを開かずにデータ一覧に書き込みたいためです)
(ScreenUpdatingは理解しています。)
発生している問題・エラーメッセージ
入力したデータの文字列にシングルクオーテーションが表示される
該当のソースコード
VBA
1 2Sub test() 3 4 Dim clm1 As Long 5 Dim clm2 As String 6 Dim clm3 As String 7 8 With Worksheets("入力シート") 9 clm1 = .Range("A1").Value 10 clm2 = .Range("D1").Value 11 clm3 = .Range("D2").Value 12 End With 13 14 15 Dim objCn As New ADODB.Connection 16 Dim objRS As ADODB.Recordset 17 Dim strSQL As String 18 19 'コネクション 20 With objCn 21 .Provider = "Microsoft.ACE.OLEDB.12.0" 22 .Properties("Extended Properties") = "Excel 12.0" 23 .Open ThisWorkbook.Path & "\test.xlsm" 24 End With 25 26 'SQL作成 27 strSQL = "" 28 strSQL = strSQL & " INSERT INTO [一覧データ$] (列1,列2,列3)" 29 strSQL = strSQL & " VALUES ( " & clm1 & "," & "'" & clm2 & "'" & "," & "'" & clm3 & "'" & ")" 30 31 '接続 32 Set objRS = New ADODB.Recordset 33 Set objRS = objCn.Execute(strSQL) 34 35 36 '切断 37 objCn.Close 38 Set objRS = Nothing 39 Set objCn = Nothing 40End Sub 41
試したこと
事前にデータ一覧シートの書式設定を文字にしてもダメでした。
データを書きこんだ後に書式設定のクリアをすれば消えますが、その場合ブックを開かないといけないので、
SQLで入力する意味がないなと思っております。
接頭辞については以下のサイトを見ました。
接頭辞の解説と削除方法
excelのバージョンは2010です。
近々パソコンの買い替え予定があり、2019になる予定です。
どうぞよろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/30 00:48
2020/10/30 04:23 編集
2020/10/30 04:42 編集
2020/10/30 05:16 編集
2020/10/30 05:27 編集
2020/10/30 05:40
2020/10/30 08:26 編集
2020/10/30 11:02