ExcelVBA上の変数をMySQLに登録する

[戻る]
てきてき 2010/05/12(水) 10:43:43
お力をお貸し下さい。

ExcelVBAとMySQLでのデータのやりとりにおいて、MySQLのデータをExcelに持ってくるの
はできましたが、Excel上の変数データをMySQLにInsertするのができません。

下記は、Excel上の特定のセルの値をMySQLに登録するものです。con.Execute (・・の箇
所でエラーが発生します。正しい書き方を教えて下さい。PHPプログラムでは変数の前
に%をつけるようにありますが、これを試すとVBAの方で文法エラーとなります。

'ExcelのData範囲取得
Worksheets("Sheet2").Select

With Sheets("Sheet2")
    WrkRow = .Cells(Rows.Count, 1).End(xlUp).Row - 1        
    WrkCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    WrkRange = .Range("A2").Resize(WrkRow, WrkCol)        
End With

con.Execute ("insert into tb1 values(WrkRange(1,1),WrkRange(1,2),WrkRange
(1,3))")   ' ここでエラー

因みに、変数でなく、データ値そのものを直接与えるとうまくいきます。
con.Execute ("insert into tb1 values('B201','名前',30)")   'OK

上の例ではData範囲の1行目だけのデータ伝送ですが、全体を効率的に伝送したいのです
が。

以上、宜しくお願いします。

Blue 2010/05/13(木) 12:51:55
>con.Execute ("insert into tb1 values(WrkRange(1,1),WrkRange(1,2),WrkRange
(1,3))")
の内容をMsgBoxやらDebug.Printやらで確認してみましたか?

"から"までで囲うとそのなかは全て文字列として扱われます。

古いスレッドには追加発言できません。