質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

0回答

2424閲覧

ACCESSのBeforeUpdate、Callでのエラー、フォームデザインについて。

makino

総合スコア32

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2017/03/21 15:43

ACCESSについての質問です。3つあります。
1つでもよいので教えてください!

1.コンボについて。
コンボでテーブルから2つ値を表示し、

ACCESS

1Aコンボ = [Aコンボ].[Column](0) & "◎△×" & [Aコンボ].[Column](1)

のように、選択した値の間に ◎△× を入れて表示したいと思っています。
ただし、例えば下のようにチェック項目を入れたいと思います。

しかし、この中にAコンボ = [Aコンボ].Column & "◎△×" & [Aコンボ].Column
書くとエラーになってしまいまして、困っています。

チェックでエラーが起きても起きなくても、[Aコンボ].Column & "◎△×" & [Aコンボ].Column
の形式で表示させるにはどうしたらよいでしょうか?

Private Sub Aコンボ_BeforeUpdate(Cancel As Integer) Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim mySQL As String Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset mySQL = "SELECT * FROM tableA WHERE comboA = '" & Left(Aコンボ.Value, 5) & "';" rs.Open mySQL, cn, adOpenKeyset If rs.RecordCount = 0 Then MsgBox "エラー" Cancel = True End If rs.CLOSE Set rs = Nothing cn.CLOSE Set cn = Nothing End Sub

2.Callした後の処理について

例えば1.で使用したAコンボ_BeforeUpdateをCallで呼び出し、
If rs.RecordCount = 0 Then
MsgBox "エラー"
Cancel = True

とエラーが起きた場合、そこで処理を終わらせたいと考えています。
しかし今のままだと、MsgBox "続き" が表示されてしまいます。

MsgBox "エラー"で終わらせ、フォーカスもAコンボに移すにはどうしたらよいでしょうか?

Private Sub コンボ_Click() Call Aコンボ_BeforeUpdate(0) MsgBox "続き" 略

3.フォームデザインについて。

テキストフィールドで、
□で囲うようなデザインでなく、
___のような、下線部だけの見た目にしたいです。

色々試したのですが、□になるか、まっさらな何もないデザインになるかしかできないので
教えて頂けるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問