プロが教えるわが家の防犯対策術!

よろしくお願いします。
Access2000を使い重複コードに連番を振りたいと思っています。
100-12
100-12
110-22
110-22
110-22

100-12/1
100-12/2
110-22/1
110-22/2
110-22/3
と言ったないようにしたいです。
よろしくお願いします。

A 回答 (2件)

多分、提出されているデータだけで、質問者さまの要望することは、不可能です



なぜ?
100-12
100-12
と、同じデータに見えます、Accessの場合、上、下と言う概念がなく、ただ同じデータとして見ます
コンピュータに命令を与える際、どちらにどの番号を振るか?明確になっていない事を行うのは不可能と言うことです
ですので、これ以外に、データを付加し・・・どっちを「100-12/1」、どっちを「100-12/2」と明確に命令を与える必要があります

そのために、こう言う意味を持たせたものを主キーなどに設定せず、オートナンバーなどで、主キーの代用、意味を持たせたナンバーを検索用に使うこととデータベース上設計することになることをが、多いと言うことね

この回答への補足

早速回答ありがとうございます。

説明不足ですいません、テキストデータをインポートしたもので、オートナンバーがついています。
オートナンバーの昇順に「100-12/1」「100-12/2」でもかまいません。
1 100-12/1
2 100-12/2
3 110-22/1
4 110-22/2
5 110-22/3
といった感じです。
よろしくお願いします。

補足日時:2009/04/07 13:29
    • good
    • 0

#1です



テーブル名 : Sample
IndexKey
1100-12
2100-12
3110-22
4110-22
5110-22

として、クエリにてSQL文を

SELECT Sample.*, [Key] & "/" & DCount("*","Sample","[Key] = '" & [Key] & "' And [Index] <= " & [Index]) AS NewKey
FROM Sample;

と、すると・・・

IndexKeyNewKey
1100-12100-12/1
2100-12100-12/2
3110-22110-22/1
4110-22110-22/2
5110-22110-22/3

のように出来上がります
DCount関数で、同じ[Key]の自分のレコードより[Index]が小さいをレコード数を数えてると言うことね
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す