最新閲覧日:

access超超初心者です。
フォームのコマンドボタンをクリックすると
テーブルのレコードを追加または削除する方法を教えてください。
[イベントプロシージャ]を使用して、どのようなプログラムを書けば
いいのでしょうか?
ど素人の質問ですいません。

A 回答 (5件)

soraprioさんが、tom777さんの回答に対し、


補足記入されていたモジュールの、
「レコードを削除する」
の部分を訂正してみました。

DoCmd.RunSQL "DELETE * FROM 支店ルータ管理T WHERE (顧客ID= " & In1 & " AND 支店名= '" & In2 & "');"

これで、動くと思いますよ。

顧客IDは数値型、支店名は文字列型ですよね?
    • good
    • 0
この回答へのお礼

ありがとうございます。完成しました。

お礼日時:2001/04/27 17:21

・レコードの追加なんですけれど、複数のフィールドにはどのように入れるのでしょうか?



INSERT INTO テーブル名(フィールド名1,・・・) VALUES (値,・・・)のように書きます。(詳しくはHELPを参照して下さい。)
(フィールド名1,・・・)の部分は省略できます。
別のテーブルから値を取得する方法もあります。

・また、シングルクォーテーションの意味は??

文字列を設定する場合は、シングルクォーテーションまたはダブルクォーテーションでくくる必要があります。

・レコードの削除の際に複数の条件を入れたいです。
これもHELPを参照して下さい。

DELETE FROM テーブル名 WHERE 条件式
で実現できると思います。

<やりたいこと>
フォームで会社名と支店名をリストボックスから選択して、テーブルのフィールド1の会社名かつフィールド2の支店名のものをレコードを削除したい。
教えてください。

DELETE FROM テーブル
WHERE フィールド1 = '会社名' AND フィールド2 = '支店名'
で、いけると思います。

まあ、何でもいろいろやってみて身に付けてください。

この回答への補足

有難うございます。やってみたけれど、DoCmd.RunSQL でパラメータの入力のダイアログが表示されてしまいます。(削除、追加ともに)
ダイアログに再度入力すると、きちんと削除されます。
何がいけないのでしょうか?

Private Sub 削除_Click()
Dim Frm1 As Form
Dim In1 As Integer, In2 As String

Set Frm1 = Forms!支店管理F
In1 = Nz(Frm1!顧客選択)
In2 = Nz(Frm1!支店リスト.Column(1))

If In1 = 0 Then
MsgBox ("顧客を選択してください。")
ElseIf In2 = "" Then
MsgBox ("削除支店を選択してください。")
Else
' レコードを削除する
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM 支店ルータ管理T WHERE (顧客ID = " & In1 & " AND 支店名 = " & In2 & ");"
DoCmd.SetWarnings True

'支店リスト 最新の情報に更新
MsgBox (Frm1!顧客選択.Column(1) & "様 " & In2 & " を削除しました。")
Me!支店リスト.Requery
Me!支店入力 = ""
End If
End Sub

何度もすいません。教えてください。

補足日時:2001/04/23 11:06
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。ついに完成しました。
非常に助かりました。

お礼日時:2001/04/27 17:24

[イベントプロシージャ]でSQL文を使用してレコードを追加



Dim sSql As String

sSql = "INSERT INTO テーブル1 VALUES('値')"

DoCmd.SetWarnings False
DoCmd.RunSQL sSql
DoCmd.SetWarnings True

[イベントプロシージャ]でSQL文を使用してレコードを削除

Dim sSql As String

sSql = "DELETE FROM テーブル1"

DoCmd.SetWarnings False
DoCmd.RunSQL sSql
DoCmd.SetWarnings True

他にもいろいろ方法はありますが、参考にして下さい。
    • good
    • 0
この回答へのお礼

有難うございます。
・レコードの追加なんですけれど、複数のフィールドにはどのように入れるのでしょうか?また、シングルクォーテーションの意味は??
・レコードの削除の際に複数の条件を入れたいです。
<やりたいこと>
フォームで会社名と支店名をリストボックスから選択して、テーブルのフィールド1の会社名かつフィールド2の支店名のものをレコードを削除したい。
教えてください。

お礼日時:2001/04/20 12:42

レコードを追加または削除であれば、


「マクロ」の方が早いし、わかりやすいですよ。
マクロなら、一覧から操作内容を選択できますし、、、

どうしても「イベントプロシージャ」がよければ
「レコードを追加または削除」の「マクロ」を
作成し、これを「イベントプロシージャ」へ変換する
方が「確実」です。

ただし、Accessのバージョンまたは、インストール
状態によっては「マクロ→イベントプロシージャ」
への変換機能は付いていない場合があります。
    • good
    • 0
この回答へのお礼

マクロですか、これもまたやったことありませんので試してみます。
いろいろ方法があるのですね。どれが一番いいのだろう???
有難うございます。

お礼日時:2001/04/20 12:31

私もアクセスはよく使うんですけど、VBの知識がないので、モジュールやイベントプロシージャは最小限にしてます。


レコードの更新、追加、削除などはクエリーを使ってます。
もし機会があったら試してみてください。
それほど難しくはないですし、何かと便利です。
    • good
    • 0
この回答へのお礼

クエリーですか。やったことないので試してみます。
有難うございます。

お礼日時:2001/04/20 12:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ