• ベストアンサー

コマンドボタンで更新したい

コマンドボタンに DoCmd.RunSQL "UPDATE INTO T_削除マスタテーブル・・・ のようなコードビルダを実行させることによって、 「T_削除マスタテーブル」の「削除チェック」(デフォルトはTrue)を Falseにしたいのですが、 どのようにしたらいいのでしょうか? Ac2000です。

質問者が選んだベストアンサー

  • ベストアンサー
  • paz777
  • ベストアンサー率47% (77/163)
回答No.1

こんにちは。 こんな感じではだめですか? コマンドボタンの「クリック時」に「イベントプロシージャ」として 以下の構文を記述します。 -------------------------------------------------------------- DoCmd.Echo False DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE T_削除マスタテーブル SET 削除チェック = False" DoCmd.Echo True DoCmd.SetWarnings True -------------------------------------------------------------- 質問のまんまなんですけど・・・ ではでは・・・

KODAMAR
質問者

お礼

回答ありがとうございます。 >DoCmd.RunSQL "UPDATE T_削除マスタテーブル SET 削除チェック = False" こちらの文を使わさせていただきました。 ご協力ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 がんばってますね。 つまり、更新クエリのSQLステートメントを作るということですね。 更新クエリのSQLの構文は、 UPDATE テーブル名 SET フィールド名 = 更新値 WHERE 更新条件 です。 今回の場合だと、 DoCmd.RunSQL "UPDATE T_削除マスタテーブル SET 削除チェック = False" となります。 なお、削除チェックフィールドはYes/No型とします。 この場合は全てのレコードの削除チェックがFalseになります。 もし特定のレコードのみFalseにしたいなら、WHERE句をくっつけて下さい。 では。

KODAMAR
質問者

お礼

こんにちは。 最近Access漬けです。 下の方にもかきましたが、おかげさまでできました。 ありがとうございました。 今後も宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • UPDATEとFROM とWHERE

    MSアクセス SQLの基本がわからなくて テーブルBにあるデータが、テーブルAにもあるとき、テーブルBのflgをTrueにしたい。 テーブルA 1111 2222 3333 テーブルB 2222,false 4444,false DoCmd.RunSQL "UPDATE テーブルA SET flg = True FROM テーブルB WHERE テーブルA.データ = テーブルB.データ;" テーブルA 1111 2222 3333 テーブルB 2222,true 4444,false 上のSQLがとおりません。助けて下さい。

  • Accessでチェックボックスのチェックをすべてはずす方法

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=522365 で質問しました。 チェックの値をなくす方法として、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=164713 を発見し、以下のようにしてみました。 テーブル名:「T_マスタ」「T_アプリ」 T_マスタ(F_マスタ)からT_アプリ(F_アプリ)を開き、チェックボックス(フィールド名:check)にチェックをした後に、 ボタンを押したらチェックボックスをすべて「No」にしたいのです。 ボタンのコードは Dim strSQL As String strSQL = "update T_アプリ set check = false" DoCmd.RunSQL strSQL DoCmd.Close としました。 ですが、エラーが出てしまいます。 (レコードのロックとかって出ました。) どうすればきちんと値が「NO」になるのでしょうか?

  • アクセス2010 EXISTSの使い方

    テーブルA F1 F2 あい False いえ True おか True きく True けこ False テーブルB F1 あ か け TB1にTB2が含まれるデータを抽出して テーブルC F1 あい けこ をつくりたい。 DoCmd.RunSQL "INSERT INTO テーブルC (F1) " + _ "SELECT F1 From テーブルA " + _ "Where F2=False And " + _ "EXISTS (SELECT * FROM テーブルB WHERE テーブルA.F1 Like '*テーブルB.F1*' );" としたのですが、追加件数は「0」です。 Likeの使い方が悪いのか、EXISTSが悪いのか? どのようにしたらTB3の結果を得られるでしょうか?

  • エクセルからアクセスの更新クエリをVBAで実行することは可能ですか?

    SQL = "UPDATE ~WHERE ;" DoCmd.RunSQL SQL をエクセルのコマンドボタンから実行させたいのですが どのような処理が必要でしょうか? よろしくお願いします。

  • コマンドボタンを押してフィルタを掛けたい(vba)

    すいません、、、教えてください。 テーブル1を作成し(図:左)、そのテーブルを元にフォームを作成したました。(図:右) フォーム上のコマンドボタンを押したら、 「いぬ」だけをフィルタ掛けるにはどういうコードを書けばいいですか? http://www.tsware.jp/study/vol4/docmd_5.htmを参考に Private Sub コマンド_Click() Forms!テーブル1.Filter = "名前 = 'いぬ'" DoCmd.RunCommand acCmdApplyFilterSort End Sub としてみたのですが 実行時エラー2046となって止まってしまいます。 続きを教えてくださいませ、、、 よろしくお願いします。

  • Accessの条件つき抽出>テーブル作成。

    「T_マスタ」 ・氏名ID ・氏名 ・会社グループ 「T_サブ」 ・氏名ID ・データ年 というようなテーブルがあり、この2ツから「Q_検索」というクエリを作成しています。 このクエリを元に検索フォームを作成しました。 この検索フォームで「データ年」を選んで「エクスポート」を押すと、 会社グループが「110」のものだけを抽出して「T_Excel_110」という テーブルが作成されるようにしたいのです。 「エクスポート」ボタンのコードは ---------------------------------------- (検索用のコード)省略 DoCmd.RunSQL "SELECT [T_マスタ].[氏名ID], [T_マスタ].[氏名], [T_マスタ].[会社グループ],[T_サブ].[データ年], INTO T_Excel_110" _ & " FROM (T_マスタ INNER JOIN T_サブ ON [T_マスタ].[氏名ID]=[T_サブ].[氏名ID]) " _ & " WHERE ((([T_マスタ].[会社グループID])="110"))" & WhereCond stDocName = "T_Excel_110" DoCmd.OpenTable stDocName, acNormal, acEdit MsgBox "[ファイル]-[エクスポート]でExcelファイルを指定してください。" としたのですが、エラーになってしまいます。 いったいどこを直せばいいのでしょうか?

  • Access2000のVBAについて

    下記のプログラムだと挿入が可能になります。 Private Sub 削除_コマンド_Click() If IsNull(Me.社員コード) Then MsgBox ("社員コードが入力されていません") Else Dim strSQL As String strSQL = "INSERT INTO 社員情報テーブル(社員コード,作成日) " _ & " VALUES ('" & Me.社員コード & "', now());" DoCmd.RunSQL strSQL End If End Sub しかし、下記のプログラムだとinsert文の『Me.社員コード』で エラーが発生します。 エラーメッセージは 『メソッドまたはデータメンバが見つかりません』 と表示されます。 上と下とどう違うのでしょうか。 Private Sub 削除_コマンド_Click() If IsNull(Me.社員コード) Then MsgBox ("社員コードが入力されていません") Else Dim strSQL As String strSQL = "INSERT INTO 社員情報テーブル(社員コード,氏名(氏),作成日) " _ & " VALUES ('" & Me.社員コード & "','" & Me.氏名(氏) & "', now());" DoCmd.RunSQL strSQL End If End Sub

  • SQLコマンドを使ってテーブル名を任意に指定したい

    Accessのテーブル(もしくはクエリー)をExcelにエクスポートしたいのですが、Excelのブック名が同じで、Accessのテーブル名(もしくはクエリー名)が同じだと、同じシートに上書きされますよね。同一ブックにシート名を変えてエクスポートするために、Accessのテーブル名を変えたいのですが、どのようにしたら任意設定できるのでしょうか?下記のコマンドを使用している途中で挫折しました。別の方法でもいいので教えてください。 (記) Dim SQL As String SQL = "SELECT (フィールド)INTO (ここを任意のテーブル名に)FROM (クエリーを参照しています)" DoCmd.RunSQL SQL DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8,(ここを任意のテーブル名に), (ブック名) 以上。。。

  • アクセスVBA 追加クエリ

    下記クエリが一つあります。 [Q_商品] ID 商品名 価格 色 サイズ 重さ 送料 備考 [Q_商品]から、[T_テスト]をテーブルの作成から作りました。 [T_テスト]は、毎回利用する時に、すべてデリートして、[Q_商品]のデータを追加したいです。 [T_テスト]のデータの、すべてデリートは下記VBAでできました。 Private Sub コマンド40_Click() 'システムメッセージの非表示 DoCmd.SetWarnings False DoCmd.RunSQL "DELETE FROM T_テスト" 'システムメッセージの表示 DoCmd.SetWarnings True End Sub [Q_商品]のデータを追加するVBAを教えて下さい。 よろしくお願い致します。

  • access一部のフィールドを他のテーブルへVBA

    先日 https://okwave.jp/qa/q10245651.html において > table2の新しいデータとして > table1のデータをコピーしたい、 単に追加で ということであれば、という 御回答: Sub Test() Dim StrSQL As String StrSQL = "INSERT INTO table2 SELECT table1.* FROM table1;" DoCmd.SetWarnings False DoCmd.RunSQL StrSQL DoCmd.SetWarnings True End Sub ---------------------- 上記の 回答をいただき うまく稼働しました 部分的にフィールドを別テーブルに 移動するとき ここでは table1のフィールド名 IDに table2のフィールド名 bに 入っている数値 にい 1を加えた数値を 移動したいのですが Public Function Test() Dim tb1 As Table Dim tb2 As Table tb1 = table1 tb2 = table2 Dim strSQL As String strSQL = "INSERT INTO table2![ID]SELECT"("[b]"FROM tablel)+1" (table1のフィールド[b]の数値に1を加えた数値を table2のフィールド[ID]に移行する、というつもりです) DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End Function 稼働しません すみません 宜しくお願い致します (ついでながら ここで でてくるb というのは テーブル table3 の IDの総和 すなわち SELECT Count(table3.ID) AS b FROM table3; 要は table3の最後のレコードの次のレコードの 番号の数値を table2のIDに移動したい というわけであります) (いずれのIDや bについても 数値型 長整数型 重複あり です)

専門家に質問してみよう