みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
qb_dp様
mic様
Hiro様
Shin様
bottu3様
チポ様
皆様、ひとつひとつ丁寧にご指導いただき、ありがとうございました。
ついに一括置換ができました。
qb_dp様の変換式「GetAsDate ( Date(1;1;1900) + GetAsNumber ( GetAsText ( フィールド:放送日 ) )-2)」を実行したところ、
見事に置換されました。
感謝感激です!
これまでいろいろとお世話になりました。
厚く御礼申し上げます。
チポ様
ご回答くださり、ありがとうございます。
なぜそうなるのかはわかりませんが、
mic様のご回答にあるように、
フィールドに数値が入力されているのにデータのタイプが日付だからかもしれません。
試しに、Excelで以下のようなファイルをつくって、
ファイルメーカーの新しいファイルにインポートしてみました。
-----
「番号」フィールド(標準形式)
1
2
「日付A」フィールド(日付形式)
2017年3月15日
2015年7月20日
「日付B」フィールド(ユーザー設定「yyyy"年"m"月"d"日"」)
2017年3月15日
2015年7月20日
-----
ファイルメーカー側は「番号」は数字タイプ、
「日付A」と「日付B」は日付タイプです。
「番号」と「日付A」は正常に表示されましたが、
「日付B」には「42809」と「42205」が表されました。
(これはExcelとファイルメーカーの日付の差分でしょうか)
残念ながら「0000年00月00日」という表示はされず、
再現できませんでした。
Excelの情報をファイルメーカーが正しく認識したからでしょうか……。
もしかしたら、いろいろやってみると再現できるかもしれません。
Shin様
ご回答いただき、ありがとうございました。
「放送日 + Date(12;30;1899)」で全置換したところ、
見た目は「0000年00月00日」のままですが、
クリックすると「693594」という数字になりました。
どのレコードも同じです。
「42151」のときは、レコードによって違いがありましたが、
今回はすべて同じでした。
mic様
ご回答くださり、ありがとうございました。
「放送日」フィールドの内容を別のフィールドに一括コピーできました。
こういう方法があったとは考えもしませんでした。
ありがとうございました。
>あと計算式が正常に動作していないのは、おそらく「放送日」のフィールドに数値が入力されているのに、
>データタイプが日付のままになっているせいではないでしょうか。
>これを数字に変更すれば計算式が機能するような気がします。
はい、そんな気がしてきました。
試しにフィールドタイプを「日付」から「数字」にしてみたところ、
「42151」などの数字があらわれました。
「数字」にすると、見えていなかった数字があらわれるようです。
ふたたび「日付」に戻したところ、
見た目は「0000年00月00日」になりました。
クリックすると「42151」などの数字が見えます。
bottu3様
ご回答いただき、ありがとうございました。
Excelファイルを調べたところ、
フィールドの設定は「ユーザー設定」で「yyyy"年"m"月"d"日"」となっていました。
事前に「日付」にしておくべきだったのですね。
取引先から送られてきたファイルで知らなかったのですが、
「yyyy"年"m"月"d"日"」と同じものは「日付」にあるので、
選べばよかったですね。
ただ、もはやExcelまで戻ることができないので、
正しく表示できないなら手動で一つずつ修正します。
間違えるのがこわいので一括でできるのが望ましいですが。
もしかしたらファイルメーカーからエクスポートして、
Excelで一括修正し、
再びファイルメーカにインポートする方法があるかもしれません。
あとで試してみようと思います。
Hiro様
ありがとうございます。
「放送日」フィールドの内容をコピーする方法を調べていたのですが、
Excelでフィールドをコピーするように簡単にはできないようでした。
「管理」→「データベース」から「放送日」フィールドを複製したら、
データの内容は複製されず、フィールド名しか複製させませんでした。
追加したフィールドのオプションでいろいろやってみたのですが、
コピーされたりはしませんでした。
初歩的すぎることを質問するのもどうかと思い調べてみたのですが、
どうしてもわかりませんでした。
過去の質問にも、こんな初歩的なものはないようでした。
申しわけありません。
お恥ずかしい限りですが、ご教示願えいますでしょうか。
Shin様
ご回答くださり、ありがとうございました。
バックアップを取ってやってみたところ、
「この式では、この関数を使用できません。」
というメッセージが表示され、置換できませんでした。
「放送日」フィールを選択して(1つのレコードに挿入点を入れて)、
「フィールド内容の全置換」を選択し、
「計算結果で置き換える」で計算式を入れてみました。
このフィールドは日付タイプです。
このようにしたのですが、
メッセージが出てしまいました。
原因がおわかりでしたらご教示くださいませ。
よろしくお願い申し上げます。
Hiro様
再度ご回答いただき、ありがとうございました。
やってみましたが、
前回と同様に、すべてのレコードが「1899/12/30」になりました。
フィールドの名前には、
入れてはいけない文字(スペースなど)があるようでした。
確認してみましたが、特に問題はありませんでした。
元のフィールド「放送日」の見え方は、すべて「0000年00月00日」ですが、
クリックすると「42151」などの数字にかわります。
(おそらく正しい日付に応じた数字なのでしょう)
何か関係があるかもしれませんが、私にはわかりません。
ちょっとお手上げの状態です。
Hiro様
ご回答くださり、ありがとうございました。
さっそく「放送日new2」という日付フィールドを追加し、
「フィールド内容の全置換」で「GetAsDate(放送日 + Date(12;31;1899)*1 -1)」
を入力したところ、
すべてのレコードが「1899/12/30」になりました。
(元の日付のあるフィールドは「放送日」です)
「データベースの管理」のところを見ると、
タイプは「日付」
オプション/コメントは空欄
となっています。
見た目には上記のmic様と同様の結果でした。
念のため、再度フィールドを追加してみましたが、結果は同じでした。
私の理解が不十分なため、このような結果になったのだと思います。
どういたらよいか、再度ご教示いただければ幸いです。
よろしくお願い申し上げます。
mic様
ご回答くださり、ありがとうございました。
さっそく「放送日new1」という計算フィールドを追加し、
計算式「 Date ( 1 ; -1 ; 1900 ) + 放送日」を入力したところ、
すべてのレコードが「1899/12/30」になりました。
(元の日付のあるフィールドは「放送日」です)
「データベースの管理」のところを見ると、
タイプは「計算」
オプション/コメントは「= Date ( 1 ; -1 ; 1900 ) + 放送日」
となっています。
念のため、再度フィールドを追加してみましたが、結果は同じでした。
私の理解が不十分なため、このような結果になったのだと思います。
どういたらよいか、再度ご教示いただければ幸いです。
よろしくお願い申し上げます。
お世話になります。
Excelから日付入りのデータをインポートしたところ、
日付部分が正常に変換されませんでした。
文字化けといっていいかわかりませんが、
すべての日付が「0000年00月00日」となっています。
その部分をクリックすると5桁の数字に変わります。
たとえば、
2015年5月27日
をインポートすると、
0000年00月00日
と見え、そこをクリックすると、
42151
となります。
ほかの日付も「0000年00月00日」となっていて、
クリックすると、別の5桁の数字になります。
上の例では、Excel側は「2015/5/27」と入力さていて、
見た目は「2015年5月27日」となっています。
ファイルメーカー側のフィールドは日付タイプです。
元のExcelに戻ってやり直せば何か方法があるかもしれませんが、
実は、ファイルメーカーで様々な入力作業をしてしまい、
もう元には戻れません。
すでにインポートしたデータをもとに、
日付を正常にすることは可能でしょうか?
修正方法をご存じでしたらご教示くださいませ。
よろしくお願い申し上げます。
Hiro様
チポ様
関数というとハードルが高そうですが、がんばってみます。
ありがとうございました。
チポ様
ご回答くださり、ありがとうございました。
編集ボックスにして確認したところ、エクスポートしたものと同じ順番でした。
いったん、チェックを解除して別の順番にチェックしたら、順番を変更することができました。
チェックした順番が記憶されていて、その順に並べられるということで理解しました。
ということは、値一覧の並び順通りにエクスポートするためには、
値一覧の並び順通りにチェックする必要がありそうです。
どういう順番でチェックしても値一覧と同じ並びにエクスポートするためには、
何らかのプログラムを組む必要がありますでしょうか?
(難しいでしょうからお手上げですが)
エクセルなどで修正することで並び順を変更することができそうですので、
プログラムが必要のようでしたら、エクスポートした後で修正したいと思います。
お世話になります。
チェックボックスで選択した値一覧を含むレコードをエクスポートしたのですが、
値一覧の部分の順番がレコードによって違ってしまいました。
値一覧
画像
名前
あるフィールドで、この2つの値をチックボックスによって選択します。
「画像のみ」「名前のみ」「画像と名前の両方」のいずれかを選択したことになります。
ここでレコードを書き出したとき、「画像と名前の両方」についてですが、
あるレコードでは「画像 名前」という順に書き出され、
あるレコードでは「名前 画像」という順に書き出されました。
「画像」と「名前」の順番が逆になる現象が見られ、
その原因を調べたのですが、どうしてもわかりませんでした。
値一覧では上記のように「画像」「名前」の順に登録してあります。
なぜ、レコードによって逆になることがあるのでしょうか?
一定の並び順になるように設定できるのでしょうか?
ご教示願えれば幸いです。
よろしくお願い申し上げます。
Pages: 1
[ Generated in 0.009 seconds, 6 queries executed - Memory usage: 663.42 KiB (Peak: 684.46 KiB) ]