• ベストアンサー

WEB上で報告書の番号を取れないかと考えています

社内で報告書の管理を行うのに連番を取る事が出来るような仕組みをWEB上で作りたいと思っています。高度な開発環境を用意できないので(本業とは全く別な片手間なので)javaやC言語(linuxに入っているもの)、HTMLなど開発環境を揃えるのにお金が掛からない方法で出来るのかアドバイスお願いします。 イメージでは 1.不特定多数の人間が報告書を作成 2.作成者が報告書の連番を取るページへアクセス 3.例えば、「番号取得」のボタンを押すと番号が発行される。 ここで一番疑問に感じていることは1回のアクセスでは連番を発行できても、次のアクセスではカウンターにリセットがかかっているのではないのか。ということです。 不特定多数の人間がいつアクセスしても最新の番号を取れるようにしたいのです。どこかに最新の発行番号を保持しておかないといけないのです。 プログラミングの経験は無いのですが、出来るようであれば自分の勉強を兼ねて挑戦したいと考えていますのでご回答の程、宜しくお願い致します。

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

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

アクセスカウンタと同じ原理でよいなら簡単に実現可能です。 単純に、アクセスのたびにカウントアップするデータをファイルまたはデータベースに保持すればよいのです。 多重アクセス時の制御を行う必要があるのでロック機構が必要になると思われます。 Cで書くなら http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/ が参考になると思います。 問題は“運用との兼ね合い”でしょう。 発行した連番がキャンセルになったとき、その番号は欠番でよいのか? など…。

参考URL:
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/
maruriri
質問者

お礼

早速の回答ありがとうございます。 参考URLにアクセスしてみたのですが、「Cを理解している」ことが前提のようですね。まずココからはじめなければならないですね。やってみます。 それからおっしゃるように運用面ですね。欠番はいいと思うのですが、WEBサーバ自体が自部署での運用ではないので管理者との交渉も必要ですね。詳しく知らないのですがプロバイダですらCGI禁止がありますので、そもそもCGIを置かせてもらえるのか? また、再度質問になってしまい申し訳ないのですが、perlとは何者なんでしょうか?まだ少ししか調べられていませんが無料で配布されているようですね。Cでもperlでもどちらでもイチから勉強することになるのですが、 ・この目的だけに限定した場合どちらがよいのか ・今後の自分のスキルアップとしてはどちらが良いのか お考えありましたら教えて下さい。

その他の回答 (2)

  • skyusagi
  • ベストアンサー率21% (7/33)
回答No.3

同時に二人の人が番号の発行を要求したときに、同じ番号を発行しないようにプログラムを作るには高度に熟練したプログラミング技術が必要です。その番号が絶対に同じ番号を2つ発行すると困るという種類のものでしたら、やはり専門の方に頼んだほうがよいとおもいます。

maruriri
質問者

お礼

ご回答ありがとうございました。 素人にはむりなんですかね。そこまで大げさにすることはできないので自分でやるしかなさそうです。 ありがとうございました。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.2

perlはプログラム言語です。 C/C++のような「コンパイラ言語」と違い、コンパイル(プログラムテキスト→機械語への変換)を必要とせず、人間の書いたプログラムテキストがそのまま実行可能です。 コンパイラ言語に対してインタプリタ言語またはスクリプト言語と呼ばれます。 実行時にテキストを解釈しする必要があるためコンパイラ言語に比べて実行速度が遅くなります。 スクリプト言語のメリットは「テキストそのものが実行プログラムである」事です。 Webサーバー管理者から見れば「機械語のカタマリが動いている状態」より「テキストファイルが動いている」状態のほうが安心感があるでしょう。 作った人以外の人でもプログラムテキストを読んで不具合の発見が可能だからです。 (Web管理者が修正を加えるかどうかは管理規約によります) Javaも(多くの場合は)インタプリタですが実行速度を稼ぐ為に中間コードといわれる“人間には読み下すことのできない”状態で保存されます。 中間コードで保存されるタイプのインタプリタ言語はスクリプト言語とは呼びません。 この目的(と言うか、CGIに限定した場合)では資料の多さ、不具合修正の容易さでCよりもperlが向いているでしょう。 Web管理者にとってみてもCGIでの利用実績が多いperlの方が安心できると思います。 Linuxベースのサーバーであればphpという選択肢もありますが、現状ではperlの方が資料が豊富です。 将来のスキルアップを視野に入れた場合、スキルアップの目的/方向性を考える必要があります。 linuxベースのWebプログラムを目指すならperl/php/javaの内から選ぶべきでしょう。 もっと汎用的なプログラムを目指すならC++/Javaでしょうか。 スキルアップの目的/方向性が不明であり、Web管理者の管理方針もわからないので今回は“自信無し”です。

maruriri
質問者

お礼

本当に早い回答ありがとうございます。 回答して頂いたようにperlでやってみようと思います。今からの勉強なんでいつになるか分かりませんが・・・。Okwebのどこかにwindows用の無料perlの開発キットのようなものへのリンクがあったと思いますので再度探してみます。 私のスキルアップの目的・方向はあくまでも「趣味的に」です。本業は機械の技術職なのです。部門内でコンピュータ管理を兼任させられてまして、システム部門と自部門の橋渡しなどをしています。コンピュータのことが分かっていると何かと便利なので、趣味と実益を兼ねて資格取得を行っています。現在まで第2種情報処理技術者(旧名称)・初級シスアドを取得しています。なのでコンパイラ・インタプリタの違いは理解できました。 実務でやっているわけではないので、プログラミングの技術は皆無です。自分のHPに自分で組んだCGIを載せる、最初の目標はこの辺りでしょうか。余りにも大雑把なイメージだと思いますがお分かり頂けたでしょうか。

関連するQ&A

  • web 個人特定

    例えば家からwebにアクセスして殺人予告とかしたらIPアドレスから個人の特定は可能ですよね?だったらFREESPOTとかの不特定多数の人がアクセス出来る場所から 犯罪行為をしたら個人の特定は可能ですか? たとえば機種固有の番号があってそこから個人を特定することができるとか

  • Wordの連番機能により自動的に振られた見出し番号を通常の文字列に変換したい

    MicrosoftWord2003を使用しています。 Wordの連番機能により自動的に振られた見出し番号やその見出しへの相互参照を、書式を保持したまま一括して通常の文字列に変換したいです。 分野ごとに分担して文書を作成しているのですが、これを統合する際に自動連番機能を使用している担当者と使用していない担当者がおり、統合時に連番の不整合が生じるため、一律に自動連番機能は使用しないことになり、対応に苦慮しています。 よろしくお願いします。

  • Accessで主キーの最終番号を取得したい

    Access2000を使用しています。 以下のようなテーブルを作成し、町内毎に 実施したアンケートを集計しようと思います。 *************************************** 「アンケートテーブル」 --------------------------------------- 町内    テキスト  3バイト   入力連番  数値    4バイト 設問1   テキスト  1バイト (主キー= 町内+入力連番(7バイト)) **************************************** これに対し入力用のフォームを作成しました。 非連結のテキストボックスに町内名を入れると自動的に 町内ごとの入力連番の最終番号を取得し、「町内」と「入力連番」 のテキストボックスに町内名と入力連番(の最終番号)を表示させ 「設問1」のテキストボックスにフォーカスを移動させたいのですが 主キーが2つ以上のフィールドを組み合わせてできている場合の最終 番号の取得のやり方とテキストボックスに表示させるやり方がよく 分かりません。 Dmaxを駆使すればよいのだと思いますが、どなたか解説していただけ ばありがたいのですが・・・・。 どうぞよろしくお願いいたします。

  • ポート番号

    この度、社内公開しているWEBサーバに対し、特定のポート番号のみ開放して残りはすべてフィルタをかけて閉じました。 しかしこの為、今までアクセス出来ていたこのサーバ上の共有フォルダに、クライアントからアクセス出来なくなってしまいました。 別途特定のポートを開放して解決出来るのであれば、その番号のみ追加開放しようと考えております。素人で申し訳ありませんが、ご存知の方がいらっしゃいましたらご教授ください。 環境としてサーバはNT Server4.0、クライアントはWINのXPと2000です。 宜しくお願いいたします。

  • access2000

    ACCESS2003 VB5で作成した、レポート作成プログラムで プレビューができるのですが それを ACCESS2000環境で実行すると、プレビューはするのですが すぐ消えてしまいます。 2003では、保持されて、ACCESSで終了しない限りは消えないのですが 2000では、保持されません。 何をどうしたらよいのかわかりません 教えて頂けないでしょうか?

  • 特定のページのみのアクセスを許可する方法について

    ある特定のサイトのみへのアクセスだけを許可する方法ってありますか?事務所のパソコンからなんですが、不特定多数の人間がそのパソコンを利用できる状況下で、特定のドメインのサイトのみへのアクセスを許可したいという事です。 環境は、OS10.4 ブラウザはサファリ     Win2000 ブラウザはIE の2台なんですけど、わかる方お願いします。

  • ACCESS2000でグループごとに連番を振りたい

    ACCESSで登録フォームを作成し、 そこで、下記のようなテーブルを作ろうとしてます。 伝票番号 明細番号 商品   1   1   りんご   1   2   みかん   2   1   すいか   2   2   かき   1   3   なし   3   1   くり 伝票番号ごとに連番を振って行きたいのですが、 オートナンバー型にしてしまうと、伝票番号に 関係なく、連番を振ってしまいます。 この場合の解決方法を教えていただけないでしょうか。

  • 伝票番号は、日付順に並んでいないといけないのでしょうか?

    通常、伝票処理を毎日毎日やっていれば、伝票番号は日付が進むにつれて、古いものから新しいものへと発行されます。ところが、2ヶ月前にいただいた領収証が出てきて、2ヶ月前に経費が発生していたことを記帳するようなことが往々にして発生します。このとき、2ヶ月前の日付に最新の伝票番号が振られてしまいます。つまり、日付順に並ばないわけです。 また1年間たまりにたまった帳簿処理を一気にやるぞ! というような話をよく聞くのですが、この場合も伝票番号と日付の順序にズレが生じます。口座が複数あるとして、A口座の処理をしてからB口座の処理をしてしまうと、A口座の最後の伝票番号とB口座の最初の伝票番号が連番続きとなります。しかし、日付は離れているわけです。 日付と伝票番号のズレの問題は、帳簿処理を行う上で、税務上、問題ないのでしょうか?

  • ☆accessでの蔵書作成について☆

    ☆accessでの蔵書作成について☆ こんばんわ。会社のaccessで蔵書作成を作ろうとしています。参考になるサイトがあれば教えてください!※無料ソフトのダウンロードは禁止されているため出来ません。今後のためにも一から作成したいと思っています。 ■蔵書数:100冊程度 ■winXPでaccess98 ■アクセスのレベル:ラベルを作成する程度 ■フィールド予定:棚番号(棚がたくさんありそこに本があるので棚番号をつけます)、書籍名、著者名、出版社名、発行年月日、項目(経理系等) ■希望:(1)キーワード(書名の一部、作者、分類(経理系等)、発行年月日)を入れると、どの棚にあるのか分かる (2)特定の本ではなく、例えば確定申告関係の本を探すとき、確定申告と入れると、その題名が含まれているものがヒットし、またどういった書籍か(発行年月日等、フィールドに入れたもの)が分かる よろしくお願い致します。

  • ACCESS フォームに自動連番をふる

    Accessでテーブル→クエリ→フォームと作成し、フォームから特定条件を指定して データを抽出しました。 その抽出したデータに自動連番をつける方法を教えてください。