■59748 / inTopicNo.3) |
Re[1]: insert文に条件を加える。 |
□投稿者/ 魔界の仮面弁士 (2195回)-(2011/06/06(Mon) 09:44:54)
|
■No59744 (ある さん) に返信 > 表題通り、insert文にif文で条件を加える方法がわかりません。 > もし〜の場合、○○に××を加えるという感じで作りたいのですが、 もう少し具体的に書いていただいた方が、回答がつけやすいです。
「○○」というのが、VB 側の変数/コントロールなのか、それとも データベース側の列名/式なのか分かりませんし、条件に合致しなかった場合に INSERT を実行したくないのか、それとも ×× を加えずに INSERT したいのか等、 いろいろな解釈が出来てしまいますので。
> 記述方法がわかりません。
VB 側で SQL を構築する場合は、 SQL = "INSERT INTO 表名 (列1, 列2, 列3)" SQL &= " SELECT 列1, 列2, ○○ " If 〜 Then SQL &= " + ×× " End If SQL &= " FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ'" という感じで。
SQL 文の中に埋め込むなら、それが Jet の場合は INSERT INTO 表名 (列1, 列2, 列3) SELECT 列1, 列2, IIF(〜, ○○, ○○ + ××) FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ' だし、SQL Server や Oracle の場合は、 INSERT INTO 表名 (列1, 列2, 列3) SELECT 列1, 列2, CASE WHEN 〜 THEN ○○ ELSE ○○ + ×× END FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ' という感じで。
> よろしければご教授ください。 http://www.tt.rim.or.jp/~rudyard/torii009.html
|
|