• ベストアンサー

クエリは更新とかできますか?

初歩的な質問かと思いますが、accessクエリのデータはaspから更新・追加・削除とかできるものですか。 (例) sql = "select * from 職員名簿クエリ" のようにクエリからopenしている場合。 #access2000使用 #できないものと決めつけていましたが、確認したくて質問しました。

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

  • ベストアンサー
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

SQLの文法でよければ、  更新:UPDATE文  追加:INSERT文  削除:DELETE文 で出来ます。詳細は、ヘルプ等を見て下さい。  SELECTで出たデータオブジェクトに対して、削除/更新/追加も出来ます。  この時には、上記のSQL文を実行した結果に対して、  削除:delete()  更新:edit() ..... update()  追加:Addnew()  で出来ます。削除/更新は、カレントレコードが対象になりますので、検索(Find系)か移動(Move系)の命令でカレントレコードを探してから行って下さい。 Access2000でも出来ます。APSからADO接続を行ったって事でよければ...ですけどね。MDACでも可。ODBC接続でも多分可。

s-holmes
質問者

お礼

回答ありがとうございました。 できるんですね、お恥ずかしい。 これまでできないと思いこんでいたのは別の問題のせいでした。(値要求) #できないと思い続けて早1年。 #1年目でやっと真相を知る・・・。 (^^;

その他の回答 (1)

  • gould09
  • ベストアンサー率33% (196/589)
回答No.2

>accessクエリのデータはaspから更新・追加・削除とかできるものですか。 出来ます。 通常は、選択クエリーになっていますので、メニューのクエリーの中に 更新、追加、削除がありますので、自分の行いたいクエリーを選んで下さい。

関連するQ&A

  • DTS クエリーデザイナ で更新クエリー

    今回、訳あってSQL2000Severを導入する事になり勉強中です。 今までAccessでDB更新/追加/削除は経験あり、HPを見ても移行は簡単なイメージがありましたが、更新クエリーだけイメージがあいません。 TBL A /TBL B の2つのTBLがあり、TBL Aの項目をTBL Bで更新しようとする場合,Accessならクエリーで2つのTBLを追加してTBL AをTBL Bの項目で更新できたのですが、DTSデザイナで更新を選択するとTBL Aしか追加できません。 又、クエリアナライザを使ってもJOINの後の構文エラーから先に進めない状態です。 初歩的質問で申訳ありませんが、助言できる方がいらっしゃいましたら助けて下さい。 サンプルSQL UPDATE [TBL A] AS A INNER JOIN [TBL B] AS B ON A.KOUMOKU = B.KOUMOKU SET [A].[TANKA] = [B].[TANKA]; キーワード 'AS' 付近に正しくない構文があります。

  • クエリで「データ型が一致しません」と表示される

    クエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。 クエリ1のSQL文 SELECT Trim(Replace([PC管理台帳.使用者氏名]," ","")) AS 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル FROM PC管理台帳; クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。 クエリ2のSQL文 SELECT 職員アカウント.職員番号, Trim(Replace([職員アカウント.氏名]," ","")) AS 式1, 職員アカウント.パスワード, 職員アカウント.メールアドレス FROM 職員アカウント; クエリ2では[氏名]の苗字と名前のスペースを置換しました。 クエリ3で[使用者氏名]と[氏名]が一致しているものを抽出したいです。 ちなみにクエリ3のSQL文は SELECT [クエリ2].[式1], [クエリ2].[職員番号] FROM クエリ1 INNER JOIN クエリ2 ON [クエリ1].[式1]=[クエリ2].[式1]; これでクエリ3をひらくと 「データ型が一致しません」 と表示されます。 どなたかアドバイスお願いします

  • MS SQL Serverでのクエリ文

    MS SQL2005 の”SQL Server Management Studio”を使って下のクエリーを実行します。 例1は実行できますが、例2は実行できません。 なぜでしょうか? 例1 select * from [test].[dbo].[test_table] 例2 select * from ('[test].[dbo]' + '.[test_table]')

  • CakePHPでquery()を使うときについて

    CakePHP バージョン1.3.7です。 CakePHPでqueryを使ってSQL文を書くときなんですが 公式サイトに以下のように App::import('Sanitize'); $sql = "SELECT * FROM users WHERE id = $id"; $sql = Sanitize::clean($sql); サニタイズをしなさいとありますが、 上記の$idの部分がdate型で $sql = "SELECT * FROM users WHERE date = '2011-05-16'"; みたいなときシングルクオートがエスケープされてクエリが通らないのはどうやって解決すればいいんでしょうか?

    • ベストアンサー
    • PHP
  • ACCESSクエリーで特定の項目を更新したい

    ACCESSでテーブルから抽出したクエリーの特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、 全てのテーブル列に1がふられます。 式が違うのでしょうか。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;

  • ACCESSの更新クエリー活用方法の件(続き)

    ID 商品 価格 備考  フラグ という列をもつテーブルがあるとします。 こちらは、 テーブル名:商品名 としています。 これにたいして選択クエリーを使って、特定の商品だけを クエリーで引っ張ってきています。 クエリー名:抽出 このクエリー名:抽出で引っ張ってきたデータにあるフラグの列に「更新クエリー」で 1の数値を入れたいのですが、 それは更新クエリーでどのようにSQLをせっていするかたちになりますか。 更新クエリー名:更新 update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 update 商品名 set フラグ = 1 where 抽出 ; 上記方法、更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、結果 全てのテーブル列に1がふられます。 式が違うのでしょうか。あくまでもクエリーで抽出されたものだけに 1をふりたいのですが。 http://okwave.jp/qa/q7278856.html > http://okwave.jp/qa/q7277790.html の#1・#2です。 #1に「選択クエリは作れますか?」と書いたのをほったらかしにして、続きの質問とは・・・。 具体的なテーブル名・列名を提示してないので、イメージで書いてあるんだから 回答を丸写ししちゃダメでしょ。 > #1です。ごめんなさい。もっとシンプルに考えれば良いです。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。

  • 更新可能なクエリであることが必要です ACCESS

    更新可能なクエリであることが必要です Access2010で更新クエリをかけたいと思っています。やりたいことは以下になります。 クエリデザインで行おうとしています。 追加動物テーブル(重複したIDもあります。) ・ID ・数 追加動物クエリ(追加動物テーブルで数の合計をしています。重複IDがある為) ・sum(数) group by ID トータル動物テーブル(このテーブルに追加動物クエリで得た数を足し込みたいです) ・ID ・数 そこで、クエリデザインで更新クエリを行おうと思いました。 SQLは、 UPDATE トータル動物テーブル INNER JOIN 追加動物クエリ ON トータル動物テーブル.ID = 追加動物クエリ.ID SET トータル動物テーブル.数 = [追加動物クエリ]![数]; としたら、「更新可能なクエリであることが必要です」と表示されました。 目的としている、クエリで取得した数をテーブルの数に追加したいです。 例えば、トータル動物テーブルの001 猫の数が10だとします。追加動物クエリで得た猫の数が20だとします。 更新クエリが実行された時、トータル動物テーブルの猫の数が30になっていてもらいたいです。 ずっと悩んでいるのですが良いアイディアがでません。おわかりでありましたらお教え下さいませ。 宜しくお願いします。

  • ACCESS更新クエリー活用方法について

    ACCESSでテーブルから抽出したクエリーで表示された特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 上記方法、更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、結果 全てのテーブル列に1がふられます。 式が違うのでしょうか。あくまでもクエリーで抽出されたものだけに 1をふりたいのですが。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;

  • 更新クエリで合計金額を入れたい

    アクセスのテーブル1を作成しました。 ID    日付    金額    合計金額 1     6/1     ¥100 2     6/1     ¥200 3     6/2     ¥150 4     6/2     ¥300 (合計金額はカラ) そして、日別の合計を出すクエリ1を作成しました。 SELECT [テーブル1].日付, Sum([テーブル1].金額) AS 金額の合計 FROM テーブル1 GROUP BY [テーブル1].日付; 元のテーブルの合計金額の列に、クエリで表示した金額の合計を更新クエリで入れようとすると、 「 更新可能なクエリであることが必要です。」となります。 更新クエリのSQL文は UPDATE クエリ1 INNER JOIN テーブル1 ON [クエリ1].日付 = [テーブル1].日付 SET [テーブル1].合計金額 = [クエリ1]![金額の合計]; です。 ヘルプの内容の 一対多リレーションシップの '一' 側のフィールドを更新するクエリを実行しようとしました。 読み取り専用で開いているデータベースのクエリで、古い OpenQueryDef メソッドで使用しています。 には該当してないのですが(リレーションシップを組んでないし、四方チリ専用で開いてないし) どうすれば元のテーブルに合計金額を入れられるのでしょうか? 結果的に ID     日付     金額     合計金額 1     6/1     ¥100     300 2     6/1     ¥200     300 3     6/2     ¥150     450 4     6/2     ¥300     450 にしたいです。

  • クエリーの作り方

    SQLから、Postgres上のデータを参照しています。 まず、この形式で取り出そうとしています。 $query = 'select * from comment where oya = ■■'; この、■■のところには整数が入りますが、 事前にアレイに入れてある数字「 $DB_data[0] 」から、 whileでぐるぐる回して検索したいのですが、 こうすると、エラーになります。 $query = 'select * from comment where oya = $DB_data[0]'; エラー Query failed: ERROR: syntax error at or near "$" at character 何か良い手はないでしょうか? 別のテーブルの数値を持ってきて、$を使わずに検索できれば・・ こういうのも可能でしょうか・・?

    • ベストアンサー
    • PHP

専門家に質問してみよう