• ベストアンサー

(ACCESS/複雑です)次回出た数字を桁別&同桁の数毎に分けて記録し、表示したいのですが…

こんばんは、非常にややこしい質問ですがよろしくお願いします。 1~19までの数字が書かれた19枚のカードから4枚を同時に引いて 出たカードの数字を記録していくデータベースを作るとき、 1~9(一の位)、10~19(十の位)というように それぞれの桁ごとにグループを分け、 ・一の位 1が出た次回、同桁(一の位)が1つの時を記録し表示 1が出た次回、同桁(一の位)が2つの時を記録し表示  ・  ・  ・  9が出た次回、同桁(一の位)が1つの時を記録し表示 9が出た次回、同桁(一の位)が2つの時を記録し表示 (可能ならば) 一の位が出なかった次回、同桁(一の位)が1つの時を記録し表示 一の位が出なかった次回、同桁(一の位)が2つの時を記録し表示 ・十の位も↑で書いた一の位と同じです 10が出た次回、同桁(一の位)が1つの時を記録し表示 10が出た次回、同桁(一の位)が2つの時を記録し表示  ・  ・  ・ というように今回出たそれぞれの数字を基準にして 次回出た数字を 桁べつに & 同桁の数ごと(1つの場合と2つの場合)に 分けて記録し、表示するクエリを作成するにはどうすればよいのでしょうか? ACCESSの知識が豊富な方、ご助力をよろしくお願いいたします。 --------------------------------------------- 今現在あるテーブル ・結果テーブル…引いた4枚の数字を記録      テーブル 「結果テーブル」    フィールド名 「回数」「1枚目」「2枚目」「3枚目」「4枚目」           (全て数値型)

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

  • ベストアンサー
noname#15396
noname#15396
回答No.2

 SQLビューで以下をコピペしてください。 SELECT 結果テーブル.回数, IIf(Len(結果テーブル!1枚目)=[桁],結果テーブル!1枚目,IIf(Len(結果テーブル!2枚目)=[桁],結果テーブル!2枚目,IIf(Len(結果テーブル!3枚目)=[桁],結果テーブル!3枚目,結果テーブル!4枚目))) AS カード1, IIf([同桁の数]>1,IIf(Len(結果テーブル!4枚目)=[桁],結果テーブル!4枚目,IIf(Len(結果テーブル!3枚目)=[桁],結果テーブル!3枚目,結果テーブル!2枚目))) AS カード2 FROM 結果テーブル, 結果テーブル AS 結果テーブル_1 WHERE (((結果テーブル.回数)=[結果テーブル_1]![回数]+1) AND ((Abs((Len([結果テーブル]![1枚目])=[桁])+(Len([結果テーブル]![2枚目])=[桁])+(Len([結果テーブル]![3枚目])=[桁])+(Len([結果テーブル]![4枚目])=[桁])))=[同桁の数]) AND ((IIf((Len([結果テーブル_1]![1枚目])=[桁])+(Len([結果テーブル_1]![2枚目])=[桁])+(Len([結果テーブル_1]![3枚目])=[桁])+(Len([結果テーブル_1]![4枚目])=[桁])=0,0,1))=[1(出た)、0(出なかった)]));  このクエリを開くと、「桁」、「同桁の数」、「1(出た)、0(出なかった)」の入力を促されます。「桁」は、1桁なら「1」、2桁なら「2」。「同桁の数」は、1つなら「1」、2つなら「2」。「1(出た)、0(出なかった)」は、出た次回なら「1」、出なかった次回なら「0」を入力してください。

kintetsu
質問者

お礼

回答ありがとうございます 参考にします

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

意味が良く分かりませんが1~19の数字をクエリで桁別に分けたいという事なら Len([1枚目]) Len([2枚目])   ・ '3・4枚目も同様として数字が1桁か2桁か求めるようにして抽出する。 結果テーブルを元にクエリを作り 1回目桁:Len([1枚目]) 2回目桁:Len([2枚目]) 3回目桁:Len([3枚目]) 4回目桁:Len([4枚目]) とすれば カードが1・5・10・1と出た場合 1 1 2 1 と桁数が返ります。 カードが10・12・4・8と出た場合 2 2 1 1 のように返ります。 この値を元に抽出をかければ良いのではないでしょうか。

kintetsu
質問者

お礼

回答ありがとうございます。 桁別には分けられたのですが… ある数字が出た次回、その数字と同じ位の 数字が1個の場合と2個の場合の時をそれぞれ 抜き出したいのですが… うまく説明できてませんね…

kintetsu
質問者

補足

関連するQ&A

専門家に質問してみよう