C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■8312  Re[19]: 反時計回り 時計回り すいませんバグありました!
□投稿者/ セイン -(2007/09/27(Thu) 20:19:48)
    No8274 (れい さん) に返信
    > いま気づきましたが。
    > これ、成分の和の値が間違ってます。
    >
    > 10+5 = 15 != 11.18033989 = sqrt(10^2+5^2)
    >
    > 成分の和は文字通り、成分の和です。
    > 絶対値はベクトルの場合は普通長さを指します。
    >
    > 言葉はきちんと正確に使いましょう。

    すいません。ありがとうございます。
    成分の和は下記式なのですね。
    sum = x + y + z
    僕はベクトルの長さで判断していました。
    ベクトルの長さで、トツ部分を見つけること自体間違っていますでしょうか?
    原点0,0,0からのベクトルの長さでトツ図形を見つける方法と、やっていることは同じですかね?

    (表のタイトルを成分の和→ベクトルの長さに変更が正しい修正方法?)
記事No.7927 のレス /過去ログ20より / 関連記事表示
削除チェック/

■23673  Re[2]: オブジェクト指向
□投稿者/ 774RR -(2008/08/20(Wed) 11:20:33)
    自分(=オブジェクト)ができることは、自分自身が知っている
    と言っていいかな
記事No.23667 のレス /過去ログ44より / 関連記事表示
削除チェック/

■30356  Re[8]: 一時フォルダの考え方
□投稿者/ みしま -(2008/12/22(Mon) 13:24:44)
    またたくさんのお返事をいただき有難うございます。

    APIはできれば使いたくない環境なので^^;

    一応いま、
    1.ユーザ環境変数のTEMPを取得
    2.失敗したらユーザ環境変数のTMPを取得
    3.失敗したらシステムドライブ直下のTempフォルダを取得
    4.失敗したらシステム環境変数のTEMPを取得
    5.失敗したらシステム環境変数のTMPを取得
    6.失敗したらメッセージを表示して終了

    という流れで考えているのですが…

    ちゃっぴさんの仰る通り、やはりシステム環境変数はリスク高いでしょうか?
    それと、3についてですが、システムドライブの直下にTempって必ずあるものなのでしょうか?
記事No.30340 のレス /過去ログ54より / 関連記事表示
削除チェック/

■57556  Re[4]: switch文ないでインスタンスの使いまわし?
□投稿者/ GOD -(2011/03/04(Fri) 09:33:54)
    2011/03/04(Fri) 09:34:13 編集(投稿者)

    No57550 (shu さん) に返信
    > 1組の{}で囲まれた範囲で同じ名前の変数宣言を行うことは出来ません。
    >
    説明が微妙すぎです。(1の事例に対してのみ言っているのでしょうが、2の事例には当てはまらない)
    私は2008EE使ってるけど他のバージョンだと大丈夫なのかな?

    ・1(funcという一組の{})
    private void func(){
    int x;
    :
    :
    String x;
    }

    ・2
    class...{
    private int x = 99;
    private void func() {
    int x = 0; // func{}外で宣言されていてもOK
    int y = 0;
    Console.WriteLine(x);
    if (y == 0)
    {
    String x = ""; // if{}外で宣言されているからNG
    Console.WriteLine(x);
    }
    }
    }
記事No.57536 のレス /過去ログ96より / 関連記事表示
削除チェック/

■74563  Re[19]: メールソフト
□投稿者/ テンテン -(2015/01/09(Fri) 17:26:28)
    No74557 (WebSurfer さん) に返信
    > ■No74553 (テンテン さん) に返信
    >
    >>→Azuleanさんの返信は下記の二つだと認識しております。
    >
    > 直近のレス Re[14] の質問(クエッションマークのついているので質問だと分かりますよね?)
    > に答えてないと思いますけど。
    →質問を質問で返してました。
     少し前に質問を質問で回答しないといったのに再度返してしまい申し訳ございません。

    > 質問に質問で答えるのではなく、まずは以下のように(あくまで例です)ダイレクトに回答し
    > ないと話が通じにくいと思いませんか。
    →WebSurfer さんが回答して下さった文章を見て自分の回答の仕方が変だと認識しました。
     今後は区切りのいい個所ごとに記載するように致します。

    私の質問と私が勝手に想像した回答は以下の通りです。
    >
    >>以下のように理解してますが、間違いないですか? (Re[14])
    >
    > 間違いないです。
    >
    >>SMTP 認証と Web の認証方式は関係ないと言うことは理解してますか? (Re[15])
    >
    > 理解できていません。
    →上記の認識で問題ありません。
記事No.74492 のレス /過去ログ125より / 関連記事表示
削除チェック/

■83828  Re[3]: 1プロセスあたりの共有メモリ数上限
□投稿者/ ニートプログラマ -(2017/04/12(Wed) 18:10:52)
    プログラムは期待されたようにではなく
    書かれたように動く

    の典型ですな。バグってますよ。

記事No.83820 のレス /過去ログ143より / 関連記事表示
削除チェック/

■83829  Re[1]: C言語の規格ではオーバーロードできない?
□投稿者/ 774RR -(2017/04/12(Wed) 18:16:22)
    2017/04/12(Wed) 18:21:16 編集(投稿者)

    C では同一名称の関数を多重定義できないです (グローバルスコープでは)
    ファイル内 static 関数なら異翻訳単位で同一名称を使うことはできるっすよ。
    (プログラマの側に混乱を招きかねないので推奨しません)

記事No.83827 のレス /過去ログ143より / 関連記事表示
削除チェック/

■83830  Re[2]: メモリのキャッシュをクリアする方法
□投稿者/ バジャイ -(2017/04/12(Wed) 18:17:58)
    empty.exeも試してみたのですが
    なぜか転送速度は初期化されませんでした
    RAMMapというソフトをキックするか
    RAMMapの中の機能をDLL化できれば良いのですが・・・
     
記事No.83760 のレス /過去ログ143より / 関連記事表示
削除チェック/

■91988  Re[4]: コンボボックスによる絞り込み
□投稿者/ たかし -(2019/08/16(Fri) 09:06:35)
    魔界の仮面弁士さま、 WebSurferさま、お世話様です。
    
    >最初の質問に書いてあった tbl_部署, tbl_社員 は SQL Server などのデータベースにある
    >テーブルで、それからデータを取得して連動 ComboBox に表示したいと言ってます?
    
    いかにもSQLサーバーです。そしてストアドプロシージャは以下のとおりです。
    
    -----------------------------------------------------------------------------
    
    ALTER PROCEDURE [dbo].[std_社員] 
    	-- Add the parameters for the stored procedure here
    	@部署コード int 
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
    
        -- Insert statements for procedure here
    	SELECT * FROM dbo.qry_社員 
    	WHERE 部署コード = @部署コード
    END
    
    -----------------------------------------------------------------------------
    
    >退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    >部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?
    
    そうなんです。そこが問題でまだ解決していないのです。
    とりあえず在職者のデータだけを入力しています。
    おそらく部署の履歴を取ることも必要になると思いますが、それはまだ先の課題となります。
    現時点では上書き変更で対処しようと思っております。
    Accessのサブフォームのような機能がVBにもあるとよいのですが。
    
    >それと、データベースからデータを取得する際の「タイミング」と「取得範囲」も考えておきましょう。
    
    流れとしてはComboBox1で部署を選択し、ComboBox2で社員を選択、
    そして社員に関するすべてのデータを呼び出すという感じを考えています。
    絞り込むタイミングとしてはComboBox2のMouseDownイベントがいいのではないかと。
    データを呼び出すタイミングはComboBox.SelectedIndexChanged イベントないしは
    CommandButtonクリックイベントです。
    
    ではよろしくお願いいたします。
    
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91991  Re[5]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/16(Fri) 10:24:30)
    2019/08/16(Fri) 11:16:45 編集(投稿者)

    No91988 (たかし さん) に返信
    > >退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    > >部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?
    > そうなんです。そこが問題でまだ解決していないのです。

    一例として:

    たとえば、部署マスタが年度単位で刷新されるような場合、
    「対象年度」を入れる入力欄を設けておき(既定値は今年度)、
    その年度分の部署一覧を ComboBox1 にロードするような設計にすることがあります。

    年度途中での入れ替わりがある場合や、
    部署間の人事異動や、退職後の再任用も追跡するようなケースでは、
    「対象年月日」を範囲指定する設計にする事もあります。


    > Accessのサブフォームのような機能がVBにもあるとよいのですが。
    WinForm だと DataRepeater コントロールぐらいですかね。
    WPF とか ASP.NET だと、もう少しやりようがありそうですが。

    https://blogs.msdn.microsoft.com/vbteamjp/2008/06/06/data-repeater-power-packs-beth-massi/
    https://blogs.yahoo.co.jp/yss2216/6161472.html


    >> データベースからデータを取得する際の「タイミング」と「取得範囲」も考えておきましょう。
    > 流れとしてはComboBox1で部署を選択し、ComboBox2で社員を選択、
    > そして社員に関するすべてのデータを呼び出すという感じを考えています。

    選択した社員の情報を読み込むのは、Button1_Click あたりに置いといて、
    コンボボックスの選択値で読み込めば良いだけなので、そう難しくは無いはず。

    問題視しているのはその前。
    ComboBox1 に表示するための部署データ群や、
    ComboBox2 に表示するための社員データ群を取得する際の話です。


    『異動情報が頻繁に更新される』との事でしたので、
    SQL Server から、部署名や社員名の一覧を SELECT で読み込むのが、
    「どのイベント」で「どの範囲(WHERE条件)」を読み込んでくるのかを
    考えておくべきなのかな、と。


    Form1_Load 時に全件ロードしておく方法だと、
    サーバー側が変更(新規採用、死亡退職、苗字変更、配置部署確定)されても、
    ComboBox に表示される情報は、Load 時点のキャッシュデータのままです。

    かといって、ComboBox がドロップダウンされた瞬間に データを取り出して
    その ComboBox にアイテムを追加する方法では、タイミング的に間に合わないですし。

    ComboBox の一覧を再読み込みするためのリロードボタンを用意するという手もありますが、
    いずれにせよ、アプリケーション要件次第で変わってきますね。


    > 絞り込むタイミングとしてはComboBox2のMouseDownイベントがいいのではないかと。

    MouseDown が発生するとは限りませんので、それを前提として
    設計するのは避けたほうが良いでしょう。

    たとえば、Tab キーによってフォーカス移動してくることもありますよね。
    ComboBox がアクティブになっている状態から、
    ドロップダウンさせないまま、上下矢印キーで項目が変更されたり、
    アイテム名の頭文字を入力して候補を選択したり、
    [F4] キーあるいは、[Alt]+[下]キーでドロップダウンされることもあります。


    > データを呼び出すタイミングはComboBox.SelectedIndexChanged イベントないしは
    > CommandButtonクリックイベントです。

    VBA や VB6 などでは CommandButton と呼ばれていましたが、
    VB.NET においては、ただの Button です。


    SelectedIndxChanged や SelectionChangeCommitted は、
    上下キーやマウスホイールなどによる操作により
    何度も高速に呼ばれることがある点を考慮しておいてください。


    No91945 で ComboBox1 の切り替えで ComboBox2 の内容を入れ替えたときのように、
    既に DataSet に取得済みデータ内からの絞込みぐらいなら何とかなるでしょうけれども、
    SQL Server からの随時読み込みを SelectedIndexChanged のタイミングで行うというのは、
    パフォーマンス上の問題が生じます。


    なので個人的には、ComboBox2_SelectedIndexChanged では、
    画面上の社員情報の表示をクリアするだけに留めておき、
    Button1_Click で ComboBox2.SelectedValue を SQL Server に渡して、
    社員情報を読み込みさせる方法を提案しておきます。
    ボタンがあると、同じ条件で「再読み込み」する場合にも便利ですし。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91989  Re[5]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/16(Fri) 10:15:34)
    No91988 (たかし さん) に返信

    最終的にどうしたいのですか? No91972 に書いてあった、

    > 実はDataGridViewで目的に近いものが作成できることが分かったところなのですが、
    > 当初の目論見通りふたつのComboBoxだけで実行する方法が何とも諦めきれません。

    というところから想像すると、最終的にやりたいことは部署を ComboBox から選択すると、
    その部署に属する社員のデータ一覧が DataGridView に表示されるということではないか
    と思ってますが?

    であれば、最初の質問の ComboBox 2つでの実装を追求するより、上記のことを考えた方
    がよさそうだと思うのですが。

    あと、No91973 で魔界の仮面弁士さんからも質問されていますが、事前に SQL Server から
    全ての情報を DataTable に読み取ってからそれを操作するのか、操作の都度 SQL Server
    からデータを DataTable に読み取ってから操作したいのか、それともその間を取って
    部署の方は前者で社員の方は後者としたいのですか?
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91990  Re[5]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/16(Fri) 10:21:25)
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91999  Re[5]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/16(Fri) 12:20:52)
    No91988 (たかし さん) に返信

    違うかもしれませんが、

    (1) 部署を ComboBox から選択すると、その部署に属する社員のデータ一覧が DataGridView に表示
    (2) 事前に SQL Server から全ての情報を DataTable に読み取ってからそれを操作する

    ということで案を紹介しておきます。

    DataGridView に「tbl_社員」テーブルの全レコードの一覧を表示するところまでは Visual Studio
    のデーターソース構成ウィザードを使えば簡単にできます。(表示だけでなく編集・更新も可能です
    がそれはちょっと置いといて・・・)

    以下のチュートリアル、

    10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
    https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

    ・・・のように Visual Studio のデータソース構成ウィザードを利用して型付 DataSet + TableAdapter
    を作って、それを利用してアプリを作ると、以下のページの図のような構造のアプリが、ほとんど自分
    でコードを書くこと無しに作れます。

    Windows フォーム アプリケーションでのデータへの接続
    https://docs.microsoft.com/ja-jp/previous-versions/wxt2cwcc(v=vs.120)

    上に紹介したチュートリアルは 2 つのテーブルを階層更新するために少々複雑になっていますが、単一
    テーブルですともっと簡単で、自分では一行もコードを書かなくても 5 分もかからずアプリを作れるは
    ずです。

    そこまで出来たら、以下の Teratail のスレッドの SurferOnWww の回答のように、DataTable から
    DataView を取得して、その RowFilter プロパティに条件を設定します。

    TableAdapterのSELECT文を参照したい
    https://teratail.com/questions/163335

    【VS C#】Textboxから取得したstringで検索クエリ
    https://teratail.com/questions/157732

    上の記事では TextBox を使っていますが、それを ComboBox に変えれば望むことができると思います、
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92040  Re[5]: コンボボックスによる絞り込み
□投稿者/ 大谷刑部 -(2019/08/20(Tue) 10:01:06)
    No91988 (たかし さん) に返信
    >
    > >退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    > >部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?
    >
    > そうなんです。そこが問題でまだ解決していないのです。
    > とりあえず在職者のデータだけを入力しています。
    > おそらく部署の履歴を取ることも必要になると思いますが、それはまだ先の課題となります。
    > 現時点では上書き変更で対処しようと思っております。
    > Accessのサブフォームのような機能がVBにもあるとよいのですが。

    Accessのサブフォームを持ち出すということは、
    画面の入力即DB更新のデータ連結コントロールのようなことを想定してらっしゃいますか?
    であれば、.netでのコーディングで手軽にというのはあきらめた方がいいですね。

    サブフォームでマスタのデータを画面上で即更新しておいて、そのままバッチ処理的ボタン処理実行

    みたいなAccessである意味完結しているシステムをSQL-Serverにリプレースする提案をお客さんにしていた時に、
    機能劣化せずに、移植する方法がなくて困った記憶があります。
    バッチ処理部分はSSISで代替できるが、SSMSでマスタを直接いじらせるのはちょっと的な話


    Datatableを経由して、Gridにバインドすれば似たようなことはできますが厳密にはDBと違うオブジェクトを介在しているので微妙に違います。
    どんな機能を優先的に実装するかによりますが、
    「画面からDBに即時更新」を優先したいなら、たとえDBがSQL-Serverであっても画面はAccessというのでもいい気はしますよ。
    ODBC経由に必然的になるので遅いですが、無駄なコードは書かずに済みます。
    社員が1000人以上いる会社だったら現実的じゃないですが、数部門、100人程度の社員管理だけしたいんだったら、Access+ODBCで十分です。
    無理に.Netでハードコーディングすることにこだわる必要はありません。
    もっと言えばサブフォームの概念は唯一Accessが他のDBツールより確実に上回ってる機能といっても過言でない気はします。

    (VB).Netで実装することに意味があるのなら、他の方がおっしゃるようにADO.netの機能フル活用が無難です。
    要は質問者さん自身がどうしたいかです。

記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -