Access SQL を使用してテーブルからレコードを挿入、更新、削除する
テーブルにレコードを挿入する
テーブルにレコードを追加するためのメソッドには、大きく分けて 2 つの種類があります。 レコードを 1 つずつ追加するものと、多数のレコードを同時に追加するものの 2 種類です。 どちらの場合でも、レコードの追加には SQL ステートメント INSERT INTO を使用します。 INSERT INTO ステートメントは、一般に追加クエリと呼ばれます。
1 つのレコードをテーブルに追加するには、データを入れるフィールドをフィールド リストを使って定義してから、フィールドに入れるデータを値リストで指定する必要があります。 値リストを定義するには、VALUES 句を使用します。 たとえば、次のステートメントは値 "1"、"Kelly"、および "Jill" を、それぞれ [CustomerID]、[Last Name]、および [First Name] の各フィールドに挿入します。
INSERT INTO tblCustomers (CustomerID, [Last Name], [First Name])
VALUES (1, 'Kelly', 'Jill')
レコードが含むことのできるすべての値を指定する場合に限り、フィールド リストを省略できます。
INSERT INTO tblCustomers
VALUES (1, Kelly, 'Jill', '555-1040', 'someone@microsoft.com')
多数のレコードを一度にテーブルに追加するには、INSERT INTO ステートメントを SELECT ステートメントと共に使用します。 別のテーブルからレコードを挿入するときは、挿入される各値のデータ型と、挿入先フィールドのデータ型の間に互換性が必要です。
次の INSERT INTO ステートメントは、tblOldCustomers テーブルの [CustomerID]、[Last Name]、および [First Name] フィールドに含まれるすべての値を tblCustomers テーブルの対応するフィールドに挿入します。
INSERT INTO tblCustomers (CustomerID, [Last Name], [First Name])
SELECT CustomerID, [Last Name], [First Name]
FROM tblOldCustomers
2 つのテーブルの構造が完全に同じである場合は、フィールド リストを省略できます。
INSERT INTO tblCustomers
SELECT * FROM tblOldCustomers
テーブル内のレコードを更新する
現在テーブル内にあるデータを変更するには、一般に更新クエリと呼ばれる UPDATE ステートメントを使用します。 UPDATE ステートメントでは 1 つ以上のレコードを更新することができ、通常は次のような形式です。
UPDATE table name
SET field name = some value
テーブル内のすべてのレコードを更新するには、テーブル名を指定してから、変更する 1 つ以上のフィールドを SET 句を使って指定します。
UPDATE tblCustomers
SET Phone = 'None'
変更するレコードの数を制限するために、ほとんどの場合、WHERE 句を使って UPDATE ステートメントを修飾します。
UPDATE tblCustomers
SET Email = 'None'
WHERE [Last Name] = 'Smith'
テーブルからレコードを削除する
現在テーブル内にあるデータを削除するには、一般に削除クエリと呼ばれる DELETE ステートメントを使用します。 この処理のことをテーブルの切り捨てとも呼びます。 DELETE ステートメントでは 1 つ以上のレコードをテーブルから削除することができ、通常は次のような形式です。
DELETE FROM table list
DELETE ステートメントではテーブル構造は削除されず、その時点でテーブル構造上に存在しているデータだけが削除されます。 すべてのレコードをテーブルから削除するには、DELETE ステートメントを使用して、すべてのレコードを削除する対象の 1 つ以上のテーブルを指定します。
DELETE FROM tblInvoices
削除するレコードの数を制限するために、ほとんどの場合、WHERE 句を使って DELETE ステートメントを修飾します。
DELETE FROM tblInvoices
WHERE InvoiceID = 3
テーブル内の特定のフィールドに入っているデータだけを削除する場合、UPDATE ステートメントを使用して、対象のフィールドに Null 値を設定します。ただしこの方法を使用できるのは、対象のフィールドが Null 値を許容する場合に限られます。
UPDATE tblCustomers
SET Email = Null
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示