過去ログ

                                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週間の素人です。

 ───────────────────────────────────────  ■題名 : Re:RunSQLで入力を求められるのは?  ■名前 : かみちゃん  ■日付 : 04/6/17(木) 6:53  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>  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
とすれば、いいと思います。

 ───────────────────────────────────────  ■題名 : Re:なぜ入力をもとめるの?  ■名前 : Gin_II  ■日付 : 04/6/17(木) 10:02  -------------------------------------------------------------------------
   >  DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = txta and 科目 = txtb", 0

科目フィールドがテキスト型なら、

DoCmd.RunSQL "insert into コピーデータ select * from 元データ where 場所 = " & txta & " and 科目 = '" & txtb & "'", 0

かな?

 ───────────────────────────────────────  ■題名 : Re:なぜ入力をもとめるの?  ■名前 : 横丁  ■日付 : 04/6/17(木) 23:09  -------------------------------------------------------------------------
   かみちゃん、Gin_IIさんありがとうございました。
txtaも「’」で囲ってうまくいきました。
また、よろしくお願いします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 672