2013年12月10日火曜日

切り取り・貼り付けで参照セルが"=#REF!"になる [Excel]

コピペだといぃのに切り取り・貼り付けとかだと参照してるセルが"=#REF!"になる

"=#REF!"は、参照していたセルがなくなりましたよってエラーらしい。
行・列の削除とかでも同じことになるのね。

Excelはコピペでは形式を選択して貼り付けができるけど、切り取りではできないとか・・・

ミスしないようにかな??やれることも減るんだけど。

しょうがないから、参照してるセルの関数を変更して対応。

12行目でBの列を参照してるセルがあったら、関数内の全てのB12を、
B12→INDIRECT("B"&ROW())
に修正。
INDIRECT関数は、文字列を参照アドレスに変換する関数φ(..)
B12 = INDIRECT("B12")
INDIRECT("B12")でも切り取り・貼り付けはできるけど、このままだとINDIRECT("B12")を違う行にコピーしてもINDIRECT("B12")のままで、関数作成が大変だから、ROW()を使用。
ROW():自分の行を表す関数
B12 = INDIRECT("B12") = INDIRECT("B"&ROW())

同じ行からじゃない場合は、
INDIRECT("B"&ROW()+1)
とかな感じに。

2013年12月3日火曜日

プリンターで端の方が印刷できない [Windows]

EPSONのVP-4300のドットインパクトプリンターで帳票印刷したんだけど端の方が印刷できない・・・

"プリンターのプロパティ"の"デバイスの設定"タブ内に、
"印刷領域指定"ってのがあって、それを最大に変更したら端まで印刷できた。

PCにプリンタドライバー入れる度に変更するの忘れてズレるから忘れないように。

2013年11月27日水曜日

Timerを使ってみた [C#]

画面を定期的に更新するために、Timerを使ってみた。

ツールボックスのTimerを設置して、イベントのTickに処理内容記述。

プロパティのIntervalに実行間隔をミリ秒で入力。

1000ミリ秒=1秒

だけで簡単に実行・・・・・されない・・・

プロパティのEnabledをTrueにしなきゃみたい。
なんでデフォルトがFalseなの。

2013年11月16日土曜日

タイトル変更 [Aipo]

Aipoのタイトル変更。

ブラウザのタブに表示されるタイトルを変更したい。

C:\aipo\dpl7020\tomcat\webapps\aipo\WEB-INF\conf\AipoResources.properties

の25行目

aipo.alias=Aipo

のAipoを表示したい文字に変更して、Aipoの再起動したら変わった。

2013年11月13日水曜日

デザイン画面でコントロールをダブルクリックして自動生成されるコードを削除!! [C#]

デザイン画面でコントロールをダブルクリックして自動生成されるコードを削除!!

一番簡単なのはCtrl+Zで元に戻るだろけど・・・これ前に保存したとこまで戻っちゃうことあるよね。
これを禁じ手として一番簡単な方法はなんだろ??

自動生成されたメソッドを削除してプログラム実行すると出る。

'Class.SampleSystem' に 'label_Click' の定義が含まれておらず、型 'Class.SampleSystem' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。

ってエラーの行を削除するふつーな方法かな??

・・・ボタン以外の自動生成なしでいいんだけど。

2013年11月8日金曜日

'Value' は 'minimum' と 'maximum' の間でなければなりません。 [C#]

'504' の値は 'Value' に対して有効ではありません。'Value' は 'minimum' と 'maximum' の間でなければなりません。

Datagridviewにプログラムで行をいっぱい追加したらスクロールバーがちゃんと表示されない・・・
矢印で下に行ったらエラー・・・

原因はDatagridviewのEnabledをFalseにして行追加をしたことみたい。
ダメなんだ・・・


行追加する前にEnabledをTrueにしたらエラー出なくなった。

2013年11月5日火曜日

Aipoのバックアップを直接起動 [Aipo]

Aipoの調子が悪いからバックアップして再インストールしようとしたらAipoマネージャーすら起動しなくなった・・・

しょうがないから直接バックアッププログラム起動。

C:\aipo\dpl7020\bin\backupAsOldVer.bat

これぽい。

とりあえず動かしてみたけど何かないって言ってエラー・・・

・backupAsOldVer.batの編集

%AIPO_ROOT_86%dpl004\bin\backup.bat

%AIPO_ROOT_86%dpl7020\bin\backup.bat


・C:\aipo\dpl7020\bin\backup.batも同様に編集

dpl004をdpl7020に置換!


で動かしたらバックアップできた。

なんでフォルダ名違ってたんだろ・・・色々おかしくなったのと関係あるのかな・・・

2013年10月30日水曜日

AipoとApacheの連携 [Aipo]

Aipo7とApache2.4の連携。

色々苦戦しながらここまで来て・・・後はAipo(Tomcat)との連携。

今回もhttpd.confの修正

・必要なモジュールを開放
#LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

・ルートの設定
<Location /aipo>
ProxyPass ajp://localhost:8009/aipo
</Location>
を追加

で停止してAipoTomcat→Apacheの順で起動したら80(http)ポートと443(https)ポートでAipoにつながった。

Aipo7のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipo_19.html
Apache2.4のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/apache-apache.html
Apache2.4の起動
https://yukamemo-ver3.blogspot.jp/2016/09/aipo7-apache.html
SSL通信設定
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-apachessl.html

2013年10月29日火曜日

ApacheのSSL通信設定 [Aipo]

Apache2.4のSSL通信設定

認証を正式なとこに頼むと高いぽいので自己認証で。

まずは秘密鍵の作成
openssl genrsa -des3 1024 > server.key

opensslってのはApache24\binフォルダの中に。


次に証明書の作成
openssl req -utf8 -new -key server.key -x509 -days 365 -out server.crt -set_serial 0 -config D:\Apache24\conf\openssl.cnf

-days 365 ってのは有効期限らしい・・・定期的に変えなきゃなのね。


んでパスフレーズってのの削除
openssl rsa -in server.key -out server-nopass.key



次にhttpd.confの修正。

・必要なモジュールを有効に
#LoadModule ssl_module modules/mod_ssl.so

LoadModule ssl_module modules/mod_ssl.so

#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

・https通信のみでhttp通信は不可にする場合は
Listen 80

#Listen 80

・sslの設定ファイルを有効に
#Include conf/extra/httpd-ssl.conf

Include conf/extra/httpd-ssl.conf


これでApache24\conf\extra\httpd-ssl.confが有効になるから今度はこのファイルの修正。

・インストール位置を全て修正
今回はD:にインストールしたのでC:を全てD:に。

・サーバーの名前をサーバー名に
ServerName test.test.jp:443
ServerAdmin admin@test.test.jp

・さっき作った鍵と証明書の指定
SSLCertificateFile "D:/Apache24/ssl/server.crt"
SSLCertificateKeyFile "D:/Apache24/ssl/server-nopass.key"

で設定おk

普通にサービスとかから起動するとSSLが有効にならないから・・・



httpd -D ssl -k start
でスタート

ブラウザで見ると危険そぉな警告画面出てくるけどこのまま続行ボタンでできた。
Aipoにも問題なく。

あまりにも危険そうだけど何もしないよりはだいぶ安全なんだよね・・・

Apache2.4のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/apache-apache.html
Apache2.4の起動
https://yukamemo-ver3.blogspot.jp/2016/09/aipo7-apache.html

Aipo7のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipo_19.html
Aipo7とApache2.4の連携
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipoapache.html

2013年10月28日月曜日

Apacheの起動時エラー [Aipo]

Apache2.4の起動時エラー

サービスからApache2.4を開始するとエラー・・・

エラー内容分からないからコマンドプロンプトで起動してみたらエラー内容出た。



httpd: Syntax error on line 37 D:/Apache24/conf/httpd.conf of ServerRoot must be a valid directory


httpd.confの37行目でエラー。
詳しく分かって素敵。



37行目・・・Dドライブにしたからダメぽい。
他にもあるからC:を全部D:に。


それでもまだエラー・・・
どうやら80ポートがすでに使われているらしい・・・

netstat -aon > port.txt

で使用PIDみたら4
システム??

何か分からんからそれっぽいサービス順番に消していったら原因は
SQL Server ServerReporting Services
だった・・・

これ止めたら起動した。


Apache2.4のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/apache-apache.html
SSL通信設定
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-apachessl.html
Aipo7のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipo_19.html
Aipo7とApache2.4の連携
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipoapache.html

2013年10月25日金曜日

Apacheのインストール [Apache]

Aipoと連携するためにApache2.4のインストール。

OSはWIndows Server2011

公式ページっぽいとこのはどうしていいか分からなかったから
ここから↓
http://www.apachelounge.com/

ダウンロードしてどっかのフォルダに配置してコマンドプロンプトからインストール。

Dフォルダに入れたから

>D:\Apache24\bin\httpd -k install

・・・エラー



「コンピュータにMSVCR110.dllがないため、プログラムを開始できません。」


どぉやら"Visual Studio 2012 の Visual C++ 再頒布可能パッケージ "がいるらしい。
http://www.microsoft.com/ja-jp/download/details.aspx?id=30679

でインストール完了。

Apache2.4の起動
https://yukamemo-ver3.blogspot.jp/2016/09/aipo7-apache.html

2013年10月24日木曜日

Aipoのインストール時にエラー [Aipo]

Aipo7をWindows Server2011にインストールでエラー。



このWindowsインストーラーパッケージには問題があります。


対応OSに入ってないからダメなのかな・・・


2008サーバーに入るなら入りそうだけど。


調べたらサーバーだと色々やらなきゃみたい。
まずは、
[コントロールパネル]→[システムとセキュリティ]→[管理ツール]→[サービス]の
[Secondary Logon]ってのを起動。
Secondary Logon:別の資格情報でプロセスを開始

でもダメ・・・

どうやらAipoはWindowsのユーザーを作ってそのユーザーで色々やってるみたい。
そのユーザーにもAdoministratorの権限がいるらしい。

[コントロールパネル]→[システムとセキュリティ]→[管理ツール]→[Active Directory ユーザーとコンピューター]
の中の
[ドメインフォルダ]→[Users]
をエラー画面が出てる状態でみると、
aipo_postgresってユーザーが追加されてる。

でもエラー画面を消すと元に戻しちゃうみたいでaipo_postgresが消える・・・

インストール見てると
ユーザーの追加→ファイルの作成→追加ユーザーで何かやろうとしてエラー
っぽいからファイルの作成をしている間にaipo_postgresにAdoministratorの権限を与えればいぃのかな・・・

ファイルの作成中にaipo_postgresを右クリック→[プロパティ]→
[所属するグループ]タブの[追加]ボタン→
[詳細設定]→
[検索]→
出てきた一覧の中のAdoministratorをダブルクリック→
[OK]→
[OK]
・・・でインストールできた。

Aipoのインストールには素早いコマンド入力が要求されるらしい・・・
もっと簡単な方法あるんだと思うけど。

Apache2.4のインストール
https://yukamemo-ver3.blogspot.jp/2016/09/apache-apache.html
Apache2.4の起動
https://yukamemo-ver3.blogspot.jp/2016/09/aipo7-apache.html
SSL通信設定
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-apachessl.html
Aipo7とApache2.4の連携
https://yukamemo-ver3.blogspot.jp/2016/09/aipo-aipoapache.html

2013年10月23日水曜日

F10だけ・・・?? [C#]

各ファンクションキー押下時の処理をKeyDownで書いてたんだけどなぜかF10だけ2回に1回しか反応してくれない・・・

F10って特別な処理あるのかな??
キーボードのせいか??

まぁF10じゃなきゃダメじゃないしF10以外でやるか。

2013年10月18日金曜日

DataTableのSelectで指定カラム名に改行コード入ってたらエラー [C#]

DataTableのSelectで指定カラム名に改行コード入ってたらエラー。

構文エラー : '' 演算子の後にオペランドがありません。

---------------------------------------------
DataTable.Select("カラム名='値'");
---------------------------------------------

’’をつけても駄目だし、どぉやってエスケープ処理すればいいかと思ったら・・・

---------------------------------------------
DataTable.Select("[カラム名]='値'");
---------------------------------------------

で出来た。

値は’’なのにカラム名は[]なのか・・・

2013年10月17日木曜日

行番号を表示 [VisualStudio]

VisualStudioで行番号を表示。

・メニューバーの"ツール"の"オプション"を選択

・オプション画面で左下の"すべての設定を表示"にチェック

・"テキスト エディター"→"すべての言語"→"全般"を選択

・"表示"欄の"行番号"にチェック


で出た。

"すべての言語"ってのが見当たらなかったんだけど"すべての設定を表示"にチェックしなきゃなのね。

2013年10月16日水曜日

「きがた」「はん」とは?? [業務]

ダンボールの話をしてて、「きがた」とか「はん」とか単語が出てきて・・・・??

木型
ダンボールを型抜きするもの。



印版(いんばん):ダンボールに印刷をするためのハンコ。
版下(いんさつはんした):印刷工程において製版を行うための原稿。


なのね。

2013年10月11日金曜日

レイアウト変更しやすく!! [VBReport]

今までずっとセルの座標を指定して値を出力してたけど、
-----------------------------------------------
xlsReport.Cell("A1").Value = "表示";
-----------------------------------------------

**バージョンもいい感じかも。

デザインExcelのセルに「**表示」とか入れておいて、
-----------------------------------------------
xlsReport.Cell("**表示").Value = "出力文字";
-----------------------------------------------

って指定すればそのセルに出力してくれる。

これだと後で位置変更とかがデザインファイルだけ変えればできちゃう。

出力する量が多すぎると逆に大変になるから使い分けよう。

2013年10月10日木曜日

インデックスのクラスター化と非クラスター化とは [SQLServer]

・クラスター化
レコードの保存を指定した順番で並べておくインデックス。
並び順だから一つしか作成できない。

データベースってSELECTする度に順番違うって思ってたけど、これ指定してれば絶対この順なんだよねきっと。


・非クラスター化
レコードの並び順とは関係なく、別に索引を作っておくインデックス。
別に索引作るからいくつでも作成可。


ってことでいぃんだよね。

2013年10月9日水曜日

自作したコントロールに値渡し [C#]

種類'System.ComponentModel.Design.ExceptionCollection'の例外がスローされました。
ってエラー

2日連続・・・

今度の原因は・・・

自作したコントロールにコンストラクタで値を渡してるのがダメぽい。
デザイナーはやっぱさわっちゃダメなのね。

コンストラクタじゃなくセッターを作って、フォームのコンストラクタから値渡しで。

このエラーまた会えそうだね・・・

2013年10月8日火曜日

種類'System.ComponentModel.Design.ExceptionCollection'の例外がスローされました。 [C#]

種類'System.ComponentModel.Design.ExceptionCollection'の例外がスローされました。
ってエラー

Visual Studioのデザイン画面開こうとしたら・・・


エラー情報これだけじゃキツいと思ったらビルドしたら教えてくれた。


継承元のクラスと継承したクラスでコントロール名がカブってた。


デザイン画面以外で使わないのはデフォルト名のままだからなぁ~

2013年10月7日月曜日

エラー"オペレーティングシステムエラー5(アクセスが拒否されました。)。" [SQLServer]

データベースのバックアップをしたら、
"オペレーティングシステムエラー5(アクセスが拒否されました。)。"
なるエラー


バックアップファイルの保存フォルダでファイルの書き込み出来るのに・・・
Windows認証で入ってても書き込み権限一緒じゃないのかな??

フォルダのプロパティのセキュリティ設定でEveryOneが読み込みだけになってたから書き込みおkにしたら出来たけど・・・共有フォルダだから困る。

2013年10月4日金曜日

Form1.csのコードが長い [C#]

Windowsフォームアプリケーションでコード記述してるとForm1.csのコードがめっちゃ長くなる。

別のクラスに分けたいけどコントロールへのアクセスは別クラスからは単純には出来ないみたいだし・・・

partialを使って別のファイルにしちゃえばいぃのかな。

プロジェクトに新しいクラスを作成して、
-------------------------------------------------------
namespace WindowsFormsApplication1
{
    public partial class Form1
    {
      ~各ファイルのコード~
    }
}
-------------------------------------------------------

って書いていけば



処理毎にファイル分ければちょっとは見やすくなるかな。

2013年10月3日木曜日

現在のスレッドがスタック オーバーフロー状態であるため、式を評価できません。 [C#]

「現在のスレッドがスタック オーバーフロー状態であるため、式を評価できません。」
ってエラー・・・

ちょっとググると計算でのエラーっぽいけど全然計算してないとこでエラー起きてる。


一行ずつ実行してみたらLeaveイベントで無限ループしちゃってるみたい。

無限ループ修正したら直った。


無限ループでなんかがオーバーフローしちゃったのかな。

2013年9月27日金曜日

デュアルモニタで作業効率20%アップ

デュアルモニタにしたい!!

開発に使ってるPCは、DELLのINSPIRON 580s

グラボ買ってこなきゃダメかな~って思ったけど、
オンボードのHDMIとVGAにそろぞれモニタ繋いだらデュアルモニタになった。

オンボードでも対応したのね。


デュアルモニタは作業効率20%アップらしい。
作業によるだろうけど。

2013年9月26日木曜日

CheckBoxがアクティブかどうか分かりづらい [C#]

paddingを4,4,4,4にしてアクティブの時の背景色を変えてみた。



分かりやすい。

2013年9月25日水曜日

ハンディーターミナルからサーバーにホスト名で接続できない [C#(.NET Compact)]

ハンディーターミナルシステムからサーバーのSQLServerを参照。

社内テストで、ホスト名でサーバーを指定して問題なく接続出来てたんだけど、
HTとサーバーを本番環境に持って行ってテストしてみたら接続できなかった・・・

試しにIPアドレス指定にしたら接続できた・・・なんで?

固定IPだったからそれでも問題なかったけど変動だったら困るんだけど・・・


うーん・・・なんでだろ・・・・・・・・・・・・・・

2013年9月20日金曜日

Excelを開いた時にExcelは開くけど内容が出てこない [Excel]

Excelを開いた時にExcelは開くけど内容が出てこないことがある。

なんで??

開いたり閉じたりしたら直ったりするけど・・・


[表示]→[整列]

で開いた。

原因よく分からんけど・・・

2013年9月19日木曜日

HTのシステム更新プログラム [C#(.NET Compact)]

[WindowsCEのハンディーターミナル(HT)の開発]

HTのシステム更新をするのって数が多いと大変。

いっこいっこPCに接続して・・・


FTP機能を使ってシステム更新プログラムを。

サーバーのあるフォルダ内の全てのファイルをHTのbinフォルダにコピーしたいだけなのに、結構な量のコードに・・・


まぁずっと使えるしこれで楽に。

2013年9月18日水曜日

DataGridViewを編集時のEnterとかEscの動作を変更したい [C#]

DataGridViewを編集時のEnterとかEscの動作を変更したい!

-------------------------------------------------
//フォームのキーダウンイベント
private void Form_KeyDown(object sender, KeyEventArgs e)
{
  switch (e.KeyCode)
  {
    case Keys.Enter:
    case Keys.Escape:
     MessageBox.Show("test");
     break;
  }
}
-------------------------------------------------

EnterとかEscは単純にフォームのキーダウンイベントで書いても拾ってくれない・・・
-------------------------------------------------
//DataGridViewをオーバーライド
public class DataGridViewPlus : DataGridView
{  
 protected override bool ProcessDialogKey(Keys keyData)
 {
  //Enter・Escキー押下時のイベントキャンセル
  if (((keyData & Keys.KeyCode) == Keys.Enter) ||
      ((keyData & Keys.KeyCode) == Keys.Escape))
  {
   return false;
  }

  return base.ProcessDialogKey(keyData);
 }

 protected override bool ProcessDataGridViewKey
  (KeyEventArgs e)
 {
  //Enter・Escキー押下時のイベントキャンセル
  if ((e.KeyCode == Keys.Enter) ||
      (e.KeyCode == Keys.Escape))
  {
   return false;
  }

  return base.ProcessDataGridViewKey(e);
 }
}
-------------------------------------------------

DataGridViewをオーバーライドしてEnterとEscキーの処理をキャンセルすればフォームのキーダウンイベントで拾えるようになった。

オーバーライド内に直接処理を書いてもいいけどフォームで欲しいこともあったり。

2013年9月17日火曜日

Visual C#でDebugモードとReleaseモードの切り替え [VisualStudio]

VisualStudioでDebugモードとReleaseモードの切り替えをソリューションを右クリックして構成マネージャを選択して切り替えしてたけど、

[ツール]→[設定]の
[基本設定]を[上級者設定]に変更すれば、ツールバーに切り替えボタンが出てきた。



他にどこが上級者になったんだろ。

2013年9月11日水曜日

今日の日付をすばやく入力!! [Windows]

日付を入力することって結構あるけど、何日か調べて入力するのめんどいよね。

「きょう」とかで変換したら今日の日付になったらな~って思ったらあった。


Google 日本語入力
http://www.google.co.jp/ime/

Google様だった。


「きょう」
↓↓↓↓↓↓↓
「2013/09/11」
「2013-09-11」
「2013年9月11日」
「平成25年9月11日」
「水曜日」

に簡単に変換できちゃう。

Android携帯でもGoogle日本語入力で同じことが。

2013年9月10日火曜日

TableLayoutPanelにボタンを配置して矢印キーで縦横に移動 [C#]



TableLayoutPanelにボタン配置したんだけど矢印キーでの移動はTabIndex順になっちゃうのね・・・

普通に縦横に動いてよ。


TabIndexを座標にして、

----------------
11 21 31
12 22 32
13 23 33
----------------

矢印押下時はこれを検索して次のに移動するようにしようかな~

------------------------------------------------------
private void button_PreviewKeyDown(object sender, Previe
wKeyDownEventArgs e)
{
 switch (e.KeyCode)
 {
  case Keys.Right:

   for (int moveX = 10; moveX <= 20; moveX += 10)
   {
    //10の位がx座標
    int tabindex = this.ActiveControl.TabIndex + moveX;

    //右端の時
    if (tabindex > 40)
    {
     tabindex = tabindex - 30;
    }

    bool focus = false;

    //子コントロール
    foreach (Control con in tableLayoutPanel.Controls)
    {
     //ボタン
     if (con is ButtonBase)
     {
      if (con.TabIndex == tabindex)
      {
       con.Focus();
       focus = true;
       break;
      }
     }
    }

    if (focus) break;
   }

   //元々の動きをキャンセル
   e.IsInputKey = true;

   break;

  case Keys.Left:

   for (int moveX = 10; moveX <= 20; moveX += 10)
   {
    //10の位がx座標
    int tabindex = this.ActiveControl.TabIndex - moveX;

    //右端の時
    if (tabindex < 10)
    {
     tabindex = tabindex + 30;
    }

    bool focus = false;

    //子コントロール
    foreach (Control con in tableLayoutPanel.Controls)
    {
     //ボタン
     if (con is ButtonBase)
     {
      if (con.TabIndex == tabindex)
      {
       con.Focus();
       focus = true;
       break;
      }
     }
    }

    if (focus) break;
   }

   //元々の動きをキャンセル
   e.IsInputKey = true;

   break;
 }
}

------------------------------------------------------

2013年9月9日月曜日

印刷時に追加処理をしたい [VBReport]

VBReportの印刷ボタンを押して印刷した後に、DBの印刷済みフラグを更新したいんだけど、追加処理・・・無理かな??


しょうがないから印刷ボタン非表示にして、

-------------------------------------------------------
ViewerControl.PrintButtonMode = Menu;

ViewerControl.ShoPrintMenuItem = False;
-------------------------------------------------------

印刷設定は残しておいて。

ボタンの名前「印刷」だけど・・・


別に印刷ボタン作って、

-------------------------------------------------------
ViewerControl.PrintOut();

~追加処理~
-------------------------------------------------------

かな。


印刷時に出てくるページ指定のポップアップ出てこない。

2013年9月6日金曜日

波線を引きたい [Excel]

オーチシェイプに曲線書くやつあるけど綺麗な波線をパッと書けないし。

ネッドで画像探してもいぃけど意外とすぐにみつからない・・・


もぉ「~」でいっか



縦の波線が欲しいから
セルの書式設定の配置タブで、文字列の角度を-90度にして「~」いっぱい書いて終了。

2013年9月5日木曜日

ストアドプロシージャでSQL文をVARCHARに入れて実行したらエラー [SQLServer]

ストアドプロシージャでSQL文をVARCHAR(MAX)に入れてEXEC実行したらエラー


普通に実行したら動くSQL文なのに何でかと思ったら、

VARCHARはMAXで8000文字なのか。

空白とコメント削ったら通ったけど8000文字超えた場合どぉすればいぃんだ・・・

そんな長いSQL文書くなってことなのかな・・・・
たしかに読みにくい。


でも何回も接続しにいくのも気持ち悪いしな~

2013年9月4日水曜日

サブクエリの結果によって取得するカラム名を動的に生成したい [SQLServer]

・・・無理!!!

動的にカラム名を変更することは無理だけどCASE文で全パターン書いてやればできそう。

------------------------------------------
SELECT
  (CASE EntryColumn
  WHEN '01' THEN TestColum01
  WHEN '02' THEN TestColum02
  WHEN '03' THEN TestColum03
  END) AS TestColum,
FROM
(SELECT EntryColumn FROM EntryTable)
AS kariTable
LEFT JOIN TestTable
------------------------------------------

パターン多いと大変だけどこれなら。

2013年9月2日月曜日

$付けてても参照先がズレる [Excel]

別シートを参照してて、参照先に行・列の挿入をすると$付けてても参照先がズレる。

INDIRECTを使えば固定されるのね。

-----------------------------------------------
=INDIRECT("参照シート!A1")
-----------------------------------------------

しかもこれならVBReportにも使える!

思わぬ副産物。

2013年8月30日金曜日

NULL を許可する列または DEFAULT 定義が指定されている列しか追加できません [SQLServer]

テーブルに列を追加する時に[NULLを許容]にチェックしないとエラー

------------------------------------------------
テーブルを修正できません。
ALTER TABLE では、NULL を許可する列または DEFAULT 定義が指定されている列しか追加できません。
------------------------------------------------

一度NULLを許容で修正してから、UPDATEで全ての列に何かしらの値入れて、
NULLを許容のチェックを外してるけどデフォルト値の設定すればいぃのかな??

どこで・・・

2013年8月27日火曜日

エラー 「型 'double' を 'decimal' に暗黙的に変換できません。」 [C#]

decimalに小数まである数値を入れようとしたら、

-------------------------------------
decimal test = 1.2 + 34;
-------------------------------------

「型 'double' を 'decimal' に暗黙的に変換できません。」
エラー

-------------------------------------
decimal test = (decimal)1.2 + 34;
-------------------------------------

小数点の値には(decimal)入れて上げなきゃなのね。

2013年8月26日月曜日

CSVファイルをインポート時にエラー [SQLServer]

SQLServerのテーブルにCSVファイルをインポート時にエラー
いくらでもエラーでる・・・

気をつけるとこをメモ。

CSVでの作業
・後ろの空白削除
・文字数を設定

インポート時の設定
[データソースの選択]
[全般]
・最初の行が列名の場合は[先頭データ行を列名として使用する]にチェック

・Nullを許容しない列があって空白を挿入したい場合は、
"test","",123
のようにCSVに修飾子を付けて、[テキスト修飾子]を「"」と入力する。


[詳細設定]
・デフォルトで取り込む文字数が50になっているので、
50文字を超えている列の[OupputColumnWidth]を増やす。


[コピー元のテーブルおよびビューを選択]
・変換先のテーブルを選択


[マッピングの編集]
・[ID挿入を許可する]にチェック
・変換元と変換先を選択する(1行名を列名にしておけば自動で設定してくれる)


何事もなくいくことないよこれ。

2013年8月23日金曜日

行・列の削除 [VBReport]

ColumnCopyとColumnInsertCopiedって複数列をコピー挿入することできないのかな??

VBAの入ってるデザインファイルだとPage.Repeatが何故かきかない・・・


いっぱい用意しておいていらない分を削除するようにして対応しようかな~

------------------------------------------
//6行目削除
xlsReport.RowDelete(5);

//1列目から10列削除
xlsReport.ColumnDelete(0, 10)
------------------------------------------

用意してある分を越えませんように。

2013年8月22日木曜日

VLOOKUPで「#REF!」 [Excel]



久しぶりにExcel関数使ってみたら、
VLOOKUPで「#REF!」(?_?)(?_?)
--------------------------------------------
=VLOOKUP(B6,B2:B3,2,FALSE)
--------------------------------------------


第二引数には出力範囲まで含めなきゃらしい。
--------------------------------------------
=VLOOKUP(B6,B2:C3,2,FALSE)
--------------------------------------------

でも検索するのは最初の列だけなのかな。

2013年8月20日火曜日

別シート参照が保存するとTempファイル参照になる [VBReport]

Excel関数で別のシートのセルを参照してあるデザインファイルを読み込んで保存すると、
Tempファイルを見に行くようになる・・・

なんで?????

ボタンでVBA起動してるのもTempを呼び出しになる????


ボタンはActiveXのボタンだと何事もなくうまくいった。


参照のは起動時VBAで修正かな・・・・

2013年8月19日月曜日

罫線の引き方 [VBReport]

罫線の引き方。

--------------------------------------------------------
//外枠に太い罫線
xlsReport.Cell("A1:A32").Attr.Box(AdvanceSoftware.VBReport7.BoxType.Box, AdvanceSoftware.VBReport7.BorderStyle.Medium, AdvanceSoftware.VBReport7.xlColor.Black);

//格子に普通の太さの罫線
xlsReport.Cell("B32:K32").Attr.Box(AdvanceSoftware.VBReport7.BoxType.Ltc, AdvanceSoftware.VBReport7.BorderStyle.Thin, AdvanceSoftware.VBReport7.xlColor.Black);

//右に赤の二重罫線
xlsReport.Cell("G32").Attr.LineRight(AdvanceSoftware.VBReport7.BorderStyle.Double, AdvanceSoftware.VBReport7.xlColor.Red);
--------------------------------------------------------

他も引数変えてやれば。

2013年8月12日月曜日

OverrideしたコントロールでSelectNextControlしたら次にいかない [C#]

OverrideしたコントロールでSelectNextControlしても次にいかない・・・

--------------------------------------------------------
this.SelectNextControl(this, true, true, true, true);
--------------------------------------------------------

親コントロールにしてやれば。
--------------------------------------------------------
this.Parent.SelectNextControl(this, true, true, true, true);

this.Parent.Parent.Parent.SelectNextControl(this, true, true, true, true);
--------------------------------------------------------

場合によっては親の親の親の親とかに。

2013年8月9日金曜日

キャストと()の違い [C#]

------------------------------------
int testInt = (int)test;

int testINt = int.Parse(test);
------------------------------------

()とParse(キャスト)の違いは、上の例だと、
testが元々intだけど何かでオブジェクト型とかになっちゃってるときは、(型)で明示的に指定してあげれば良くて、

int以外の型からint変換したいときはParseで変換(キャスト)。

2013年8月8日木曜日

甲!! [業務]

甲!!

ケースを縛った単位。

8ケース4合わせは2甲。

「こおり」じゃなくて「こうり」なのね。

変換で出ない!

2013年8月7日水曜日

表示の%の初期値の設定の仕方 [VBReport]

表示の%の初期値の設定の仕方。

----------------------------------------------------

viewerControl.ViewZoom = 60;

----------------------------------------------------

ズーム!

2013年8月6日火曜日

DropDownListに設定したcomboBoxの背景色が変わらない [C#]

DropDownListに設定したcomboBoxの背景色が変わらない・・・

DropDownListにフォーカスが当たってる時に分かりやすいように色を変えたいんだけど。


VisualStyleを無効にすればいぃらしいけど・・・


描画まで作るの大変だから、
後ろにグループボックスを配置してそれの色を変えようかな~



な感じに。

2013年8月5日月曜日

デジタル証明書を使って入ってるサイトに入れなくなった [Windows]

PC移動したらデジタル証明書を使って入ってるサイトに入れなくなった・・・




インタネットオプションから詳細を見てみると期限が切れたとか。

原因は・・・PCの時間!

マザボの電池切れてるから移動した時に初期値に・・・

2013年8月1日木曜日

stringの可変長バージョンは?? [C#]

stringの可変長バージョンは??

-------------------------------------------------------
using System.Text;

StringBuilder kahencho = new StringBuilder();
-------------------------------------------------------

-------------------------------------------------------
//後ろに追加
kahencho.Append("追加文字列");

//任意の位置に追加
kahencho.Insert(0, "追加文字列");

//stringに
string str = kahencho.ToString();
-------------------------------------------------------

なのね。

2013年7月31日水曜日

viewerControlに何も表示されない・・・ [VBReport]

viewerControlに何も表示されない・・・

この現象なーんどもあるけど原因はいっつもこれ。

---------------------------------------------------------
xlsReport.FileName = "[テンプレートファイルパス]";
xlsReport.Page.Start("[テンプレートシート名]", "[ページ数]");
---------------------------------------------------------

どっちかの指定間違い・・・

毎回コピペだからな~


テンプレートないですよエラーが欲しい

2013年7月30日火曜日

ストアドプロシージャで動的に作成してるSQL文を確認したい!! [SQLServer]

ストアドプロシージャで動的に作成してるSQL文を確認したい!!

デバッグ機能あった!


まずは作成したストアドプロシージャを実行。




実行したらデバッグボタン押す。




デバッグ画面になるからステップインボタン押して1行ずつ実行。




動的なSQLが実行されるとこでSQL文見れる。

2013年7月29日月曜日

売上・返品・値引・リベート・税・相殺の計算順 [業務]

まずは売上から返品とか値引を引いて。

売上金額 - 返品金額 - 値引金額 = 途中経過1


リベートがある場合ここで、

途中経過1 - (途中経過1 * リベート率) = 途中経過2


んで税、

途中経過2 + (途中経過2 * 税率) = 途中経過3


前回請求分の繰越がある場合はプラス。

途中経過3 + 繰越金額 = 途中経過4


さらに、相殺がある場合は最後に、
途中経過4 - 相殺金額 = 請求金額


税の計算のタイミングは会社によって変わるのかな??
今回はこれで良いかな。

2013年7月28日日曜日

フレッツ光で毎回ダイヤルアップ接続が出る [Windows]

フレッツ光でネット接続してるんだけど、
PC起動する度にダイヤルアップ接続の画面出る・・・



シャットダウンからの起動なら自動で接続してくれるからいぃけど、
休止状態からだと毎回手動なんだけど・・・

しかもすぐに接続の画面が出てきてくれない・・・


[設定]押して[通常の接続でダイヤルする]にチェックすれば、
ブラウザ開けばすぐ出てきてくれるようにはなったけど自動にならない


ルーターがあればいぃみたいだけど今んとこ予定ないしなー

2013年7月26日金曜日

日付型から年2桁と月日のyyMMddを取得したい [SQLServer]

日付型から年月日のyyMMddを取得したい。

-------------------------------------------------------------

SUBSTRING(CONVERT(VARCHAR, [日付], 112), 3, 6)

-------------------------------------------------------------

CONVERTの3つ目の引数112は、日付の/とか:とか何もなし。

SUBSTRINGは一文字目は0じゃなくて1

2013年7月25日木曜日

DataGridViewがアクティブの時の処理 [C#]

DataGridViewがアクティブの時の処理を描きたいんだけど、

ActiveControl == dataGridView

だけじゃちゃんと拾ってくれない・・・

DataGridViewの中のコントロールがアクティブって時はNameが空白になる・・・

----------------------------------------------------
if (ActiveControl.Name.Equals("") ||
  (ActiveControl == dataGridView))
{
  ~色々処理~
}
----------------------------------------------------

で思い通りになったけど。

違うなんかでも拾っちゃいそうで怖い・・・

2013年7月24日水曜日

VisualStudioでプロジェクトのフォルダ名変更 [VisualStudio]

ソリューション名変えると開くファイル名(.sln)とかは自動で変わるけど、
プロジェクトのフォルダ名そのままじゃん!



ファイルの名前変えてソリューション開くと、


「ソリューション内の1つ以上のプロジェクトが正しく読み込まれていません。
詳細については、出力ウィンドウを確認してください。」

ってエラー

OK押して、プロジェクトの指定し直し。



ソリューションエクスプローラーで(利用不可)のプロジェクトを選択して、
プロパティのファイルパスを変更。

ファイル名を変更したフォルダ内のプロジェクトを選択



選択したらソリューションエクスプローラーのプロジェクトを右クリックして[プロジェクトの再読み込み]



でフォルダ名を変更完了!

2013年7月22日月曜日

SELECT時にISNULLを含めた文字列結合が数値扱いになっちゃう [SQLServer]

SELECT時にISNULLを含めて文字列結合。

---------------------------------------------------------------------
SELECT '20' + ISNULL(MAX(YM), '0102') + '03' FROM DateTable

結果:125
---------------------------------------------------------------------

クォーテーションで囲んでるのに何故か数値扱い・・・

文字列に変換して~

---------------------------------------------------------------------
SELECT '20' + ISNULL(MAX(YM), CONVERT(VARCHAR, '0102')) + '03' FROM DateTable

結果:2010203
---------------------------------------------------------------------

惜しい・・・

---------------------------------------------------------------------
SELECT '20' + ISNULL(CONVERT(VARCHAR, MAX(YM)), '0101') + '01' FROM DateTable

結果:20010203
---------------------------------------------------------------------

なった。
NULLの時の値は問答無用でNULLじゃない場合の型と同じになるのね。

2013年7月18日木曜日

DataGridViewでセルの値を参照したらnullエラー [C#]

DataGridViewでセルの値を参照したらnullエラー。

「NullReferenceExceprion が発生しました。
 オブジェクト参照がオブジェクト インスタンスに設定されていません。」

---------------------------------------------------
string test;

test = dataGridView[1, 1].Value.ToString();
---------------------------------------------------

.Valueは入力がないときは空白じゃなくてnullみたい。

他にも色んな原因あるだろうけど。

---------------------------------------------------
string test = "";

if(dataGridView[1, 1].Value != null)
{
  test = dataGridView[1, 1].Value.ToString();
}
---------------------------------------------------

毎度これ入れるの忘れてエラー

2013年7月17日水曜日

デザイン画面でオーバーライドしているプロジェクトのデザイン画面開く度にエラー [C#]

デザイン画面でオーバーライドしているプロジェクトのデザイン画面開く度にエラー出る

「パスには、空の文字列またはスペース文字を使用することはできません。」

OK押せば問題なく進むけど・・・


コンストラクタとかShownイベントで
処理する前に↓の追加したら出なくなった。
----------------------------------------------------
//コンストラクタ
public PrintBase()
{
  InitializeComponent();

  //デザイン画面のときはここまで
  if (this.DesignMode) return;

  ~色々処理~
}
----------------------------------------------------

デザイン画面開く時にオーバーライドするシステムを実行しちゃってるのかな(?_?)

2013年7月16日火曜日

「型'[システム名]'にコンストラクターが見つかりませんでした。」エラー [C#]

オーバーライドしているプロジェクトのデザイン画面を開いたら

「型'[システム名]'にコンストラクターが見つかりませんでした。」

なるエラー。

------------------------------------
//コンストラクタ
public PrintBase(string[] args)
{
  InitializeComponent();
}

//デザイナに表示にはデフォルトコンストラクタが必要??
public PrintBase()
{
  InitializeComponent();
}
------------------------------------

コンストラクタに引数がある場合、
呼び出して無くても引数なしのコンストラクタがいるぽい??

なんでか分からんけどいるらしい。

2013年7月11日木曜日

メタデータのkeywordsにカテゴリを入れる [So-netブログ]

So-netブログで書いたブログのソース見るとメタデータのkeywordsに謎の言葉が!

ブログの内容から自動で出してるみたいだけど・・・

マイカテゴリーとか出してほしい!

-----------------------------------------------------------------------
<meta name="keywords" content="<% blog.keywords | oneline | tag_strip | __or__ | blog.title | oneline | html %> <% extra_keywords | oneline | html %>" />
-----------------------------------------------------------------------

HTML編集で↑を↓に変更

-----------------------------------------------------------------------
<meta name="keywords" content="<% if:page_name eq 'article' %><% article.category.name %>,<% /if %><% blog.keywords | oneline | tag_strip | __or__ | blog.title | oneline | html %>" />
-----------------------------------------------------------------------

これで記事のページはマイカテゴリとブログのキーワードに。

タグ出せるといぃんだけどな~

↓↓↓↓↓↓↓↓

ブログのキーワード設定すればそれになりそう
せっかくなんでカテゴリは自動で出すとして

-----------------------------------------------------------------------
<meta name="keywords" content="<% if:page_name eq 'article' %><% article.category.name %><% else %><% blog.keywords | oneline | tag_strip | __or__ | blog.title | oneline | html %><% /if %> <% extra_keywords | oneline | html %>" />
-----------------------------------------------------------------------

でいっか。

2013年7月5日金曜日

保存ボタンを押した時のデフォルトのファイル名とシート名の指定 [VBReport]

保存ボタンを押した時のデフォルトのファイル名と
シート名の指定の仕方。

--------------------------------------------------

viewerControl.SaveFileName = "[デフォルトファイル名]";

xlsReport.Page.Name = "[シート名]";

--------------------------------------------------

2013年7月4日木曜日

改ページするときに違うシートじゃなくて同じシート内で改ページ!! [VBReport]

VBReportで改ページするときに違うシートじゃなくて同じシート内で改ページ!!

-----------------------------------------

xlsReport.FileName = @".\テンプレート.xls";
xlsReport.Report.Start();
xlsReport.Report.File();
xlsReport.Page.Start("[シート名]", "1");
xlsReport.Page.Repeat(1);

//改ページ
xlsReport.Page.Next(true);
xlsReport.Page.Repeat(1);

xlsReport.Page.Next(true);
xlsReport.Page.End();
xlsReport.Report.End();
-----------------------------------------

最初にRepeat入れないとおかしなことに。

2013年7月3日水曜日

.exe.config(App.config)を一つにまとめる [C#]

exe.config(App.config)を一つにまとめたい。

<appSettings>でデータベース接続文字列とか持ってるけど、
プログラムごとに持ってると変更大変。


まとめる各configファイル
---------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

 <appSettings configSource=".\_SystemSettings.config"/>

</configuration>
---------------------------------------------------

_SystemSettings.configってファイル作って<appSettings>の部分を書くだけ
---------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>

<appSettings>

 <add key="key1" value="value1"/>

 <add key="key2" value="value2"/>

</appSettings>
---------------------------------------------------

ファイル名はなんでも。

2013年7月2日火曜日

DataTableの行(DataRow)を参照じゃなくて値コピー [C#]

DataTableの行を参照じゃなくて値コピーしたい

----------------------------------------------

DataTable SelectTable;

SelectTable = [なんか];

DataRow row = SelectTable.NewRow();

row.ItemArray = SelectTable.Rows[0].ItemArray;

----------------------------------------------

で出来た。

2013年7月1日月曜日

共有フォルダにアクセス時にパスワードを何回か間違えたら聞いてくれなくなった [Windows]

Windows7で共有フォルダに入る時にアカウントとパスワードを何回か間違えたら?登録したら?聞いてくれなくなった・・・

[スタート]→[コントロールパネル]

(→[ユーザーアカウントと家族のための安全設定])
→[ユーザーアカウント]→[資格情報の管理]



間違えて登録しちゃった資格情報の

[資格情報コンテナーから削除]

をしたらまた聞いてくれた。

2013年6月28日金曜日

VBAから接続時に"クエリが時間切れになりました"エラー [SQLServer]

SQLServerにVBAから接続したときに"クエリが時間切れになりました"とエラー



----------------------------------------------

Set con = CreateObject("ADODB.Connection")

'タイムアウト時間なし
con.CommandTimeout = 0

~SQL実行処理~

---------------------------------------------

でタイムアウトなしに。


やっぱり表示データ少なくして対応・・・

2013年6月27日木曜日

プラスっぽい十字をを引っ張ってコピーすると罫線が消える [Excel]

Excelで十字を引っ張ってコピーすると罫線が消える・・・





コピーした後に右下に出てくるのをクリックして書式なしコピーを選んだら消えた。

2013年6月26日水曜日

Excelの使用しているセルの最終行を知りたい!! [VBA]

行を順番に検索していきたいんだけど使ってるセルの最終行を知りたい!!

---------------------------------------------------------------

Dim maxRow As Integer
maxRow = Sheet.UsedRange.Rows(Sheet.UsedRange.Rows.Count).Row

---------------------------------------------------------------

でいいのかな。

2013年6月25日火曜日

変数宣言のときに初期化されない [VBA]

VBAって変数宣言のときに初期化されない???

ループの1週目はNullなのに2週目以降にNullに戻ってないし・・・

-------------------------------------------------
Do While True

  '変数宣言

  Dim testRange As Range

  ~色々処理~

  If testRange Is Nothing Then

    ~色々処理~

  End If

Loop
-------------------------------------------------


どっかのセルを最初に入れといてそれを初期値でいいか↓
-------------------------------------------------
Do While True

  '変数宣言

  Dim testRange As Range

  '初期値でどっかのセルを入れておく
  Set testRange = Range("A1")

  ~色々処理~

  '最初に入れたセルなら初期値のまま
  If testRange = Range("A1") Then

    ~色々処理~

  End If

Loop
-------------------------------------------------

ちゃんと検証してないけどSet系の変数だけかな?


変数宣言しなくても良い言語だもんね・・・

2013年6月20日木曜日

decimalを整数型にキャストして小数点の切り捨て [C#]

decimalの小数点の切り捨て方法

--------------------------------------------------

decimal decitest;

~処理~

int intest = Decimal.ToInt32(decitest);

long longtest = Decimal.ToInt64(decitest);

--------------------------------------------------

decimalからならこれでいぃかφ(..)

2013年6月19日水曜日

フィールドの型・精度とか変更時にビューの情報(メタデータ)を一括で更新 [SQLServer]

テーブルのフィールドの型とか精度とか変えてから
ビューの情報を取得しても更新されてない前のままのがでる・・・

ビューのデザインを開いて登録し直すか、

-------------------------------------------
exec sp_refreshview [ビュー名1];
-------------------------------------------


を実行するとメタデータが更新されるみたい。

一つのテーブルが色んなビューに使われてると更新めんどいから・・・

-------------------------------------------
USE [データベース名]

ALTER PROCEDURE [プロシージャ名]
AS

BEGIN

exec sp_refreshview [ビュー名1];

exec sp_refreshview [ビュー名2];

exec sp_refreshview [ビュー名3];

END
-------------------------------------------

でストアドプロシージャに全ビューを登録しとけば、
何か変更したらとりあえずこのストアドプロシージャ実行しとけば大丈夫に。


フィールド名変更は対応してくれないけど

2013年6月18日火曜日

Windows7でタスクバーのアプリを詳細表示し結合せずにXPのように表示する [Windows]

Windows7ってタスクバーにあるアプリケーションがアイコンだけ表示されて同じのは重なっちゃう。





XPみたいに表示する方法

タスクバーで右クリック

プロパティ

タスク バーのタブ

タスク バーのボタンの

[常に結合、ラベルを非表示]を

[タスク バーがいっぱいの場合に結合]か[結合しない]

に変更。


こっちの方が選びやすいから明日からこっちにしよう。

テーブルの型とか最大値の情報取得 [SQLServer]

プログラムからテーブルのカラム毎の型とか最大値とかの情報を知りたい!

用意されてるストアドプロシージャに良いのある

---------------------------------------------------

EXEC sp_MShelpcolumns テーブル名

---------------------------------------------------

ビューとかもこれでできそう。

2013年6月14日金曜日

DataGridViewでEnter押下時に下に移動じゃなくて右に移動したい [C#]

DataGridViewでEnter押下時に下に移動じゃなくて右に移動したい!!

オーバーライドしなきゃいかんのかな・・・

----------------------------------------------------------------

public class DataGridViewOverride : DataGridView
{
  [System.Security.Permissions.UIPermission(
  System.Security.Permissions.SecurityAction.LinkDemand,
  Window = System.Security.Permissions.UIPermissionWindow.AllWindows)]
  protected override bool ProcessDialogKey(Keys keyData)
  {
    //Enter
    if (keyData == Keys.Enter)
    {
      return base.ProcessDialogKey(Keys.Tab);
    }
    //Enter + シフト
    else if (((keyData & Keys.Shift) == Keys.Shift) &&
    ((keyData & Keys.Enter) == Keys.Enter))
    {
      return base.ProcessDialogKey(Keys.Tab | Keys.Shift);
    }

    return base.ProcessDialogKey(keyData);
  }
}

----------------------------------------------------------------


特定の列は飛ばすとかもこんな感じで何とか


オーバーライドすると複雑になるね・・・


[ ]の部分は無くても動き変わらんからなくてもいぃんかな?

2013年6月13日木曜日

viewerControlの表示時に計算式を実行 [VBReport]

デフォルトだとviewerControlで表示する時に、
デザインファイルの計算式が計算されずに元の読み込んだ時の値がそのまま出てくる・・・


---------------------------------------------------------

xlsReport.ExcelMode = true;

---------------------------------------------------------


を最後に追加したら計算してくれた!

2013年6月12日水曜日

VBA高速化のため描画・自動計算を止める [VBA]

VBAで計算式がいっぱい入ったExcelシートにデータベースの情報を表示するプログラム書いたんだけど・・・・・


一つずつ表示する毎に、描画して、自動計算してってやるからおっそい!

目で追える・・・



止める方法あった

------------------------------------------------

'画面の描画を停止

Application.ScreenUpdating = False


'Excelの自動計算をとめる
Application.Calculation = xlCalculationManual



'イベントの発生をとめる
Application.EnableEvents = False


~~処理~~


'最後に元に戻す

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True

-------------------------------------------------



むっちゃ早くなった!

2013年6月11日火曜日

小数点の四捨五入 [C#]

四捨五入のやり方


よく分からんから毎回ググってんだけどもっと分かりやすい四捨五入クラスあれば良いのに



---------------------------------------------------

decimal deci = 123.456;



deci = Math.Round(deci, 2, MidpointRounding.AwayFromZero);

---------------------------------------------------



第一引数は四捨五入する値

第二引数は小数点の桁数

第三引数は謎



using System;

があればいぃのかな。



・・・・これじゃ整数の四捨五入できないじゃん

2013年6月10日月曜日

構成比 [SQLServer]

構成比を求めたい!!


伝票テーブルで、特定の日付の、商品ごとの金額の比率を求めたい。



SELECT [商品コード],

      SUM([金額]) AS [総金額],
(SUM([金額]) / (SELECT SUM([金額])

                FROM [伝票テーブル] WHERE ([伝票日付]='2013-06-10'))) AS [構成比]

FROM [伝票テーブル]

WHERE ([伝票日付]='2013-06-10')
GROUP BY [商品コード]





こんな感じ?



速度的にもっと良い方法あるのかな。

2013年6月6日木曜日

数値にキャスト [C#]

数値にキャストするとき、


int integer = int.Parse("文字列");


じゃなくて全部、


int integer;


int.TryParse("文字列", out integer);


にしちゃっていいかな

バグ発見しにくくなるかな・・・

2013年6月3日月曜日

StatusStrip詰めろー [C#]

StatusStrip使ってみた。


SizingGripをFalseにして右のサイズ変更できますよマーク消したんだけど・・・



消えた分の幅詰めてくれない!!




無理なんかなー



もぉテキストボックス一個ずつ自分で配置・・・

2013年5月31日金曜日

MaskedTextBoxの動きがおかしくなる [C#]

MaskedTextBoxでボタン押下時に処理してるんだけど、たまに動きがおかしくなる・・・


どうおかしくなるって写真取ろうと思ったらバグらない!


e.Handled = true;


を追加したらちゃんと動くようになった。


MaskedTextBoxがこの命令をどぉ見てるか知らんけど・・・


------------------------------------------------------

protected virtual void BlockBase_KeyDown(object sender, KeyEventArgs e)
{
  switch (e.KeyCode)
  {
    case Keys.Enter:
    case Keys.Down:
    case Keys.Right:

    **色々処理**

    e.Handled = true;

    break;
  }
}
----------------------------------------------------

2013年5月30日木曜日

つながらない [SQLServer]

C#からSQLServer2000に繋がらない・・・



無理?・・・・なんてことないよね



↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓



つながった!


パーソナルエディションだとつながらない??設定の問題??


まぁつながったからいぃや。

2013年5月29日水曜日

Internet Explorerでダウンロードのボタン押しても何も起きない

Windows Server2003で

Internet Explorerでダウンロードのボタン押しても何も起きない・・・なんで??




インターネットオプションのセキュリティ設定の問題だった。


何の警告もなしになっちゃうんだ・・・

2013年5月28日火曜日

LEFT JOINして結合先に行がないとSELECTされない [SQLServer]

結合先に行があるときだけ表示してないときは空白で良いときは

WHEREで絞りこまずに

LEFT JOINでANDで絞り込めば良いのね。


結構ハマったけど、初めてじゃない気が・・・



-------------------------------------------------------
Shohin LEFT OUTER JOIN ShohinSign
ON ShohinSign.ShohinSign_SignCD = Shohin.Shohin_SignCD
WHERE ShohinSign.ShohinSign_DataKubun = 1

↓↓

Shohin LEFT OUTER JOIN ShohinSign
ON ShohinSign.ShohinSign_SignCD = Shohin.Shohin_SignCD
AND ShohinSign.ShohinSign_DataKubun = 1

2013年5月27日月曜日

DataGridViewの型チェックエラー回避 [C#]

データベースから持ってきたDataTableをDataGridViewにバインドして入力してたら


[入力文字列の形式が正しくありません。]


って型チェックエラーが起きる・・・



なんでも入力したいのに。


SqlDataAdapter.Fillだと絶対型付きになっちゃうのかな・・・


SqlDataReaderでDataTableを自分で作ったら型なし。

--------------------------------------------------------

SqlDataReader sqlDr = sqlCmd.ExecuteReader();

for (int i = 0; i < sqlDr.FieldCount; i++)
{
    selectData.Columns.Add(sqlDr.GetName(i));
}

if (sqlDr.HasRows)
{
    object[] Rows = new object[sqlDr.FieldCount];
    
    while (sqlDr.Read())
    {
        for (int i = 0; i < sqlDr.FieldCount; i++)
        {
            Rows[i] = sqlDr.GetSqlValue(i);
        }

        selectData.Rows.Add(Rows);
    }
}

sqlDr.Close();

--------------------------------------------------------

もっと簡単にできんの・・・