• ベストアンサー

一意のデータを取得

現在、ASPを利用して DBへ登録するプログラムを組んでいます。 そこで、DBへ登録時に主キーとして使う一意のデータを 作りたいのです。 DB(例えばaccess)のオートナンバー型式を使えば、できますが、これをASPプログラムのほうで作成したいのです。 宜しくお願いします。

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

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

自己フォロー Right("0000" & Year(Now), 4) _ & Right("00" & Month(Now), 2) _ & Right("00" & Day(Now), 2) _ & Right("00" & Hour(Now), 2) _ & Right("00" & Minute(Now), 2) _ & Right("00" & Second(Now), 2) _ & CStr(Session.SessionID) 現在秒入れるの忘れてました。

superstar
質問者

お礼

なるほど。 時間 + セッションで一意にするということですね。 簡単で大変有効だと思います。 ありがとうございました。

その他の回答 (1)

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

少々長くなりますが、 Right("0000" & Year(Now), 4) _ & Right("00" & Month(Now), 2) _ & Right("00" & Day(Now), 2) _ & Right("00" & Hour(Now), 2) _ & Right("00" & Minute(Now), 2) _ & CStr(Session.SessionID) とかどうでしょう?

関連するQ&A

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

  • MySQLにデータを登録した後、すぐ直前のデータを読み込む方法は?

    お世話になっております。 PHPでデータベースを作成しています。 同じページの中にデータをデータベースへ登録し、すぐ直後にauto_incrementの値を読み込み、変数にセットしたいのですが、うーーーん・・・ってな具合です。。 データは何でもいいのですが、主キーはauto_incrementにしています。(例:現在、100件データを入れている状態で、新規にデータを登録します。ID(主キー)は101になります。そのデータを登録した直後にこのIDの値101を取り出したいのです。) すみませんが、よろしくお願いいたします!!

    • ベストアンサー
    • MySQL
  • アクセスのオートナンバー

    XPのアクセスを使っています。 オートナンバーに主キーが設定されています。 データを入力するとオートナンバーが「1・2・3~」と振られていきますが、もし「3」のデータを消去すると「1・2・4~」となります。 私的にはツメて「1・2・3~」となって欲しいのですが無理なのでしょうか?オートナンバーとはそういうもの? アクセス超初心者ですのでよろしくお願いいたします。

  • XMLで主キーを自動的に入力する方法

    VB.NET2005で家計簿を作っています。 データの保存はXMLで行いたいと考えています。 DataSetにshishutuテーブルとShopテーブルをつくり、shishutuテーブルにはShopテーブルの主キーのデータを格納することで二つのテーブルを連携したいと考えています。 そこでデータ入力時に自動的に主キーを入力したいと思うのですが、Accessのようにオートナンバー型などがないので、一意のデータをどのように入れたらいいか悩んでいます。 Rows.Countでは、データを削除するとデータが重なるなど不具合も出てくるのではないかと思っています。 そこで 1. いつ、どの時点で 2. どのようなプロパティを参照にして 3. 一意のデータを作ればよいか? についてやもしくは「そもそもXMLでは主キーを自動的に入れることは不向きで別に良い方法がある」などのご意見を伺いたいと思います。 なにか良い知恵がありましたらよろしくお願いします。

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • 一意の文字列を構造体に格納したい

    VisualBasic6.0で開発を行っています。 あるデータを取得するときにキーが重複しているデータが存在し、構造体に一意に格納したいのですが、重複した文字列は処理を省くようにできる関数などはありませんでしょうか? DBで一意に取得が一番いいのでしょうが、それができないような形になっています。 アドバイスお願いいたします。

  • 主キーやオートインクリメントの事教えて!!!

    はじめまして。私は今ショッピングサイトを作ろうとしているものです。 データベース、Mysqlのプロフェッショナルに質問したいことがあります。 今作ろうとしているショッピングサイトでは顧客登録機能を付けようと思っています。顧客の主キーはメールアドレスにしようと思っているのですがいいんでしょうか? もちろん登録するときにメールアドレスが重複していないかのチェックはかけるので重複することはないと思いますがどうなんでしょう? またメールアドレスは顧客変更で変更される場合もあります。ですから主キーが変わるということになります。(変更時にもプログラムで重複チェックをかけるので重複はしないですが) それか別にオートインクリメントなどを主キーにするほうがいいでしょうか? 例 オートインクリメント メールアドレス 名前 住所 etc・・・ これなら主キーは一意にできますが知り合いから聞いた話ではオートインクリメントはあまり主キーなどに使わないほうがいいと聞きました。 皆さんならどんな感じのテーブルを作成しますか?

    • ベストアンサー
    • MySQL
  • Access2003 データ型 オートナンバーについて エクセルからテ

    Access2003 データ型 オートナンバーについて エクセルからテーブルをインポートする方法 主キーである、IDと名をつけたフィールドのデータ型は"オートナンバー"でレコード新規入力際、自動で番号がふられていくようにしています。 このテーブルにエクセルのレコードをインポートして追加したいのですが、インポートできません。 ※オートナンバーフィールドが原因と思われます。 どうすれば、エクセルからこのテーブルにレコードをインポートし、追加されたレコードにオートナンバーで番号を割り振る事が出来ますででしょうか? 最も、シンプルな方法をお教え願います。

  • データアクセスページを利用してDBを更新するには?

    みなさん初めまして。この度業務上の要求からwin2000+アクセス2000でDBを作成し、そのデータをブラウザから閲覧・更新するシステムを作成しなければなりません。初心者ながら作成してみたものの、閲覧は出来ても更新(入力)が出来ません 。何が問題なのか、どなたか教えていただけないでしょうか? テーブル1(メイン)  ID・・・オートナンバー、主キー  品名・・・テキスト型、テーブル2の種別フィールドをルックアップ  用途・・・テキスト型、テーブル3の用途フィールドをルックアップ  購入方法・・・テキスト型、値リストからルックアップ  日付・・・日付型 テーブル2(ルックアップ用)  種別・・・テキスト型、主キー テーブル3(ルックアップ用)  用途・・・テキスト型、主キー 以上が簡素化したテーブル構成です。web上でルックアップを使用しているフィールドはドロップダウンで表示させています。  以上拙い文面で申し訳ありませんが、ご指導よろしくお願いします。

  • アクセス2003のテーブルとフォームの関係

    私はアクセス初心者です。 簡単なテーブルをまず作成しました (主キー、オートナンバーなどは設定していません) そのテーブルを保存し、次にフォームを作成してデータ入力しました。 そのデータを保存して、次にテーブルを開くとフォームで入力した 順番には入らずに、バラバラにテーブルに入力されています。 アクセスとはこういうものなのでしょうか? それと、これはどういう順番で並んでいるのでしょうか? なにぶん初心者なものでよろしくお願いいたします。

専門家に質問してみよう