Access SQLでデータの更新

SQL = “UPDATE ”
SQL = SQL & “dbo_stock_parts ”
SQL = SQL & “INNER JOIN ”
SQL = SQL & “job_product_parts_calc ON ”
SQL = SQL & “(dbo_stock_parts.HNO = job_product_parts_calc.HNO AND ”
SQL = SQL & “job_product_parts_calc.JNO = ” & Me!JNO & “) ”
SQL = SQL & “SET ”
SQL = SQL & “在庫数 = 在庫数 + job_product_parts_calc.計算数”

dbo_stock_partsテーブルには、JNO,HNO,在庫数フィールドがあり、job_product_parts_calcテーブル内には、JNO,HNO,計算数が存在する。

この2つのテーブルでHNOで一致しているものと、フォーム内のJNOが一致しているjob_product_parts_calc内の計算数で、dbo_stock_partsテーブルの在庫数を更新させるSQLになる。

実際に使っている例題は、この備忘録で、「VBA SQL」とでも検索すれば出てくる。

Access テキストボックスのロック

入力ミスを防ぐためと、データの不一致をさせないために、あるタイミングで、テキストボックスに編集ロックをかけたい時がある。その方法。

Sub Form_Current()
If Me.[社員ID] = “0001” Then
Me.[旅費明細].Enabled = True  ※テキストボックス変化なし。
Me.[旅費明細].Locked = False  ※ロックを外す
Else
Me.[旅費明細].Enabled = False ※テキストボックスグレーになり、フォーカス移動できない。
Me.[旅費明細].Locked = True  ※ロックをする。
End If
End Sub

EnableとLockedはセットで使用しなくてもOK
編集だけできないようにさせる場合は、LockedだけでOKである。

Access テキストボックスが空じゃない時に様(御中)を付加する。

テキストボックスが、空の時は何も表示せずに、空じゃない時にだけ、様や、御中を付けて表示させたい。

テキストボックスのプロパティで、

名前の所 txt法人  ※txtを付加した。

コントロールソース =IIf([法人名]=””,””,[法人名])

書式  &” 御中”

これで、データがある時は、 株式会社○○御中となる。無い場合は、御中も表示されない。

=IIf([法人名]=””,””,[法人名] & “御中”)をコントロールソースにいれると、データが無くても、御中だけが表示されてカッコ悪い。

 

間に入れたい場合

 

“法人名 “&&&&&&&&&&&&&&”  御中”

とすれば、法人名 データ 御中 となってくれる。