以前も質問させていただきました。
今回も宜しくお願いいたします。
まず、商品の売価変更の簡単なシステムを作ろうとしてます。そこでわからない点があるので教えてください。
1.フォームで商品コードを入力したら商品マスタから商品名を表示するようにしたのですが、商品マスタにない商品コードを入力したらエラーで止まってしまったのです。そうなったときのために「この商品コードは商品マスタに存在しません。」ようなメッセージを出したいのですが、どのタイミングで出したらよいかわかりません。
2.バーコードリーダーを使って商品コードを読むようにしたいのですが、実際読む込むと全角数字で読み込まれてしまいます。そこでそれを半角数字に直したいのですが、どのタイミングでどの関数を使用したらよいかわかりません。
3.レポートに以下のように6つの商品ごとに総合計を出すということはできるのでしょうか?
例)
A商品 100円
B商品 100円
C商品 100円
D商品 100円
E商品 100円
F商品 100円
総合計 600円
G商品 200円
H商品 100円
I商品 100円
J商品 100円
K商品 100円
L商品 200円
総合計 800円
馬鹿な質問で失礼します。本当は専門家にお願いしたいのですが、会社側に伝えたところ、お金を出せないため、初心者の私がつくることになりましたが、まわりにわかる人がいなくて本やネットで調べてもわからなかったので教えてください。宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
ウーン!
1、どのタイミングで=>エラートラップを仕組みます。または、事前にチェックするです。
Private Sub プロシージャ名
On Error Goto Err_プロシージャ名
・・・・・
Exit_プロシージャ名:
Exit Sub
Err_プロシージャ名:
MsgBox ・・・・・・
Resume Exit_プロシージャ名
End Sub
次の DBCount関数は、DCount関数の3倍速です。
Public Function DBCount(ByVal strField As String, _
ByVal strTable As String, _
Optional ByVal strWhere As String = "") As Variant
On Error GoTo Err_DBCount
Dim N
Dim strQuerySQL As String
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
strQuerySQL = "SELECT COUNT(" & strField & ") FROM " & strTable
If Len(strWhere) > 0 Then
strQuerySQL = strQuerySQL & " WHERE " & strWhere
End If
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
N = Nz(.Fields(0), 0)
End If
End With
Exit_DBCount:
On Error Resume Next
rst.Close
Set rst = Nothing
DBCount = N
Exit Function
Err_DBCount:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBCount)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBCount
End Function
2、半角を全角に=>StrConv関数を利用。
バーコードは自作していないのですか?
ならば、この質問は成立しないかと?
もしかしたら、私の利用しているリーダと仕様が違って全半角の設定があるのでしょうか?
? StrConv("ABC", vbNarrow)
ABC
ところで、商品コードをバーコードで読ます場合は、次のような手法がお勧めです。
Private Sub 商品コード_GotFocus()
If Len(商品コード & "") = 0 Then
DoCod.OpenForm ”商品コードの読み込み”
End If
End Sub
<商品コードの読み込み>のコード
Private Sub 商品コード_AfterUpdate()
Forms("フォーム名").Controls("商品コード")=strConv(商品コード, vbNarrow)
Unload Me
End Sub
これですと、バーコードの処理をユーザに促すこと、手入力の双方を併用できます。
3、レポート合計。
テキストボックスを配置し、=Sum("XXXX")
*全て、検証なしの書きなぐりです。(ミスはありかも!)
返事が遅くなりましたが、大変たすかりました。現在、いそがしいので作業が中断してますが、ひまを見つけて再開してみます。ありがとうございました。
No.1
- 回答日時:
> 1.フォームで商品コードを入力したら商品マスタから商品名を表示するように
> したのですが、商品マスタにない商品コードを入力したらエラーで止まって
> しまったのです。そうなったときのために「この商品コードは商品マスタに
> 存在しません。」ようなメッセージを出したいのですが、どのタイミングで
> 出したらよいかわかりません。
商品コードを入力するコントロールの更新前イベントで、
If DCount("*", "[商品マスタ]", "[商品コード]=" & Me!商品コード) = 0 Then
MsgBox "この商品コードは商品増谷存在しません。"
Cancel = True
End If
のようにしてみてください。
> 実際読む込むと全角数字で読み込まれてしまいます。
バーコードリーダーの設定で、全角/半角の設定ができるのでは?
取扱説明書などを確認してください。
> 3.レポートに以下のように6つの商品ごとに総合計を出すということは
> できるのでしょうか?
いろいろなやり方はあると思います。
6レコードだけが印刷できるようにレポートのデザインを調整して、
ページ合計を出すとか。
[ACC2002] レポートでページ別に数値型の列を集計する方法
http://support.microsoft.com/kb/296249/JA/
返事が遅くなりました。エラーの出し方等大変参考になりました。作業が中断している状況ですが、なんとか時間を見つけて完成させます。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXISTSを使ったDELETE文
-
Excel VBA ADODB
-
異なるデータベース間のテーブ...
-
SQL文で、合計が0のレコードを...
-
ACCESS ツリービューの作り方
-
アクセス フィールド名に変数...
-
Accessの実行時エラーについて
-
ACCESS 商品毎の最新の単価を設...
-
ACCESSでDLookUpすると、不正な...
-
日付により変動する「単価」を...
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
全角文字を含む行を検索
-
SELECT 文 GROUP での1件目を...
-
エクセルの関数について教えて...
-
SQLで特定の項目の重複のみを排...
-
VIEWの元のテーブルのindexって...
-
JANコードとPOSコードは同じ?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXISTSを使ったDELETE文
-
SQL文で、合計が0のレコードを...
-
Accessの実行時エラーについて
-
ACCESS 商品毎の最新の単価を設...
-
ACCESS ツリービューの作り方
-
日付により変動する「単価」を...
-
ACCESSでクエリ作成時複数のフ...
-
異なるデータベース間のテーブ...
-
アクセス フィールド名に変数...
-
ACCESSでDLookUpすると、不正な...
-
Access2013で商品に複数の単価...
-
テーブル名の トラン マスタ...
-
クエリフォームからのレコード...
-
フィールドの数値を四捨五入の...
-
AccessVBA データの受け渡し、...
-
ACCESSのマスタの変更について
-
Accessのテーブル構成について
-
前月の取得について
-
頻繁に再計算する場合・・・
-
PL/SQLの質問
おすすめ情報