• ベストアンサー

ACCESS初心者です。

以前も質問させていただきました。 今回も宜しくお願いいたします。 まず、商品の売価変更の簡単なシステムを作ろうとしてます。そこでわからない点があるので教えてください。 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円 馬鹿な質問で失礼します。本当は専門家にお願いしたいのですが、会社側に伝えたところ、お金を出せないため、初心者の私がつくることになりましたが、まわりにわかる人がいなくて本やネットで調べてもわからなかったので教えてください。宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答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") *全て、検証なしの書きなぐりです。(ミスはありかも!)

amami7
質問者

お礼

返事が遅くなりましたが、大変たすかりました。現在、いそがしいので作業が中断してますが、ひまを見つけて再開してみます。ありがとうございました。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 1.フォームで商品コードを入力したら商品マスタから商品名を表示するように > したのですが、商品マスタにない商品コードを入力したらエラーで止まって > しまったのです。そうなったときのために「この商品コードは商品マスタに > 存在しません。」ようなメッセージを出したいのですが、どのタイミングで > 出したらよいかわかりません。 商品コードを入力するコントロールの更新前イベントで、 If DCount("*", "[商品マスタ]", "[商品コード]=" & Me!商品コード) = 0 Then MsgBox "この商品コードは商品増谷存在しません。" Cancel = True End If のようにしてみてください。 > 実際読む込むと全角数字で読み込まれてしまいます。 バーコードリーダーの設定で、全角/半角の設定ができるのでは? 取扱説明書などを確認してください。 > 3.レポートに以下のように6つの商品ごとに総合計を出すということは > できるのでしょうか? いろいろなやり方はあると思います。 6レコードだけが印刷できるようにレポートのデザインを調整して、 ページ合計を出すとか。 [ACC2002] レポートでページ別に数値型の列を集計する方法 http://support.microsoft.com/kb/296249/JA/

amami7
質問者

お礼

返事が遅くなりました。エラーの出し方等大変参考になりました。作業が中断している状況ですが、なんとか時間を見つけて完成させます。ありがとうございます。

関連するQ&A

  • バーコードリーダーの出力を半角のみにしたい。

    バーコードリーダーの出力を半角のみにしたいのですが どうすればよいのでしょうか? キーボードで半角にすれば、出力は半角になるのですが 全角入力の時も、半角にしたいのです。 バーコードリーダーの設定などもなく ただ、挿して読むだけのリーダーです。 よろしくお願いします

  • Access2003でクエリーを作った場合。。。

    選択クエリー作成時に、実績データのテーブルと商品マスタのテーブルで 商品コードを結合させたのですが、うまく抽出できませんでした。 ACCESS2003使用です。 <実績データの商品コード>  AAA ← 半角 <商品マスタの商品コード>  AAA ← 半角  AAA ← 全角 商品マスタに、半角と全角が存在していた場合、どちらとも一致していると みなされダブって集計されてしまいました。 ACCESS97では半角と全角では不一致と判断していたのですが、2003 で同じクエリーを作ったところ、半角と全角でも一致とみなされているようです。 半角と全角では「不一致」とする方法を教えてください。

  • タブレットで仮想キーボードを表示させたい

    いつも大変参考にさせていただいております。 わかる方ヒントでも結構ですので、どなたかご教示いただけますと幸いです。 タブレットにブルートゥース バーコードリーダーを接続して、バーコードを読ませる環境を作りたいのですが、必要に応じて 直接入力も行いたいと思っています。 バーコードリーダーを接続していない状態では、仮想キーボードが表示され直接入力できるのですが、バーコードリーダーを接続すると仮想キーボードが表示されたり、されなくなったりします。 接続したままでも仮想キーボードが表示される、条件の限定はできておりません。 lenovo TAB5 バーコードリーダー 中華製 アプリ WPSoffice P.S. WPSofficeのExcelの代わりになるものを使用していると、ウィンドウ右下に半角・全角を切り替えるようなボタン?が表示されていますが、バーコードリーダーを接続するとそちらが表示されなくなります。 わかる方、ご教示いただけますと幸いです。

  • ACCESS2000で質問ですが(初心者です)

    グループ(コード、グループ名など) 商品のマスター(コード、単価など) のマスターを作成して 入力マスターとリレーションシップで結び付けました。 商品のコードが決まっていて単価が固定でないものが 混在しているときに 単価部分をスペースでマスターに登録したのですが 入力するときにコードで単価を手で入力しようと すると指定した項目はリストにありませんとなってしまいました。入力で変更することはできないのでしょうか・・? わかりにくいかもしれませんがよろしくお願いします。

  • パソコン初心者です

    はじめまして、パソコン初心者です。困っていることがありまして投稿いたしました。 パソコンを使い始めて2ヶ月になりますが、昨日から急に半角/全角キーの切り替えが出来なくなりました。 ひらがなから英数字に変えようとして半角/全角キーを押すと『シングルコーテーション』が入力されてしまいます・・・普段は英数字からひらがなに切り替えるために使っていたのですが・・・それと『』を入力しようとしてキーボードの上の段にある数字のキーとシフトを押すと(普通はシフトを押しながら8と9を入力しますよね)8では『*』9では『(』が入力されたりもします、別にキーボードの設定をいじった覚えはないのですが・・・入力しづらくて困っております、どなたかお助けください。

  • <エクセル>「Aのセルには半角カナ」、「Bのセルには全角かな」と入力指定したい

     件名について教えてください。 「条件つき書式」では全角、半角の指定までできないようです。 マスタの申請書のような頻繁に使用する入力項目が決まっている書類に対して、 毎回書式を指定するのは不便を感じているので、教えてください。  1行目 半角カナ  2行目 全角かな  3行目 半角数字  と、 カーソルをセルに合わせるとその通りに入力できるのが理想です。

  • 【ひらがな】モードでの数字入力

    Wnidows XPを使用しております。 入力方法はローマ字入力です。 テンキーは、右手の移動で時間をロスし、大量の入力が遅くなるので使いたくありません。 【ひらがな】モードでの数字入力(! " # $ % & ' などの記号と共有している数字キーでの入力)についてお尋ね致します。 【ひらがな】モードで文字入力の最中に、数字を半角で入力したい場合、左上の【全角/半角キー】(1の左隣り)で全角から半角に切り替えしなくてはならないのが煩雑です。 例えば、「私は、5月20日生まれです」と入力する場合、下記のようになります。 ・5を入力する前に【全角/半角キー】を押して、全角から半角に切り替える。 ・5を入力した後に【全角/半角キー】を押して、半角から全角に戻す(その後、文字入力)。 ・20を入力する前に【全角/半角キー】を押して、全角から半角に切り替える。 ・20を入力した後に【全角/半角キー】を押して、半角から全角に戻す(その後、文字入力)。 【ひらがな】モードで、数字だけ半角を維持する方法を教えてください(【全角/半角キー】で切り替えしなくても済むように)。 なお、テンキーは使わない前提でお願い致します。 どうかよろしくお願い致します。

  • テプラは半角数字が使えますか?

    テプラPROで、1桁の半角数字を入力したいのですが、 取扱説明書には、QRコード作成時にしかできない と書いてありました。 2桁でしたら半角になりますが、1桁の数字は全角しか使えないのでしょうか?

  • ★ブラウザ上で、半角英数入力で固定されてしまい、全角入力ができない★

    ★ブラウザ上で、半角英数入力で固定されてしまい、全角入力ができない★ ブラウザを複数立ち上げて、検索や書き込みなどしているときに よく起こる現象なのですが……。 ブラウザを複数立ち上げている状態で、別窓に移動して何か文字を入力しようとする タイミングで、今まで全角ローマ字で入力できたのに、半角英数で固定されてしまい、 言語バーで全角を選ぼうとしても選べず、キーボード左上の「半角/全角」ボタンを 押しても切り替わらず、F6~F10もまったく効かなくなる、という現象がよく起こります。 メモ帳やWordなどを開くと言語バーで全角を選択することが可能になり、 そんなことを繰り返すうちに、先ほど半角英数しか打てなかったブラウザ画面でも 再び全角が使用できるようになるのですが、また何かの拍子で同様の現象が起こります。 ブラウザ上での文字入力の際、このような現象(全角入力ができない)が起こった場合、 どのように解決できますか? また、なぜこのようなことが起こるのでしょうか?

  • パソコン入力に付いて

    入力の半角英数と全角英数で半角英文字は全角と切り替え出来て問題無いんですが半角数字だけ切り替えが出来ないんですがやり方教えてくれたら助かります。 半角.全角.ひらがなでやってみて数字だけは全く反応無しで同じなんですが、 今迄懸賞等の入力に何らエラー等で無いので全角.半角で数字も切り替わってると思ってましたが今日通販で買い物仕様として入力してたら数字は半角でとエラー出て何回試しても先に進みませんので教えて下さい、数字半角表示の仕方。