dim SQL as String
例: SQL = "DELETE FROM T_顧客 WHERE 更新日= #2007/10/11# "
CurrentDb.Execute SQL, dbFailOnError
上のように条件の文字列を#(シャープ)で囲みます。
更新日フィールドが2007年10月11日のレコードのみ削除されます。
スポンサーリンク
2007-06-30
2007-06-29
Tips17 - SQL文 文字フィールドの条件に合うデータを削除する
dim SQL as String
例: SQL = "DELETE FROM T_顧客 WHERE 名前= '山田花子' "
CurrentDb.Execute SQL, dbFailOnError
上のように条件の文字列を'(単引用符)で囲みます。
名前フィールドが山田花子のレコードのみ削除されます。
例: SQL = "DELETE FROM T_顧客 WHERE 名前= '山田花子' "
CurrentDb.Execute SQL, dbFailOnError
上のように条件の文字列を'(単引用符)で囲みます。
名前フィールドが山田花子のレコードのみ削除されます。
2007-06-28
Tips16 - SQL文 テーブルから条件に合うデータを削除する
dim SQL as String
SQL = "DELETE FROM 削除テーブル名 WHERE 条件"
CurrentDb.Execute SQL, dbFailOnError
WHEREで条件に合うデータのみが削除されます。
例: SQL = "DELETE FROM T_顧客 WHERE 年齢=20"
20才の顧客が削除されます。
SQL = "DELETE FROM 削除テーブル名 WHERE 条件"
CurrentDb.Execute SQL, dbFailOnError
WHEREで条件に合うデータのみが削除されます。
例: SQL = "DELETE FROM T_顧客 WHERE 年齢=20"
20才の顧客が削除されます。
2007-06-27
Tips15 - SQL文 テーブルから全データを削除する
dim SQL as String
SQL = "DELETE FROM 削除テーブル名"
CurrentDb.Execute SQL, dbFailOnError
削除テーブル内の全データが削除されます。
削除すると元に戻せません。注意してください。
SQL = "DELETE FROM 削除テーブル名"
CurrentDb.Execute SQL, dbFailOnError
削除テーブル内の全データが削除されます。
削除すると元に戻せません。注意してください。
2007-06-26
Tips14 - SQL文 文字フィールドの追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES ('文字列')"
CurrentDb.Execute SQL, dbFailOnError
上のように文字列を'(単引用符)で囲みます。
例:SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (' " & "データベース" & ' )"
SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES ('文字列')"
CurrentDb.Execute SQL, dbFailOnError
上のように文字列を'(単引用符)で囲みます。
例:SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (' " & "データベース" & ' )"
2007-06-25
Tips13 - SQL文 日付フィールドの追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (#日付#)"
CurrentDb.Execute SQL, dbFailOnError
上のように日付を#(シャープ)で囲みます。
例:SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (#" & format(date,"yy/mm/dd") & "#)"
SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (#日付#)"
CurrentDb.Execute SQL, dbFailOnError
上のように日付を#(シャープ)で囲みます。
例:SQL = "INSERT INTO 追加先テーブル名 (追加先日付型フィールド名) VALUES (#" & format(date,"yy/mm/dd") & "#)"
2007-06-24
Tips12 - SQL文 条件に合ったレコードを他のテーブルから追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) SELECT 追加元フィールド名 FROM 追加元テーブル名 WHERE 条件"
CurrentDb.Execute SQL, dbFailOnError
実行すると、追加元フィールドの条件に合ったデータが追加されます。
もし、追加元テーブルに条件に合うレコードが10件あった場合、追加先テーブルにはその10件が追加されます。
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) SELECT 追加元フィールド名 FROM 追加元テーブル名 WHERE 条件"
CurrentDb.Execute SQL, dbFailOnError
実行すると、追加元フィールドの条件に合ったデータが追加されます。
もし、追加元テーブルに条件に合うレコードが10件あった場合、追加先テーブルにはその10件が追加されます。
2007-06-22
Tips11 - SQL文 他のテーブルからレコードの追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) SELECT 追加元フィールド名 FROM 追加元テーブル名"
CurrentDb.Execute SQL, dbFailOnError
実行すると、追加元フィールドの全データが追加されます。
もし、追加元テーブルに10件データがあった場合、追加先テーブルにはその10件が追加されます。
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) SELECT 追加元フィールド名 FROM 追加元テーブル名"
CurrentDb.Execute SQL, dbFailOnError
実行すると、追加元フィールドの全データが追加されます。
もし、追加元テーブルに10件データがあった場合、追加先テーブルにはその10件が追加されます。
2007-06-20
Tips10 - SQL文 複数フィールドのレコード追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名1,追加先フィールド名2,追加先フィールド名3) VALUES (追加する値1,追加する値2,追加する値3)"
CurrentDb.Execute SQL, dbFailOnError
複数のフィールドを指定しレコードを追加する場合、フィールド名と追加する値をそれぞれコンマで区切ります。フィールドと値の順番は対応していないといけません。
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名1,追加先フィールド名2,追加先フィールド名3) VALUES (追加する値1,追加する値2,追加する値3)"
CurrentDb.Execute SQL, dbFailOnError
複数のフィールドを指定しレコードを追加する場合、フィールド名と追加する値をそれぞれコンマで区切ります。フィールドと値の順番は対応していないといけません。
2007-06-19
Tips9 - SQL文 レコードの追加
dim SQL as String
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) VALUES (追加する値)"
CurrentDb.Execute SQL, dbFailOnError
テーブル内のフィールドを指定し、1レコードを追加します。
SQL = "INSERT INTO 追加先テーブル名 (追加先フィールド名) VALUES (追加する値)"
CurrentDb.Execute SQL, dbFailOnError
テーブル内のフィールドを指定し、1レコードを追加します。
2007-06-18
Tips8 - SQL文 論理演算子の条件に合ったレコードを全て更新
Dim SQL As String
SQL = "UPDATE テーブル SET 値引き=20 WHERE 数量>3000 OR 単価>5000"
CurrentDb.Execute SQL, dbFailOnError
上の場合、数量が3000以上か単価が5000円以上のデータの値引きを20円にセットします。
その他、「数量>3000 AND 単価>5000」のように指定します。
SQL = "UPDATE テーブル SET 値引き=20 WHERE 数量>3000 OR 単価>5000"
CurrentDb.Execute SQL, dbFailOnError
上の場合、数量が3000以上か単価が5000円以上のデータの値引きを20円にセットします。
その他、「数量>3000 AND 単価>5000」のように指定します。
2007-06-17
Tips7 - SQL文 不等号に合ったレコードを全て更新
Dim SQL As String
SQL = "UPDATE テーブル SET 数量=500 WHERE 金額>3000"
CurrentDb.Execute SQL, dbFailOnError
上の場合、金額が3000円以上のデータの数量を500にセットします。
その他、「金額>=3000」「金額<3000」「金額<=3000」のように指定します。
SQL = "UPDATE テーブル SET 数量=500 WHERE 金額>3000"
CurrentDb.Execute SQL, dbFailOnError
上の場合、金額が3000円以上のデータの数量を500にセットします。
その他、「金額>=3000」「金額<3000」「金額<=3000」のように指定します。
2007-06-16
Tips6 - SQL文 条件に合ったレコードのみ更新
dim SQL as String
SQL = "UPDATE テーブル名 SET フィールド名=値 WHERE フィールド名=条件値
CurrentDb.Execute SQL, dbFailOnError
WHERE文以下で条件に合ったレコードを指定しています。
これを指定しないと、全レコードが更新されます。
SQL = "UPDATE テーブル名 SET フィールド名=値 WHERE フィールド名=条件値
CurrentDb.Execute SQL, dbFailOnError
WHERE文以下で条件に合ったレコードを指定しています。
これを指定しないと、全レコードが更新されます。
2007-06-15
Tips5 - SQL文 複数のフィールド値の更新
dim SQL as String
SQL = "UPDATE テーブル名 SET フィールド名1=値,フィールド名2=値,フィールド名3=値"
CurrentDb.Execute SQL, dbFailOnError
複数のフィールド値をまとめて更新するには、上のようにコンマで区切ります。沢山のフィールドを更新するにはSQL文が長くなり後で修正するのが大変になるので、ループを回しSQL文を作成するといいです。
SQL = "UPDATE テーブル名 SET フィールド名1=値,フィールド名2=値,フィールド名3=値"
CurrentDb.Execute SQL, dbFailOnError
複数のフィールド値をまとめて更新するには、上のようにコンマで区切ります。沢山のフィールドを更新するにはSQL文が長くなり後で修正するのが大変になるので、ループを回しSQL文を作成するといいです。
2007-06-14
Tips4 - SQL文 フィールド値の更新
dim SQL as String
SQL = "UPDATE テーブル名 SET フィールド名=値"
CurrentDb.Execute SQL, dbFailOnError
値はフィールドに対応しないとエラーになります。
例えば、数値型に文字を代入しようとすることです。
実行前に値のチェックをするか、ON ERRORで対処する必要があります。
SQL = "UPDATE テーブル名 SET フィールド名=値"
CurrentDb.Execute SQL, dbFailOnError
値はフィールドに対応しないとエラーになります。
例えば、数値型に文字を代入しようとすることです。
実行前に値のチェックをするか、ON ERRORで対処する必要があります。
Tips3 - オートナンバーの初期化
オートナンバー型のフィールド値を初期化するVBAです。
dim SQL as string
SQL = "Alter Table テーブル名 Alter Column 型名 Counter(開始値);"
CurrentDb.Execute SQL, dbFailOnError
これを実行すると、次回のデータ追加から開始値になります。
既に、データが入力されている場合は2重登録でエラーになる可能性がありますので注意します。
又、フォームのレコードソースとして対象のテーブルを使用している場合は、エラーが発生し実行できません。
dim SQL as string
SQL = "Alter Table テーブル名 Alter Column 型名 Counter(開始値);"
CurrentDb.Execute SQL, dbFailOnError
これを実行すると、次回のデータ追加から開始値になります。
既に、データが入力されている場合は2重登録でエラーになる可能性がありますので注意します。
又、フォームのレコードソースとして対象のテーブルを使用している場合は、エラーが発生し実行できません。
2007-06-13
VBA Tips2 - テキストボックスの内容をテキストファイルに保存する
Dim fno As Integer
空きファイル番号を取得します。
fno = FreeFile
ファイル番号を割り当てファイルを開きます。
Open "c:\temp.txt" For Output As fno
テキストボックスの内容を書き込みます。
Print #fno, Me!テキスト1
ファイル番号の使用が終了すれば、閉じます。
Close fno
空きファイル番号を取得します。
fno = FreeFile
ファイル番号を割り当てファイルを開きます。
Open "c:\temp.txt" For Output As fno
テキストボックスの内容を書き込みます。
Print #fno, Me!テキスト1
ファイル番号の使用が終了すれば、閉じます。
Close fno
2007-06-12
VBA Tips1 - Internet Explorer (IE)のウィンドウハンドルを取得
IEのバージョンが4.0の場合、最初に起動したウィンドウが、6.0の場合、前面のウィンドウのハンドルが取得できるようです。
Windows API を使います。
標準モジュールかフォームコードで宣言します。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
プロシージャで使用します。
Dim Handle As Long
Handle = FindWindow("IEFrame", vbNullString)
見つからなければ0が戻ります。
Windows API を使います。
標準モジュールかフォームコードで宣言します。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
プロシージャで使用します。
Dim Handle As Long
Handle = FindWindow("IEFrame", vbNullString)
見つからなければ0が戻ります。
登録:
投稿 (Atom)