ファイルメーカーPro6(Mac)を使用してます。
ソート順位を指定する方法として、レコードにIDというフィールドを作り、シリアル番号を自動入力するようにしております。
通常は、自動入力された整数値で問題ないのですが、後から登録するレコードを、途中に割り込ませたいとき、「12.5」のように、手動で小数をつけてならび順を制御してました。

これで、任意の順番で並ぶようにソートすることが出来るようにはなりましたが、あまりにも数字がめちゃくちゃになってきたので、1から順に整数値になるように、整理したいのですが、どのようにすれば出来るでしょうか?

また、小数点を使わない、別のいい方法がありましたら御教授下さい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

全置換を使います。


後戻りできないのでファイルをバックアップしてから

ソートした後にIDフィールドに移動し、
メニューから レコード>フィールド内容の全置換 で
「シリアル番号で置換」すれば簡単です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
まさしく、私が求めていた方法です。
これで番号がきれいに整列できました。

開始値を001としておけば、0つきの数字で入力してくれました。
検索をかけて、任意のレコードの集合にIDを振ることも出来ました。
ファイルメーカーがますます便利に感じられます。
ありがとうございました。

お礼日時:2005/04/16 01:01

「ステータス(レコード番号)」を表示する計算フィールドを作って、整理したいときにIDフィールドにコピーしては?


上から順に番号を振っていくスクリプトでもいいと思いますが。

それと、根本的な解決ではありませんが、シリアル番号の増加分を10にしておくと途中追加があっても整数での整理がしやすいのではと思います。
    • good
    • 0
この回答へのお礼

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

計算フィールドや、スクリプトについて、まだ勉強が足らないため、ちょっとわかりませんでした。
なので、せっかく教えて頂いたのですが、試しておりません。
申し訳ありません。

増分を10にというのは、登録するレコードが多いのと、分類によって000番台、100番台、200番台、、、と言う風にID値を決めておりますので、こちらも残念ながら採用できませんでした。

お礼日時:2005/04/16 01:09

一番簡単には、エクスポートして表計算ソフトに読み込み、そのフィールドで昇順にソートして、きちんと並んだらそのフィールドを整数の昇順に書き換えます(excelなら一番上のセルの右下隅をクリックしてoptionを押しながらドラッグ)。



元のデータベースはレコードをすべて削除しておき、書き換えたデータをインポートします。
※誤操作に備えて元のデータベースのバックアップを取っておいてください。

小数点を使わない方法はあまり思いつきませんが、シリアル番号ってそういう使い方にはあまり向きませんよね。レコードの作成日を初期値として自動入力するフィールドと、作成時刻を初期値として自動入力するフィールドを作っておいて、それらのフィールドでソートするようにする方法が考えられます。順番を変えたい場合は対象レコードの作成日や作成時刻を編集します。

しかしこの方法は、小数点を用いる方法より手間が少ないわけではありません。見栄えが悪くならないだけです。理想的には、IDフィールドに3なら3と入力すると、それまでIDが3だったレコードのIDが4になり、それ以降のレコードのIDが順次、自動的に書き換わってくれればいいのですが、ファイルメーカーでは、トリッキーな方法を使わない限り難しいと思います。
    • good
    • 0
この回答へのお礼

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

データを外部ソフトで編集というのは、私も考えていましたが、表計算ソフトは思い付かなかったです。

お礼日時:2005/04/16 01:05

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAVRマイコンの割り込みについて

AVRマイコンの割り込みについて

初心者です。
・AVRマイコンの割り込みの優先順位ですが、割込みベクターのアドレスが小さい順に優先度が高いでよろしいでしょうか?
・優先低の割り込みルーチンを処理している時に、優先高の割り込みが入った場合、
 (1)優先低の割り込みルーチン処理中断→優先高の割り込みルーチンの処理、完了→優先低の割り込みルーチン処理再開(中断ヶ所から)
 (2)優先低の割り込みルーチン処理、完了→優先高の割り込みルーチンの処理、完了
 (3)その他
(1)、(2)、(3)のどの処理が行われますか?
・優先高の割り込みルーチンを処理している時に、優先高の割り込みを禁止し、ルーチン内で優先低の割り込みが入った場合、優先高の割り込みルーチンから優先低の割り込みルーチンにとばすことは可能でしょうか?

以上、よろしくお願い致します。

Aベストアンサー

AVRは使用経験がないのでマイコン一般的な回答ですが、
・優先度は割り込みごとに設定できるものが多いです。同優先度の割り込みが複数入った場合にどうなるかはハンドラ次第です。

・多重割り込みをサポートしていない、あるいは有効にしていない場合は(2)です。多重割り込みが有効の場合は(1)ですね。

・多重割り込みで可能なのはより高優先の割り込みのみです。ISR実行中にその割り込みを禁止したとしても、ISR自体が終了する訳ではない上に優先度は有効のままですから、ISR中に低優先度割り込みが入ることはできません。

Qエクセルで、小数点が整数に表示されてしまう

初めて質問します。
エクセルにて、小数点(2.5)で入力するも、
整数で(3)で表示されてしまいます・・。
どこを操作すればちゃんと小数点で表示されるのでしょう・・?
仕事がはかどらず困っています。
誰か教えてください!

Aベストアンサー

ツールバーの書式→セル→表示形式→数値で小数点以下の桁数を1にすれば小数以下一桁、2にすれば二桁まで表示できます。

Q割り込み処理について

割り込み処理について

初心者です。
AVRマイコンの割り込み処理について質問させて頂きます。
INT0割り込みの割り込みが入ったら、割り込みルーチン中の他の割り込みを許可し、かつINT0の割り込みを禁止したいのですが、下記ソースで問題はありませんか?
INT0割り込みが終了して、メインルーチンに復帰した直後にINT0割り込みを許可したいのですが、下記ソース(1)で問題はありませんか(メインルーチンに復帰した直後に許可したいのですが、方法がわかりません)?

ISR(INT0_vect,ISR_NOBLOCK)
{
    int0割り込み禁止
     ・
     ・
     ・
     ・
   (int0割り込み要求フラグクリア) ・・・・(1)    
   (int0割り込み許可)         ・・・・(1)  
}

よろしくお願い致します。

Aベストアンサー

初心者なら、マイコンのマニュアルを見てプログラムできるようになる練習をすることです。

URLに個別の割込みマスクとretiでの動作等書かれています。

・SREG ($3F) : Status Register
bit7-I : Global Interrupt Enable
すべての割り込みを可能にするにはこのビットを1にする必要があります。割り込みがかかるとクリアされ、割り込みルーチンの終わりでRETI命令がかかると同時に再びセットされます。CEI,SEI命令でクリア,セットできます。

にあるように、基本的にはAVRの割込みモデルは多重割込みでない対応としているようです。
これを
>割り込みルーチン中の他の割り込みを許可し
ということなので、多重割込みの対応をしたいようですが、多重割込みについての問題点等
検討されているでしょうか。たとえば、多重割込みでは何重の多重割込みを想定して、それに必要なスタックサイズは検討されていますか?

されているとして、以下のようになると思います。

ISR(INT0_vect,ISR_NOBLOCK)
{
    int0割り込み禁止
    ・SREG ($3F) : Status Register bit7-I : Global Interrupt Enableを1にする。
     (これで割込み許可になる。もともと他の割込みは許可されているものと考えています。)
     ・
     ・このへんは他の割込みが許可状態。
     ・
     ・
    ・SREG ($3F) : Status Register bit7-I : Global Interrupt Enableを0にする。
   (int0割り込み要求フラグクリア) ・・・・(1) これは不要と思います。(理由)   
   (int0割り込み許可)         ・・・・(1)  
}

理由:
・割り込みフラグは割り込みが起こったときにセットされ、割り込みハンドリング時に自動でクリアされます。割り込みをマスクしていた場合にはフラグは立ったままとなります。

参考URL:http://ww2.tiki.ne.jp/~maro/AVR/programing/index.html

初心者なら、マイコンのマニュアルを見てプログラムできるようになる練習をすることです。

URLに個別の割込みマスクとretiでの動作等書かれています。

・SREG ($3F) : Status Register
bit7-I : Global Interrupt Enable
すべての割り込みを可能にするにはこのビットを1にする必要があります。割り込みがかかるとクリアされ、割り込みルーチンの終わりでRETI命令がかかると同時に再びセットされます。CEI,SEI命令でクリア,セットできます。

にあるように、基本的にはAVRの割込みモデルは多重割込みでない対応と...続きを読む

Qエクセルのようで画像もソートできるものを探しています。

こんにちは。

1)エクセルのように列を選択しソートできる機能をもっていて、

2)「セル」の中に、画像も埋込み可能で、ソートに連動して配置転換する

ことが可能なソフトを探しています。

なにか、該当ソフトをご存知の方、教えてください。
どうぞ、よろしくお願いいたします。

Aベストアンサー

#1です。補足ありがとうございます。
|ツール|オプション|編集|「オブジェクトをセルとともに切り取り、コピー、並べ替える」
以上がチェックなしの状態で試したところ、画像は並べ替えられませんでした。
このオプションの状態を確認してみてはいかがでしょうか。
なお、以上の環境はEXCEL2000です。

Qシステムの割り込みについて システムの割り込みで調べてもよく分からないのですが遅延など調べましたが、

システムの割り込みについて
システムの割り込みで調べてもよく分からないのですが遅延など調べましたが、主にシステムの割り込みとはどんなのでしょうか?
先程cpuが1%(何もしてない時1〜0%)でしたがシステムの割り込みというはじめて聞いた単語がありましたので質問されていただきました。
システムの割り込みが0〜0.3%になっていて何か動いているのかなと思い数分ほど放置しましたが常に0〜0.3%だったのでシャットダウンしましたが割り込みと書いてましたのでもしかしたらシャットダウンとかしない方が良かったのでしょうか?

Aベストアンサー

ある処理の途中に、その処理以外の事象発生により、処理を中断(これが割り込みです)して別のことを行う様なことを言います。
例えば、円周率πの計算プロセスが稼働中はほぼCPU100%で動作しますが、この計算中にDVDメディアが装填されて自動再生が動き出すケースです。これは円周率πの計算中にDVDデバイスからシステムに割り込みが入り、システムが計算を一旦中断して自動再生プログラムを起動(CPUをこの処理に回す)したらかなる状態なのです。
割り込み要件には、上記のデバイスの割り込みの他にタイマーの割り込み(特定の時間が経過したらある処理を実行する等)や他のプロセスが終了したことによる割り込み等多種多様なものがあります。

Qアクセスで複数レコードを1レコードにできますか?

アクセスで複数レコードを1レコードにできますか?

お世話になります。
お教えください。
以下のようなレコード(テーブル)があります。

氏名 日付  金額
aaa 5/12 200
aaa 5/24 500
bbb 5/01 300
ccc 5/04 100

これを

aaa 5/12 200 5/24 500
bbb 5/01 300
ccc 5/04 100

のようにデータを表示(クエリで)したいのですが
どのようにしたらいいでしょうか?

Aベストアンサー

それはクエリーではできないと思います。
以下のような形であればクロス集計クエリーで可能ですが。
(ただしこの場合には同一の氏名、日付で合算されます。また_は回答時の桁ずれの補正のため記入しているだけですので実際のクエリーでは表示されません。実際の見た目の画像は添付いたします。)

____5/01_5/04_5/12_5/24
aaa____________200__500
bbb__300_______________
ccc_______100__________

Qpicタイマ0割り込みについて

タイマ0割り込みについて教えて下さい。
解説書などに、割り込みルーチンの最初の部分で

(1)割り込みフラグ(TMR0IF)を消す
(2)TMR0を再設定する

と書かれていますが、なぜ(2)を割り込みルーチンの最初で行うのでしょう?
これでは、
・1秒ごとに割り込みを発生させたい
・割り込みルーチンの作業時間は0.5秒
だとすると、結果的に割り込み発生は0.5秒ごとになってしまいます。

TMR0再設定は割り込みを抜ける時(retfie の直前)に行えば、ほぼ希望通りの間隔で、割り込みを発生させられると思うのですが、それはルール違反なのでしょうか?

Aベストアンサー

N0.2です。
普通の処理だったら問題無いのですが、
たとえば、割り込みが発生してもすぐに
割り込みルーチンに入れない様な場合、
気を付けないと次の割り込みが発生してしまいます。
で、マニュアルでは割り込み原因となる
TMR0を再設定するように指示をしているのですが、
たしかに割り込み後に一定時間間隔でまた割り込みたい
場合には、抜ける前にまた再設定するしかありません。

ただ、通常の場合、一定時間の割り込みというのは
割り込みそのものを一定時間毎に発生させたい筈
なんです。
たとえば、割り込みは10mSおき、処理は1mSだとすると
スタート(0mS)から数えて
10mS 割り込み発生 TMR0再設定
11mS 割り込み処理終了
20mS 割り込み発生 TMR0再設定
21mS 割り込み処理終了
30mS 割り込み発生 TMR0再設定
と言うぐらいに、きれいに
10mSおきに割り込みが発生します。
しかも、割り込み処理が長くなっても短くなっても
間隔は変わりません。

QファイルメーカーPRO5で、表示させたいレコードと表示させたくないレコードを作るには?

100件のレコードの内、50件の男性に該当するものだけを表示させ印刷するレイアウトを作りたいのですが、どうすればよいでしょうか?レコードには男性、女性、その他があります。フィールドは、住所、氏名、電話番号です。

Aベストアンサー

こんばんは

その50件のレコードに共通するものがあれば検索で絞ればいいと思うのですが、
検索できるようなものでない場合はひとつ新たなフィールドを作ればいいと思います。
チェックボックスにしておいて、一覧表示でチェックを入れていき、最後にチェックで検索すればいいのではないでしょうか。
チェック終了後は全置換で空のフィールドにしておけば、別なときにも使うことができます。

QマイコンSH-2の割り込みを用いたシリアル通信

SH7144Fで割り込みを用いたシリアル通信を行っていますが,
途中で割り込みがかからなくなる症状に悩んでいます.

開発環境はHEW上でツールチェインにRenesas SuparH StandardとKPIT GNUSH [ELF]を
組み込んでおり,適宜選んで使っています.
以下,Renesas SuparH Standardで,受信割り込みの場合に限って書かせて頂きます.

少々長くなりますが状況をご説明致します.

最初にSCI1回りの設定を適切に行い,割り込みレベルを15とした後,
set_imask(0)で割り込みレベルを0として割り込みがかかるようにしています.
受信割り込みがかかるとINT_SCI1_RXI1に飛び,
_UBYTE c = SCI1.RDR;
SCI1.SSR.BIT.RDRF = 0;
と直ちにした後,cの内容をバッファに入れ,戻っていますが,一文字受信しただけで
割り込みがかからなくなります.(_UBYTEはtypedefine.hでunsigned charとしています.)

相当悩んだ挙句,INT_SCI1_RXI1の末尾に,
set_imask(0);
を入れてやると連続して割り込みがかかり,うまく受信できるようになっています.

ハードウェアマニュアルを読めば,割り込みがかかるとSRレジスタは退避され,
SCI1の割り込みレベル15の内容がSRレジスタのI0~I3に書き込まれる,とあります.
当然,割り込みが終われば,退避された内容がSRレジスタに戻るので割り込みマスクは
0に戻るもの・・・と解釈していますが,余りにも当たり前なのかハードウェアマニュアルには
明記はされていません.もしかしたら元に戻っていないのでは・・・と,上記のようにいちいちに
割り込みマスクを0にする手続きを追記すると動いている,と言う状況です.

因みに上記の状況はKPIT GNUSH [ELF]を選んだときにも同じです.
更には,送信割り込みのときも上記と同じくset_imask(0)を入れてやると動きます.

そこで質問ですが,
1.SRレジスタは割り込みが終われば元の内容に戻ると解釈していますが,
  これで合っているでしょうか.
2.上記1で元に戻るのだとしたら,なぜいちいちset_imask(0)をしてやらないといけない
  状況になっているのか・・・考えられる原因をお教えください.

雑多な説明で申し訳ございませんが,どうぞ宜しくお願い致します.<(__)>

SH7144Fで割り込みを用いたシリアル通信を行っていますが,
途中で割り込みがかからなくなる症状に悩んでいます.

開発環境はHEW上でツールチェインにRenesas SuparH StandardとKPIT GNUSH [ELF]を
組み込んでおり,適宜選んで使っています.
以下,Renesas SuparH Standardで,受信割り込みの場合に限って書かせて頂きます.

少々長くなりますが状況をご説明致します.

最初にSCI1回りの設定を適切に行い,割り込みレベルを15とした後,
set_imask(0)で割り込みレベルを0として割り込みがかかるようにしてい...続きを読む

Aベストアンサー

ハードウエアマニュアルをよく読めば書いてあるのですが、SHのSSR.RDRFビットをクリアするのは、一度1を読み込んでから0を書く必要があります。
質問文からは、1を読む作業が抜けているように思われます。

set_imask()は、関数呼び出しではなく、インライン展開されるようですが、展開されたものを読んでみても、結果的にLDC命令を使ってSRのIMASK部を書き換えるだけの処理です。
ですから、set_imask(0)を実行した時点で、再びsci割り込みがかかると思いますが、それは新たな受信データを得た訳ではないので、読み出したデータは以前と同じになっているのではないでしょうか。

一方、割り込みからの復帰に使用するRTE命令は、セーブされたSRとPCの値をレジスタに戻すものです。
アセンブラで書いていると、間違ってRTSで戻してしまうことがありますが、この場合はSRの内容うんぬんという以前に、PCの値が変になって暴走するので、すぐにわかります。
Cで書いていればそのような間違いは起きないので、SRの復帰について心配する必要はありません。

ただ、LDCでSRのIMASK部を変えるのと、RTEで変えることに違いが生じているようですが、これは内部割込みのエッジ検出フラグのリセット回路の働きに、なにか違いがあるのかも知れません。

ハードウエアマニュアルをよく読めば書いてあるのですが、SHのSSR.RDRFビットをクリアするのは、一度1を読み込んでから0を書く必要があります。
質問文からは、1を読む作業が抜けているように思われます。

set_imask()は、関数呼び出しではなく、インライン展開されるようですが、展開されたものを読んでみても、結果的にLDC命令を使ってSRのIMASK部を書き換えるだけの処理です。
ですから、set_imask(0)を実行した時点で、再びsci割り込みがかかると思いますが、それは新たな受信データを得た訳ではないので...続きを読む

Qファイルメーカーで一部のレコードを表示しないようにする方法

今FileMaker Pro 10の評価版を試しています。
1冊の書籍とヘルプと検索で試行錯誤している最中ですが、このままだと期間が終了してしまいそうなので質問させてください。

5支部200人程度の会員名簿を作っています。
その中に会費の支払い状況を入れています。
新規レイアウトで【会費支払い状況一覧】を作成しました。
2008年度分・2009年度分・・・と作って行きます。
毎年複数の人が入会退会しています。
その【会費支払い状況一覧】の中から退会した人が表示されないようにしたいのです。
出来れば2009年度に退会した人は2008年度分には表示されるが、2009年度分には表示されない・・というようにしたいです。
最悪は、退会した人は全ての一覧から表示されなくてもかまいません。
(名簿の記録は残したままで・・)
(【レコードを対象外に】で出来るかと思いましたが、検索後に【全レコードを表示】にすると対象外にしていたものも表示されてしまうようなので・・)
そのようなことは可能でしょうか?
可能であればどの部分を調べれば良いでしょうか?

今FileMaker Pro 10の評価版を試しています。
1冊の書籍とヘルプと検索で試行錯誤している最中ですが、このままだと期間が終了してしまいそうなので質問させてください。

5支部200人程度の会員名簿を作っています。
その中に会費の支払い状況を入れています。
新規レイアウトで【会費支払い状況一覧】を作成しました。
2008年度分・2009年度分・・・と作って行きます。
毎年複数の人が入会退会しています。
その【会費支払い状況一覧】の中から退会した人が表示されないようにしたいのです。
出来...続きを読む

Aベストアンサー

レコードとして存在する以上、表示されます。
全レコード表示は使わず、「退会者以外を表示」などというボタンを作ってスクリプトを
貼り付けるか、退会者は別テーブル移したりします。


人気Q&Aランキング

おすすめ情報