
EXCELのSQL文で下記にてAccessのテーブルから取得中ですが
mySQL = "SELECT 流通システム.協力者, 流通システム.ファイルパス, 流通システム.出品者へ入金 FROM 流通システム " & _
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#));"
下記にすると動きません
mySQL = "SELECT 流通システム.協力者, 流通システム.ファイルパス, 流通システム.出品者へ入金 FROM 流通システム " & _
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#)) AND ((流通システム.協力者 =" & TextBox1 & ")) ;"
協力者を追加したいのですが上記じゃ駄目みたいです
1つ以上の必要なパラメータの値が設定されていません
と出ます
大分はまっていしまいくたくたです
分かる方、急ぎでおしえてください
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
mySQL = "SELECT 流通システム.協力者, 流通システム.ファイルパス, 流通システム.出品者へ入金 FROM 流通システム " & _
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#));"
上記でパラメータを要求されていないということは
関数で「orderDate」、「shipDate」をSQLに渡して
いるのだろうと思いますが、
mySQL = "SELECT 流通システム.協力者, 流通システム.ファイルパス, 流通システム.出品者へ入金 FROM 流通システム " & _
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#)) AND ((流通システム.協力者 =" & TextBox1 & ")) ;"
では、「TextBox1」はユーザーフォームに設定
されたテキストボックスであるならば、これは
VBAの中でパラメータを設定してSQL文に渡す
必要があります。
たとえば、ユーザーフォームにコマンドボタンと
テキストボックスを設定します。コマンドボタンの
クリック時のイベントで以下のようにします。
「orderDate」と「shipDate」はどのように
設定しているのかわからないので、VBAの中で
設定しておくことにします。
ADOを使っているのでコード表の参照設定でADOにチェックを
入れておいてください。以下のような感じです。
Microsoft ActiveX Data Objects xx Library
AccessファイルはExcelと同じディレクトリに
あるものとします。
Private Sub CommandButton1_Click()
Dim myCon As New ADODB.Connection
Dim myCmd As New ADODB.Command
Dim myRS As New Recordset
Dim FileName As String
Dim strSQL As String
Dim orderDate As Date
Dim shipDate As Date
Dim param As ADODB.Parameter
orderDate = "2011/01/01"
shipDate = "2011/01/31"
strSQL = "SELECT 流通システム.協力者, 流通システム.ファイルパス, 流通システム.出品者へ入金 FROM 流通システム " & _
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#)) AND ((流通システム.協力者 =" & TextBox1 & ")) ;"
FileName = ThisWorkbook.Path & "\sample.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
With myCmd
.ActiveConnection = myCon
.CommandText = strSQL
End With
'----パラメータの設定------
Set param = New ADODB.Parameter
Set param = myCmd.CreateParameter("協力者", adVarChar, adParamInput, 30)
myCmd.Parameters.Append param
myCmd.Parameters("協力者") = TextBox1
'----ここまで----複数ある場合は同じように設定します。
Set myRS = myCmd.Execute
Worksheets("Sheet1").Range("A1").CopyFromRecordset myRS
Set myCmd = Nothing
myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing
End Sub
No.1
- 回答日時:
"WHERE(((流通システム.入金日)>=#" & orderDate & "#) AND ((流通システム.入金日)<=#" & shipDate & "#)) AND ((流通システム.協力者 =""" & TextBox1 & """)) ;"
としてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointのスライドの途中で...
-
Microsoft Office2016をOffice2...
-
パワーポイント「スライドショ...
-
音声マークを一括非表示にしたい。
-
パワーポイントを2in1でPDF化し...
-
パワーポイントについて。背景...
-
パワーポイントの表
-
PowerPointで、作成されたファ...
-
プレゼン時のポインター
-
PowerPointの置換の「すべて置...
-
パワーポイントでスライドショ...
-
【画像あり】パワーポイントの...
-
皆さん、おはようございます♪ ...
-
パワーポイントでBGMの終わりが...
-
パワーポイントで説明しながら...
-
ExcelのグラフをPowerPointに貼...
-
パワーポイント2019 図の透...
-
27歳の彼氏と電化製品を見に行...
-
Microsoft Outlook本文に、パワ...
-
MS Officeソフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
効率的なシステム、個人データ...
-
windows 11 へのアップグレード...
-
システムに入力する為の、テン...
-
詳しい方にご教授願います。 よ...
-
ページングシステム
-
WD Blue SN580 1TB をシステム...
-
「データが反映されるのが遅い...
-
「システマティック」「系統的...
-
教えて!ドロップシッピングに...
-
小さなシステムを構築する方法
-
システム更新とシステム更改の...
-
タブレットにナビゲーションバ...
-
ZOOM MRS-802CDについて
-
プリンターのドライバー・ソフ...
-
対処方法を知りたい
-
分散システムの透過性って?
-
access・無変換を強制的に有効...
-
縮退システムとは?
-
「収穫逓減」と「収穫逓増」
-
うれしく思うの類似語
おすすめ情報