いいね!数

0

閲覧数
384

お世話になります。

 

ノーツDBのフォーム名を格納するのフィールドについて不具合が発生しているため、

DIIOPを使用して、外部アプリケーションがノーツDBに読み書きがうまくできない状態となっております。

 

その原因となっていると思われるのが、ノーツDBのプロパティでフィールド情報を確認すると、

通常、頭が英大文字で「Form」とフィールド名が書かれた項目にフォーム名が格納されていると思いますが、

この不具合があるDBはが下図のように文章のフォーム名を格納するフィールド名が「form」となっております。

 

DBが破損しているのが原因が何かわかりませんが、このようになった原因がわかる方はいらっしゃいますでしょうか?

 

 

 

また、自分自身ノーツのフィールド名についてよくわかっていない部分はありますが、

このDBの場合は、文書作成時にフォーム名を「$Title」などにも入れた方が良いのでしょうか?

 

 

以上

サーバー情報: | クライアント情報: | 
カテゴリ:トラブルシューティング | タグ:
  | 質問日時:Oct 21, 2016, 9:58:18 AM

回答・コメント

いいね!数

0

一応、自己解決はしました。

$Titleにフィールド名を入れた場合は、DIIOPを使用して、外部アプリケーションが使えそうなため、

このDBに関しては、それで何とかしたいと思います。

 

しかし、「フィールド名:form」 ( form の f が英小文字になる ) に関しては、直し方が不明で、何故このようになったのでしょうか?

 

回答日時:Oct 21, 2016, 6:01:17 PM

いいね!数

0

"Form"と言っても、単なるフィールドの扱いだったような。中身も変えられるし、削除もできたような。

削除した後に小文字の"form"で新たにフィールド作れるようなきもします。

あまり気にする必要はないと思いますよ。

/Yac

回答日時:Oct 21, 2016, 6:17:19 PM

いいね!数

1

気になったので、調査してみました。

結論から言うと、Notes DBに最初に作成した文書のフォームフィールド名がそのまま引き継がれます("Form"なのか"form"なのか)。

一度文書を作成してしまったら、そのNotesDB内でのフォームフィールド名は固定になってしまい、変更することはできないようです。

さらに、"forM"のような名前でも作成することができるので、"Form"といった文字列での比較をする場合は

一度大文字もしくは小文字に変換するなどしてから行ったほうがよいでしょう。

なお、Notes文書内の「$TITLE」という予約フィールドは、「フォームを文書に格納」というフォームのオプションにチェックを入れた場合に有効になるものなので、別の目的で使用することはお勧めしません。

 

詳しくはこちらをどうぞ。

http://guylocke.blogspot.jp/2016/10/blog-post.html

回答日時:Oct 24, 2016, 2:16:07 PM

いいね!数

0

自分でいろいろ試してみないとダメですね。勉強になりました。

これからは、一番最初のフォーム名に注意して作成したいと思います。

調査して頂いてありがとうございました。

 

フォーム名が頭が英小文字の「form」になってしまったDBですが、

 

 データベースバックアップ後にノーツDBのデータを全部消去 → 圧縮 

 → DBの設計とアクセス権のみコピー → デザイナーで開き、Fが英大文字で「Form」フィールド作成

 → 適当に文章作成 → 文章のフィールド情報を確認し、内部のデータが修正されたのを確認。

 

 → 保存してあるDBをノーツクライアントから起動 → 文章をすべて選択してコピー

 → 修復したDBにすべての文章貼り付け → 仮で作成した「Form」フィールド削除 で復旧しました。

回答日時:Oct 24, 2016, 4:10:15 PM

いいね!数

0

その後の開発でまた不具合が起こったので、情報共有します。

Formフィールドのみかなと安心していたら、他のフィールドも同様の仕様と思われます。

最初にデータを作成したフィールド名で固定されるようです。

 

フィールド名を作成する際は、大文字小文字でフィールド名を識別しない方が良さそうです。

 

 

 

回答日時:Nov 11, 2016, 8:58:29 AM