Page 672 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼なぜ入力をもとめるの? 横丁 04/6/17(木) 1:07 ┣Re:RunSQLで入力を求められるのは? かみちゃん 04/6/17(木) 6:53 ┗Re:なぜ入力をもとめるの? Gin_II 04/6/17(木) 10:02 ┗Re:なぜ入力をもとめるの? 横丁 04/6/17(木) 23:09 ─────────────────────────────────────── ■題名 : なぜ入力をもとめるの? ■名前 : 横丁 ■日付 : 04/6/17(木) 1:07 -------------------------------------------------------------------------
下記ですが、変数に値を入れているので、そのまま実行されると思ったら入力を求められました。その変数を使って実行する(入力不要にする)にはどうしたらよいのでしょうか? Function マクロ3() On Error GoTo マクロ3_Err Dim txta As String Dim txtb As String txta = "10110" txyb = "6125" DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = txta and 科目 = txtb", 0 マクロ3_Exit: Exit Function マクロ3_Err: MsgBox Error$ Resume マクロ3_Exit End Function #ACCESS始めて2週間の素人です。 |
こんにちは。かみちゃん です。 > txta = "10110" > txyb = "6125" > > DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = txta and 科目 = txtb", 0 「where 場所 = txta and 科目 = txtb", 0」の txta と txtb は、変数ですよね?しかし、この例では、""で囲まれている中は、文字列(SQL文)として認識されてしまいます。 そこで、 DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = " & txta & " and 科目 = " & txtb, 0 とすれば、いいと思います。 |
> DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = txta and 科目 = txtb", 0 科目フィールドがテキスト型なら、 DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = " & txta & " and 科目 = '" & txtb & "'", 0 かな? |
かみちゃん、Gin_IIさんありがとうございました。 txtaも「’」で囲ってうまくいきました。 また、よろしくお願いします。 |