2017-11-11 4 views
0

VBAを使用してMySQLクエリを取得していて、セルから日付を使用するとエラーが発生します。私はループの目的のためにセルの値を使用する必要があります。私はそれが日付のフォーマットの互換性のためのExcelとMySQLの間の互換性だと思う。あなたの助けに感謝。ありがとう!excel(セル)の参照付き日付によるSQLクエリ

For R = 6 to lastrow 

SQLQuery2 = "SELECT * FROM Mfg.databasemodels_note where typeId = " & Sheets("Sheet1").Range("B" & R) & " AND date < " & Sheets("Sheet1").Range("I" & R) & " order by date asc limit 1;" 
+0

、私のセル値の一例@Excelosaurusが...変換2017年10月26日3時03分44秒AM – Kaison

答えて

0

短い答えは、あなたのSQL文字列は、MySQLに認識できないの日付が含まれていることです。文字列を作成した直後にブレークポイントを置き、コードを実行してから、文字列の内容を調べます。 MySQLはそれをどのように理解していますか? MySQLの標準物質(下記リンク)を1として

、ここでのコードのあなたの更新行です:

SQLQuery2 = "SELECT * FROM Mfg.databasemodels_note where typeId = " & Sheets("Sheet1").Range("B" & R).Value & " AND date < " & Format(Sheets("Sheet1").Range("I" & R).Value, "'YYYY-MM-DD Hh:NN:SS'") & " order by date asc limit 1;" 

本当の答えあなたは決して、これまでにゼロから、ユーザの入力を含むSQL文字列を構築したいということです、SQL injection risksのため。 How To Invoke a Parameterized ADO Query Using VBA/C++/Javaを読むと、自分の基本的な検証を実行する上で何をすべきかを簡単に概観できます。道によるVBA, ADO.Connection and query parameters/ADODB Command failing Execute with parameterised SQL query

+0

ありがとう:

基準物質:MySQL 5.7: The DATE, DATETIME, and TIMESTAMP Types/Visual Basic for Applications: Format Function

深い読み問題を解決する文字列の日付。どうもありがとう!! – Kaison