- ベストアンサー
プロシージャを越えて戻る?
- 研修課題として、「じゃんけん」のプログラム作成に取り組んでいるのですが、「初期化(?)」ができずに悩んでいます。
- プログラムの流れは、コンピュータの手を決定する(乱数発生を利用して)、プレーヤーの手を決定する(ラジオボタンで選択)、勝敗の判断、そして続行するかどうかの尋ねです。
- しかし、「戻る」がうまくいかず、どうすれば正解なのかわかりません。反復処理やプロシージャ間の処理が不可能なのか、ご教授ください。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- Excel:「フォーム」のボタンで引数を渡すプロシージャは呼べないですか?
Win2K、Excel97-2000-2002を使用しています。 Book1.xlsに固定文字列のメッセージボックスを表示するプロシージャ "A" を作成しました。 Book2.xlsのSheet1上に「フォーム」コントロールボックスのボタンを貼り付けました。 マクロの登録でBook1.xls!Aを指定しました。 ボタンを押下すると、固定長文字列のメッセージボックスが表示されます。 このプロシージャ "A" に引数を持たせ、 任意のセルの値を渡したいと思っているのですが、 「フォーム」コントロールのボタンでは、引数を渡すことは不可なのでしょうか。 御教授、御鞭撻の程、何卒宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- 子ウィンドウのデフォルトウィンドウプロシージャについて
ある本に例えばトップレベルウィンドウがいずれもキーボード入力のメッセージを処理せず、デフォルトウィンドウプロシージャに渡していたするとそのメッセージは親ウィンドウすなわちトップレベルウィンドウへと渡されると載っていたのですが、どういった場合がそうなるのでしょうか?できればプログラムでわかりやすくお願いします。
- ベストアンサー
- C・C++・C#
- イベントプロシージャについて(エクセル)
あるエクセルのブックの全てのシートに 適用されるようなイベントプロシージャを 作りたく思っています。 1、あるセルをダブルクリックする 2、そのセルが含まれている行を選択する 3、メッセージボックスで「現在の行を削除する」 旨の確認を求めて 「はい」ならば削除 「いいえ」なら何もしない 1、あるセルをシングルクリックする 2、そのセルが含まれている行を選択する 3、メッセージボックスで「現在の行をコピーして 自身の一つしたの行に挿入する」 旨の確認を求めて 「はい」ならば実行 「いいえ」なら何もしない という二つのモノを作りたく思っています 自分で色々HPを見たり 書籍も見てみたのですが なかなかわかりませんでした 「ブック上での全てのシートで適用される」 という記述はどうしたらよろしいのでしょうか? 皆様よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- 一回のボタンのクリックで、3つのプロシージャーを同
一つのエクセルファイルから サイトAからデータを取得し、 全ての情報を取得し終わったら サイトBを開き、データを取得し、 データを取得し終わったら サイトCを取得して・・・と言う流れです。 一つのサイトのデータを取得したり加工したりで2分くらいかかります。 サブプロシージャーは Sub サイトAを取得() Sub サイトBを取得() Sub サイトCを取得() とありますが、 これを同時に行うにはどうすればいいでしょうか? 今は一つの処理(プロシージャー)が終わらないと次のプロシージャーに進みません。 (当たり前ですが) 一つのエクセルファイルを立ち上げ、 新しいアプリケーションで、読み取り専用で同じファイルを立ち上げ と言うのを手動でやるしかないでしょうか? 方法は何でもいいのですか 一回のボタンのクリックで、3つのプロシージャーを同時に稼働させたいです。
- ベストアンサー
- その他MS Office製品
- .NETからストアドプロシージャを実行
VB.Netからストアドプロシージャを実行するプログラムの書き方がよく分かりません。 データベースはOracleです。 PROCEDURE test(aaa IN number, bbb IN varvhar2, ccc IN OUT varchar2); といったPL/SQLをVB.NET上で実行するとします。 (略:データベースへの接続処理) strSql = "begin test(10, 'テスト', '');end;" 結果「式が割り当てられていません」とエラーが出ます。 すべての引数がINのプロシージャでは、上記の方法で実行できたので、IN OUTへの引数の渡し方に問題があると思うのですが、どうしても分かりません。 まだ使い始めたばかりで、どうしていいかまったく分からない状態です。 どうかご指導お願い致します。
- ベストアンサー
- Visual Basic
- セルから呼び出したプロシージャ内でセルの塗りつぶし
初めて質問させていただきます 宜しくお願い致します セルから呼び出したプロシージャ内からセルの塗りつぶしを 実行しても塗りつぶしが有効になりません たとえば A1のセルに10を入力 B1のセルに=TEST(A1) と入力 マクロのモジュール内に Public Function TEST(tmp_No As Integer) As Integer TEST = tmp_No * 25 '(1)ここから If TEST = 250 Then 'Msgbox "チェック用MSG" Cells(1, 1).Interior.ColorIndex = 38 End If '(2)ここまで End Function というファンクションプロシージャがあるとします 引数で10を持って行ってるので10×25で TESTが250になりB1には計算結果として 250と問題なく表示されています しかし (1)~(2)のセルの塗りつぶしは実行されません 仮にチェック用のメッセージボックスのコメント を外すとキチンとメッセージボックスは 表示されます また、塗りつぶしダケのマクロを作成し Public Sub cell_paint() Cells(1, 1).Interior.ColorIndex = 38 End Sub 実行すると、これも問題なく動作しますので EXCELの設定ではないと判断しています セルから呼び出したプロシージャの時 だけ、動作しないようなのですが なぜでしょうか? 他の方法で回避可能でしょうか? ※実際には塗りつぶしの判定方法が 20個あり、条件付書式では対応出来ないので マクロで処理を試みてます 宜しくお願い致します
- ベストアンサー
- オフィス系ソフト
- (アクセス)全てのイベントプロシージャが無反応に
何らかの原因でプロシージャやコマンドボタンに設定したマクロ等が無反応になる現象に苦慮しています。 多くのフォームの中で、この現象に関連するフォームは2画面あり、それぞれをフォームA、フォームBということで説明いたします。((1)~(4)) (1)フォームAのコマンドボタン押下でフォームBを開きクエリーのデータ(フォームAで指定した条件) を表示しています。 フォームBで他のフォームと異なっているプロパティは次の通りです。 ・ポップアップ ----はい ・作業ウィンド固定 --はい (2)フォームBにはレコードソース(クエリ)の値を表示する幾つかのテキストボックスとコンボボックス が2つあり、それぞれをコンボA、コンボBとするとフォームBを開いた時はそれぞれにクエリーの データを表示し、変更する場合はコンボAで選定した条件でクエリによりコンボBにデータを表示す るようにしています。 (3)なお、コンボAの列数は2で、コンボボックスには列1のデータ(商品名)を表示するようしていて列 2の値(商品コード)を一旦テキストボックスに取り出し、そのコードでクエリによりコンボBのデータ を表示しています。テキストボックスのプロパティのコントロールソースには次のように記述していま す。 =コンボ186.column(1) ※=コンボ186がコンボAのことです (4)あと、フォームBにはデータをチェックするためのイベントプロシージャが幾つかとフォームAへ戻る ためのコマンドボタンがありますが他のフォームと比べても特に問題は無いように思えます。 以上のような環境でフォームAからフォームBを開いた時に、フォームBにはレコードソースであるクエリの値は全て表示するものの全てのイベントプロシージャ及び(3)で説明しました =コンボ186.column(1) の処理が一切動作しなくなります。 しかし、次の操作により回復し、その後はACCESSを終了し再起動しても正常に動作します。 ・フォームBをデザインビューで開く ・フォームBを開く時に設定しているイベントプロシージャを表示 ・イベントプロシージャをいじって閉じる。(内容は変更しない) ・フォームBをホームビューで開く だらだらと長くなり説明も不十分かと思いますが、原因がどうしてもわからなく困っております。 何か手がかりを教えて頂けたらと思い投稿しました。 よろしくお願いいたします。
- 締切済み
- その他(データベース)
- SQLServer・ストアドプロシージャでファイル出力したい
こんにちは、いつもお世話になります。 今回はじめてストアドプロシージャというものをプログラムしているのですが、デバッグの方法がよくわかりません。 したい処理は練習として「あるテーブルのデータを検索し、その結果をCSVに出力する」という簡単なものなのですが、クエリアナライザで実行すると「コマンドは正常に終了しました。」というメッセージが出ているにもかかわらず出力されるべきテキストファイルはまったく存在しません。 そこでクエリアナライザのオブジェクトブラウザから該当ストアドプロシージャを選択し、右クリックのメニューで出てくる「デバッグ」という機能を試してみたのですが、そうすると以下のエラーメッセージが出てきました。 ODBC: メッセージ 0、レベル 16、状態 1 [Microsoft][ODBC SQL Server Driver][SQL Server]DLL mssdi98.dll がロードできないか、参照している DLL の 1 つがロードできません。理由 : 126(指定されたモジュールが見つかりません。)。 ・・・意味が良くわからない上に、何行目でエラーになっているのかもわかりません。ためしにある変数に値をセットする一行目以外すべてコメントにして実行してみたのですが、同じメッセージが表示されます。 ・・・おそらく、ストアドプロシージャを実行する前から何らかの理由でエラーになっていると思うのですがこの現象についておわかりの方いませんでしょうか?
- 締切済み
- その他(データベース)
- ストアドプロシージャの実行について
asp.net から sqlserver のストアドプロシージャを実行させる勉強をしています。 作成されているはずのストアドプロシージャを実行できずに困っています。 webformにテキストボックス、ボタン、データグリッドを貼り付け、ストアドプロシージャを作成し下記のプログラムを実行させるのですが上手くいきません。 (テキストボックスに任意で入力された数値のデータをボタンを押すと表示するものです) <エラー内容>→ ストアド プロシージャ 'proc1' が見つかりませんでした Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cn As New SqlConnection Dim cmd As New SqlCommand cn.ConnectionString = "接続文字列" cmd.Connection = cn cmd.CommandText = "proc1" cmd.CommandType = System.Data.CommandType.StoredProcedure Dim p1 As SqlParameter = cmd.Parameters.Add("@param1", System.Data.SqlDbType.Int) p1.Value = TextBox1.Text cn.Open() Dim dr As SqlDataReader = cmd.ExecuteReader DataGrid2.DataSource = dr DataGrid2.DataBind() dr.Close() cn.Close() end sub ストアドproc1(場所:Northwind)の内容↓ CREATE procedure proc1 @param1 int as select * from products where categoryID=@param1 どなたか原因のわかる方がいれば、宜しくお願いします。
- ベストアンサー
- SQL Server
- 超初心者です コマンドボタンのプロシージャの解説をお願いします
超初心者です。どうかご教授願います。 フォームで、コントロールウィザードを使い、コマンドボタンを使うと、 プロシージャには、下記の記述となりますよね。 それぞれの項目の意味をご解説いただければと思います。 --------------------------------------------------- Private Sub コマンド1_Click() -----------(1) On Error GoTo Err_コマンド1_Click -----------(2) DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 -----------(3) Exit_コマンド1_Click: -----------(4) Exit Sub -----------(5) Err_コマンド1_Click: -----------(6) MsgBox Err.Description -----------(7) Resume Exit_コマンド1_Click -----------(8) End Sub -----------(9) --------------------------------------------------- (1)・・・()は何の為にあるのですか?また、話は外れるのですが、「Click(Cancel As Integer)」とはどういう意味ですか? (2)・・・「エラー処理ルーチンを有効にする」というステートメントと本に書いてあるのですが、何のエラーですか? (3)・・・手持ちの本では全く分かりませんでした。各文字の意味からお教え願います。 (4)(6)・・・「Exit_コマンド1_Click」「Err_コマンド1_Click」という言葉は何ゆえ必要なのでしょうか?また最後の「:」は何を示しているのでしょうか? (5)・・・「ループやプロシージャから抜ける」と本に書いてあるのですが、この場合だと、何から抜けるのですか?抜けるとどこへ行くのですか? (7)・・・この場合だと、メッセージボックスには何が表示されるのですか? (8)・・・「Resume」はGoToとは何が違うのですか? (9)・・・「プロシージャやブロックを終了する」と本に書いてあるのですが、「Exit」とは何が違うのですか?
- 締切済み
- オフィス系ソフト
- 機械のインターロック機構は、オフからオフ、オフからオン、オンからオフの操作を通じて誤動作を防ぐ役割を果たします。
- しかし、なぜオンからオンの誤動作防止は機械ロックができない構造の製品が多いのでしょうか?
- プログラミングでは簡単にインターロックが実現できますが、機械においてはオンからオンの誤動作防止は難しいとされています。
お礼
遅くなり申し訳ありません。 ありがとうございました。