過去の桐井戸端BBS (桐ver.8)
3973 カード型フォームで、ある項目を1回入力すると以後入力したくない yuu 1999/12/25-22:54
いつも大変参考にさせていただいております。
桐v8です。
カード型フォームで、入力処理を作っています。
入力項目は
日付、担当者、品名、数量、単価、販売先です。
1日に何件もの、データを入力します。
1回入力すると日付、担当者を入力しないで、これ以外を入力する方法は
ないでしょうか?
わけあって、カード型しか使えません。
よろしくご指導下さい。

3974 Re:カード入力データの自動複写 Masashi 1999/12/26-00:13
記事番号3973へのコメント
yuuさん、こんばんは。

>1回入力すると日付、担当者を入力しないで、これ以外を入力する方法は
>ないでしょうか?

それぞれの項目の表定義で、項目属性(Alt+O→P)の編集タブの自動複写(C)を
チェックをしてやれば、項目初期値として、前レコードの入力データを表示
するようになりますよ。
初期値なので、当然訂正もできますし、リターンキーのみで確定して、
次の入力項目へ移動してやれば、一番簡単ですよ。
あと、日付なんかだと、同じく項目属性の入力タブの挿入初期値式(I)で
桐の組み込み変数の、&年月日などを指定すれば、その日の日付(正確には桐を
起動した日付だったと思いますが)を、挿入初期値として、自動的にセットしたりできますよ。

3975 Re:カード入力データの自動複写 佐田 守弘 1999/12/26-01:28
記事番号3974へのコメント
yuuさん
項目値の自動複写などについては、Masashiさんがコメントされている通りです
が、少し補足させて頂きます。

●自動複写と直前値の入力の違い
担当者の自動入力の方法として、直前値を入力する方法もあります。この場合に
は、項目の挿入初期値に、
#直前値([担当者],"")
と設定して下さい。

自動複写の場合には、その回の編集の2回目以降において、入力する行位置に関
係なく、最後に入力した値が自動的に設定されます。最初の入力時には、設定さ
れる値はありません。例えば、最終行で「社長」と入力した後、先頭行で行挿入を
行っても、その前に入力した「社長」が自動的に入力されます。

これに対して、「#直前値」関数を使った直前値の入力の場合には、その行の直前
の行の値がコピーされます。

似た様な機能ですが、微妙な違いがありますので、目的に応じて使い分けて下さい。

●日付の自動入力
Masashiさんも書かれている通り、日付は自動複写や直前値ではなく、その日の
日付を初期値として設定する方が良いでしょう。

[日付]が文字列型の時
#年月日を設定すれば、入力時の日付が入力できます。&年月日は、桐を起動した
日付ですから、次の様な場合に実際の日付と異なります。
@桐を起動したまま翌日になった場合
A一括処理やフォームの中で、一般的な変数として&年月日を使った場合
このうちのAの方法は、桐の達人たちが良く使うテクニックです。局所的な変数
を定義する代りに、組込変数の&年月日を日付以外に流用する場合があります。
流用されると、当然の事ながら値が変わります。

[日付]が日時型の場合
#日時日付(#日時値) を設定して下さい。#年月日や&年月日は文字列型ですから
エラーになります。

●担当者のテキストボックスの入力をパスする方法
フォームのタブオーダーの設定で、[日付][担当者]のオブジェクトを最終位置(
[販売先]の次)に移動し、[販売先]の改行方向には、「次行」を設定して下さい。
この設定で、フォームを開くとフォーカスは先頭の[品名]になります。そして[
販売先]まで入力すると、次のデータに移動します。
最初に「担当者」を入力する時だけは、マウス操作でフォーカスを移動します。

佐田守弘(KS-00119)

3994 Re:カード入力データの自動複写 yuu 1999/12/27-15:05
記事番号3975へのコメント
みなさん、どうもありがとうございます。
ご指導頂き大変ありがとうございます。
カード型で伝票フォームのような入力の方法はないでしょうか?
日付・担当者名は最初に入力すれば、OK
2件目からは、品名より入力する。(伝票型の明細追加のような形)
このような方法は可能でしょうか?

3996 Re:カード入力データの自動複写 Masashi 1999/12/27-17:34
記事番号3994へのコメント
yuuさん、こんばんは。

>カード型で伝票フォームのような入力の方法はないでしょうか?
>日付・担当者名は最初に入力すれば、OK
>2件目からは、品名より入力する。(伝票型の明細追加のような形)

???質問(^^!
1レコード(カード形式だと基本的に1画面)に、
[品名][数量][単価][販売先]のデータを複数個持たせてしまう
といった意味でしょうか?

例えば、カード形式入力画面の
先頭行に[日付][担当者]を入力
2行目は[品名1]〜[販売先1]を入力
3行目は[品名2]〜[販売先2]を入力
以下同様
といった具合でしょうか? ・・・・たぶん違いますよね(^^;


???もうひとつ質問(^^!
最初のご質問の
>1回入力すると日付、担当者を入力しないで、これ以外を入力する方法は
>ないでしょうか?
>わけあって、カード型しか使えません。
^^^^^^このわけを教えていただけたら、
お望みの方法がはっきりするような気がしますが・・・。


最初のご質問を拝見する限り、佐田先生にフォローいただいた方法で
大丈夫だと思うのですが・・・。
一度、佐田先生の方法を、ためしてみてはいただけませんでしょうか?
その結果について、「ここをこうゆうふうにしたい」といった具合に
質問いただけるとありがたいです。

それでは。

3999 Re:カード入力データの自動複写 yuu 1999/12/27-18:30
記事番号3996へのコメント
どうも、大変失礼な書き方をしてすみません。
どういうふうに表現したらいいかわからないんです。

一度佐田先生の方法でやってみます。
その後また書きこみしますので、よろしくご指導ください。

4015 Re:カード入力データの自動複写 佐田 守弘 1999/12/28-02:11
記事番号3999へのコメント
yuuさん

ご質問の主旨は、
@フォームを開いて最初のページつまり最初に入力するレコードでは、日付や担当
者を入力する。
A次のページつまり、2レコード目からは、日付と担当者は直前値の複写をさせ
て、これらの入力を行うテキストボックスにはフォーカスをさせない
という意味でしょうか。

これは可能だと思います。アイデアだけの提示になりますが、
@フォーム開始イベントで、日付と担当のオブジェクトにフォーカス許可を設定し
ます。オブジェクト属性 設定コマンドを使います。
A日付ないしは担当者のオブジェクトのソース値更新イベントで、日付と担当のオ
ブジェクトの属性をフォーカス禁止に設定します。

以上のイベントで、目的を達成できるはずです。

佐田守弘(KS-00119)

戻る