可能性の重複:私はちょうどVBAのビットを学び始めました
Excel VBA INSERT INTO statement using variables挿入Excelのセル値
、私はからデータをインポートすることができましたSQL Serverで作成されたDBがうまくいきましたが、Excelから同じDBにデータをエクスポートしようとしています。
罰金以下の作品:
Dim cnState As ADODB.Connection
Dim sSQL As String
Set cnState = New Connection
With cnState
.Provider = "SQLOLEDB"
.ConnectionString = "server=.\SQLEXPRESS; Trusted_Connection=Yes; database=SIM_PROJ"
.Open
End With
sSQL = "Insert Into Alunos Values ('3', 'Tiago Aleixo', 'Rua dos Pincéis' , '1990-05-26' , 'M' , 'Multimédia' , 'D')"
cnState.Execute sSQL
End Sub
Private Sub btn_goMenu_Click()
Sheet1.Select
唯一の問題は、私が唯一、私は全体のラインを読むことができるようにしたいコードを実際の値を挿入する方法を見つけ出すことができた、ありますExcelと私のDBに挿入します。このような
何か:
sSQL = "Insert Into Alunos Values (Range(A4).Value, Range(B4).Value, Range(C4).Value, Range(D4).Value, Range(E4).Value, Range(F4).Value, Range(G4).Value)"
IE、私は唯一の4行目からの値を挿入することにしたいです。
SQL = "INSERT INTO alunos VALUES ('" + Range(A4).Value + "', '" + Range(A5).Value + "', '"...
あなたはルックスは、それがデータベースに文字列「範囲(A4).Valueの」を挿入しようとするilke示し構文:
私は次のことを試してみました: "Range +" Range + "Range +" Range + "Range +" Range + "Range +" Range + "Range +" Range + "Range +" Range + "Range +" Range + "Range"値+ "'、" +範囲( "F3")。値+ "'、" +範囲( "E3" '' + Range( 'G3')。Value + "')"' タイプミスマッチエラーです。これはデータベースに日付を挿入しようとしている可能性がありますか... –
はい、そうですおそらく。単純な古い数値や文字列である列をテストとして使用してみてください。 Excelは日付を整数として格納します。私はあなたがVBAを通して普通のExcel機能をどのように呼び出すのかは分かりませんが、TEXT(Range(A3)、 "yyyy-mm-dd")を試してみると何が得られるか見てみましょう。 SQL Serverが日付として受け入れる文字列を作成したいと思っていますが、おそらくロケールの値がyyyy-mm-ddの値があなたの例と一致するように見えると思います。 –
Excelからワークシート関数(TEXTなど)を呼び出す方法については、[リンク先](http://www.cpearson.com/excel/callingworksheetfunctionsinvba.aspx)を参照してください。 –