DOBON.NET DOBON.NETプログラミング掲示板過去ログ

3進法の公式?

  • 題名: 3進法の公式?
  • 著者: プロフ
  • 日時: 2004/07/10 14:52:11
  • ID: 4776
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
分類:[その他]

Accessでデータベースを作っているのですが、
入荷した商品の振り分けに苦労しています。
入荷順に、1個ずつA,B,Cの3箇所に割り振って、
1から通し番号で番号を振っており、後で○○番が何処に行ったのかが知りたいのです。

通し番号を基に、A,B,Cのどれに該当するか知る方法はないでしょうか?
今は、3で割って余りで判断する様にしていますが、複数を抽出する場合大変なので、
Accessで自動抽出出来る様にしたいのです。
例えば、元の数字を3進法に変換し、
上の位が、0か1か2かで判断する様にしたいのですが、
3進法に変換する公式などはあるのでしょうか?

ご指導宜しくお願い致します。
  • 題名: Re[1]: 3進法の公式?
  • 著者: 深山
  • 日時: 2004/07/14 17:35:49
  • ID: 4858
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No4776に返信(プロフさんの記事)

 プロフさん、こんにちは。深山と申します。

> 通し番号を基に、A,B,Cのどれに該当するか知る方法はないでしょうか?
> 今は、3で割って余りで判断する様にしていますが、複数を抽出する場合大変なので、
> Accessで自動抽出出来る様にしたいのです。
> 例えば、元の数字を3進法に変換し、
> 上の位が、0か1か2かで判断する様にしたいのですが、
> 3進法に変換する公式などはあるのでしょうか?

 えっと‥‥3進法に変換というのはどのようなものをイメージしてらっしゃるのでしょうか?
 ○進法(進数)というのは数値の表現方法であって、(当然ですが)値そのものが変わる
わけではありません。例えば 10 という値を3進法で表現すれば 101 となりますが、
そういった表記をしたいわけではありませんよね?

 お望みのようなことをするには、プロフさんが既になされているように剰余を計算するのが
常道ではないかと思います。
 ただ、『複数を抽出する場合大変』と仰られてるのが気になりました。大変って
どのような処理をされてるのでしょうか? 剰余演算をするだけだと思うのですけど‥‥。
 VB 系であれば Mod 、 C 系であれば % が剰余演算子になります。
# もっと別の理由でしたらごめんなさいm(__)m

 今回は Access を使用されているということですので、予めビュー(選択クエリ)を
作成しておくのも良いかも知れません。
 デザイン画面を SQL ビューに切替えて、次のような内容で。

SELECT *, [通し番号] MOD 3 AS [商品振分] FROM [対象テーブル]

DOBON.NET | プログラミング道 | プログラミング掲示板