(現在 過去ログ75 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全12記事(1-12 表示) ] <<
0
>>
■11012
/ inTopicNo.1)
カードで1行だけで処理させる
▼
■
□投稿者/ 悲しげ
-(2018/04/24(Tue) 01:01:51)
カードフォームで入力しています。
1行だけで処理したいので、2行目に行かないような縛りをかけたいのですが、うまい方法が思いつきません。
手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 &総件数,長整数 &明細番号)
cond(#総件数>0) ジャンプ 行番号=1 /*2行目=eofに行かせない*/
手続き定義終了
のようにしてみたのですが、たまに訂正モードになっている時なんかは叱られます。
お知恵拝借させて下さい。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11013
/ inTopicNo.2)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ Vision Maker
-(2018/04/24(Tue) 08:02:43)
悲しげさん
こんにちは。
> たまに訂正モードになっている時なんかは叱られます。
エラーが再現できません。
その時の画像か、サンプルがあるといいですね。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11014
/ inTopicNo.3)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ ONnoji
-(2018/04/24(Tue) 09:36:22)
> カードフォームで入力しています。
> 1行だけで処理したいので、2行目に行かないような縛りをかけたいのですが、うまい方法が思いつきません。
> お知恵拝借させて下さい。
表を使うからレコードを固定したいということになりますね。
だったら、表を使わなければよいのではありませんか。
つまり、NULLフォームで変数を編集して、
[登録]ボタンを実行すると、
編集表 エントリー.tbl
行追加 [項目]=&変数, ・・・
手続き実行 prc変数クリア( )
みたいな。
<追伸>
これって、DOS時代の dBASEII/III/IIIPlus では普通に当たり前の処理なんですよ。
だから逆転の発想でもなんでもなく、既知のアプローチなんですね。
残念ながら、DOS桐の時代にはフォーム(帳票)で変数を編集できなかったので、
NULLフォームで変数を編集して行追加という発想にならない人が多いのかもしれません。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11015
/ inTopicNo.4)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 今村 誠
-(2018/04/24(Tue) 09:44:47)
2018/04/24(Tue) 09:50:16 編集(投稿者)
過去ログにこんなのありました。
http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=2161&no=0&KLOG=15
1行だけの表がほしいのか、特定の行から移動したくないのか
桐のバージョンが不明です。
フォームの定義画面に行挿入や行追加を禁止できる設定もある
ように思います。
表示から表編集にいったらどうしようもありませんが。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11016
/ inTopicNo.5)
Re[2]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ ONnoji
-(2018/04/24(Tue) 10:52:45)
>>たまに訂正モードになっている時なんかは叱られます。
>
> エラーが再現できません。
> その時の画像か、サンプルがあるといいですね。
訂正ではエラーになりませんね。(^^ゞ
絞り込み状態で
・行挿入
・行追加
の操作をすると以下のエラーになりますね。
[KD1367:絞り込み状態または行集計状態では実行できません]
※桐9-2012 と 桐10s のどちらでも同じエラーになります。
ちなみに、悲しげ氏の環境は 桐10 でござるかな。
◇ ◇ ◇ ◇ ◇ ◇
ちなみに、
絞り込み状態 + 行挿入 + ジャンプ
絞り込み状態 + 行追加 + ジャンプ
というのは無理なんでしょうね。きっと。
467×544 => 214×250
1524534765.jpg
/
38KB
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11017
/ inTopicNo.6)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 通りすがり
-(2018/04/24(Tue) 10:52:54)
レコードソースの方を限定しちゃうのが常道みたいな
フォーム→編集対象表→表の操作 で、[絞り込み]を指定すのが良いかな
[絞り込み]条件に変数使ったり
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11018
/ inTopicNo.7)
Re[2]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ ONnoji
-(2018/04/24(Tue) 11:25:22)
2018/04/24(Tue) 11:30:17 編集(投稿者)
> 表を使うからレコードを固定したいということになりますね。
>
> だったら、表を使わなければよいのではありませんか。
>
> つまり、NULLフォームで変数を編集して、
>
> [登録]ボタンを実行すると、
>
> 編集表 エントリー.tbl
> 行追加 [項目]=&変数, ・・・
> 手続き実行 prc変数クリア( )
>
> みたいな。
[表引き]もあるし、NULLフォームはちょっとねぇ〜、という場合には、
1行だけの表を用意して、
カード型フォームの
フォームの属性→[編集対象表]タブ→[許可作業]で、
・行挿入
・行削除
・行復活
・絞り込み
・併合
をオフにする。
そうすると、絶対に1行が保持される。
そしてイベントは、以下のように。
名札 メイン
*
手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 &総件数,長整数 &明細番号)
if ( #eof )
ジャンプ 行番号 = 最終
end
手続き定義終了
で、終端へ行かないようにする。
後は、[登録]ボタンを実行すると、
編集表 エントリー.tbl
ジャンプ 行番号 = 終端
読み込み 表,うんたら.tbl
手続き実行 prc項目値クリア( )
みたいな。
507×425 => 250×209
1524536722.jpg
/
48KB
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11019
/ inTopicNo.8)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 尾形
-(2018/04/24(Tue) 16:11:59)
どうも、こんにちは
たぶん却下とは思いますが (^^;
結合表で、対象ソース自体を1行だけにするとか
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11020
/ inTopicNo.9)
Re[1]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 悲しげ
-(2018/04/24(Tue) 20:09:11)
皆さん、ありがとうございます。
たまに「訂正モードの時にエラーとなる」のは、実は私自身もどのようなケースで
そうなっているのが特定できていないのです。
で、本投稿の目的はその原因究明ではなくて、
または下記に何らかのエラー対策のパッチを当てることでもなくて、
>手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 &総件数,長整数 &明細番号)
> cond(#総件数>0) ジャンプ 行番号=1 /*2行目=eofに行かせない*/
>手続き定義終了
のような手法によって、「カードフォームで1行だけで処理」を実現しようとしているのは
何か苦しいなぁ、他にもっといい方法がありませんか、と言うオネダリが目的です。
その意味では、No11015で今村さんが示された過去ログで、
No2161
での質問者の長門さんの問題意識に近いように感じました。
で、そのツリー中の
No2164
(by今村さん)がヒントになりそうです。
ので、後で試してみます。
ps
桐のバージョンは主にV10ですが、どれも同じだと思うので挙げませんでした。
(この件はV8くらいから悩んでいたような気がする)
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11021
/ inTopicNo.10)
Re[2]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ �淳り^ス�ス�ス
-(2018/04/24(Tue) 22:23:54)
■
No11020
に返信(悲しげさんの記事)
ん? ひょっとして・・・・
フォームの「編集対象表」タブ→「許可作業」ボタンから
「行挿入」のチェックを外すだけでいい?
これで試してみます。
(だとしたら私の10数年の悩みは・・・)
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11022
/ inTopicNo.11)
Re[3]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 悲しげ
-(2018/04/24(Tue) 22:27:08)
■
No11021
に返信(�淳り^ス�ス�スさんの記事)
名前が化けました。(^^;)
No11021
の投稿者は悲しげです。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■11468
/ inTopicNo.12)
Re[2]: カードで1行だけで処理させる
▲
▼
■
□投稿者/ 悲しげ
-(2018/09/24(Mon) 12:38:41)
2018/09/25(Tue) 18:55:06 編集(投稿者)
■
No11020
に返信(悲しげさんの記事)
本件は、戴いたコメントを元にあの後色々試したのですが、どれも一長一短で
結局は一番最初のやり方に戻って
>手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 &総件数,長整数 &明細番号)
> cond(#総件数>0) ジャンプ 行番号=1 /*2行目=eofに行かせない*/
>手続き定義終了
>のようにしてみたのですが、たまに訂正モードになっている時なんかは叱られます。
この際に、強制的に表示モードに切替えておくことで対処しました。(^^;)
method @b表示.実行()
※ボタンの機能名;表示、パラメ;確定する
ps.
ついでにコメントを補足しますと
No11014
の「NULLフォームで変数」というのは
項目数が150超あるので変数でやるにはちょっと目眩が。
No11019
>結合表で、対象ソース自体を1行だけにする
結合は苦手で(^^;)
当然「許可作業」で「行挿入」とかは押さえていますが、
あと
No11017
他で例示された「1行絞り込み」については
オペレータが(うっかり)PnDnキーを押してしまった時、
終端行に行くことにより見かけ上「全項目が空に」なって
びっくり・・・を避けたかった。
もちろん「キーダウン」イベントでPnDnキーを殺しては
みたりしたが、何か他にも類似案件があったような・・・
で、最後は「レコード移動」イベントに戻った次第。
解決済み!
引用返信
[メール受信/OFF]
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
ファイル一覧
検索
過去ログ
-
Child Tree
-
-
Antispam Version
-