crystal reports 重複したデータを非表示、改ページしたら表示。

下記サイトに書いてある、

 http://d.hatena.ne.jp/haradago/touch/20090220/p1

 

OnFirstRecord() = false AND {テーブル.項目A}=Previous({テーブル.項目A})

スクリプトで重複したデータの非表示はできるのですが、改ページが行われた際に非表示のまま。

 

 

 そこで、

「指定行で改ページしたい」を参考に

https://www6.atwiki.jp/we_hate_sunshine/pages/58.html

 

//ヘッダー

WhilePrintingRecords;
numberVar line := 0;

 

//  詳細
WhilePrintingRecords;
numberVar line;
line := line + 1;

 

// 表示条件
WhilePrintingRecords;
numberVar line;

OnFirstRecord() = false AND {テーブル.項目A}=Previous({テーブル.項目A}) AND rowcount<>1

 

とすることで、改ページした時は一つ目を表示ができた。

 

crystal構文とやらの変数??の扱い不思議。

毎回宣言するのが不思議な感じ。

 

 

a command is already in progress のエラー

Oracleをpostgressに移行の作業を手伝いをしたときのことです。

 

Npgsplというオープンソースでデータベースにアクセスされていて、

この a command is already in progressのエラーが起こった。

 

調べてみると、英語の記事えエラーの文言も少し違うし、しかもC#のしか出てこなかったけど、

 

https://stackoverflow.com/questions/36283841/c-sharp-winforms-npgsql-3-0-5-an-operation-already-in-progress-error-when-tryi


f:id:alakialaca:20190318123412j:image

新しいコマンドを実行する前に破棄する必要があるみたい。

ソース内で連続して複数回データ読み込まれていたので、これっぽい。

 

 

先輩に聞くとそんなことないでしょ。

と初めに言われたが、

 

実際、読み込みを2つ並べるとエラーがおき、

ちゃんとcloseしてから、読み込みするとうまくいく。

 

postgres移行前のソースでは、複数の読み込みをしてたからoracleではできるんですかね。

 

そしてDBの読み込み部はusing句でくくると良いみたい。

using句でくくるとcloseしなくてよいのは、

「using close」でググったらいっぱいでてくるけど、↓下記のサイトがわかりやすい。

https://qiita.com/iiokazuya/items/dfa0b66898a2b39fc1e9

 

 

 

 

'bin' は内部コマンドまたは外部コマンド ~のエラー、昔登録した謎のパスが邪魔してたみたい。

Oracle Data Access components (ODAC)をinstall.batでインストールしようとして、

 

'bin' は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。

 

というエラーに見舞われた。

 

このキーワードで調べても、パスが通っているかどうか確認してくださいの文言ばかり、出てくるが、ORACLE_HOMEもODACのパス7ちゃん通ってる。

 

ハマってしまい、先輩に尋ねると、

他のパスを確認しろと言われ、

 

昔に登録したパスで、;が|になっているパスが登録されていて、それを削除するとエラーがでなくなった。

 

昔に入力した間違ったパスが原因?だったっぽい。目から鱗でした。

 

VRChatで打楽器を作る。

私は実験的に音の出るカツカレーを作ってみました。

 

 

 

音を出すのは、基本的に下記リンクのAudioBankの技術メモの通りです。

ただ、僕が初めて見たとき、文字だけだとぱっと頭に入ってこなかったので、リンク先を画像付きに説明したい。

 

vrcworld.wiki.fc2.com

 

続きを読む

equalsの比較は文字列.equals(変数)がエラーがでなくて良い

ほとんどjava使わないせいで、

javaの文字列比較はequals使うというの、いつも忘れてしまいますわ。

 

なんか、変数は左側という決まりごとのせいかわからないですが、

なにも考えずに、


変数.equals("文字列")にしてました。

 

先輩曰く

a.equals(b)

として、aにnullが入っていた場合、nullexceptionが発生してしまうが、

bにnullが入ってもnullと比較する操作になり、エラーが発生しないため。



文字列.equals(変数)にして欲しいとのことでした

 

なるほど~

もちろんその時の用途によって代わるとは思いますが、こういうことがあったのでメモ

日本語正規表現の亜-熙ぁ-んァ-ヶは、テストがめんどくさいから、使わない方が良いらしい

業務でURLの中の日本語を拾う必要があり、

正規表現の亜-熙ぁ-んァ-ヶで拾った

 

今までは遊びの自然言語処理で使ってたので、なんの疑問もなく当たり前のような感覚で使ったのだが、

先輩に

亜-熙とか、ぁ-んが、本当に範囲に入っているのかわからないし、

客に確認を求められて、テストを行うことになったら大変なことになるから、他の方法で取得してほしいと言われてしまった。

 

仕方ないので文字のバイト数を調べて、全角の文字(日本語)は1バイト以上のものという考え方で取得した。

 

うーん。

きっちりとしたプログラムを作ったことないマンにはめんどくさく感じてしまう。

ミッドナイト・ファイティングブリーフのようなスイングしながら進む木馬の実装

ミソシタさんを知っているだろうか?

ミソシタさんのミッドナイト・ファイティングブリーフという曲を知っているだろうか?

 

まぁ聞いてくれ。最高だから。

 

 

そして、メタルカバーもしてみました。

そして、スクリプト聞かれたので、とりあえずメモしておきますね。

続きを読む