タイトル : Re^6: アプリケーションの起動について 投稿日 : 2008/09/01(Mon) 13:15 投稿者 : じゅん
> 事象を再現できるコードを投稿して頂くと試す事ができるのですが。 画面Bでのコードを =================================================================================== Private Sub btn印刷_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call Sub_印刷処理() End Sub Private Sub btn参照_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Sub_参照処理() End Sub Private Sub Sub_参照処理() Try If Func_チェック() <> 0 Then Exit Sub End If If MsgBox("地域マスタリストを表示しますか?", vbYesNo + vbQuestion + MsgBoxStyle.DefaultButton2) = vbNo Then Exit Sub End If If Func_印刷処理(1) = 1 Then Exit Sub End If imnum処理状況.Text = "0" Me.Cursor = Cursors.Default '戻す MsgBox("表示処理が終了しました。", vbInformation) Catch ex As Exception imnum処理状況.Text = "0" Me.Cursor = Cursors.Default MessageBox.Show("エラーが発生しました。:" + ex.Message) End Try End Sub Private Sub Sub_印刷処理() Try If Func_チェック() <> 0 Then Exit Sub End If If MsgBox("地域マスタリストを印刷しますか?", vbYesNo + vbQuestion + MsgBoxStyle.DefaultButton2) = vbNo Then Exit Sub End If If Func_印刷処理(0) = 1 Then Exit Sub End If imnum処理状況.Text = "0" Me.Cursor = Cursors.Default '戻す MsgBox("印刷処理が終了しました。", MsgBoxStyle.MsgBoxSetForeground) Catch ex As Exception imnum処理状況.Text = "0" Me.Cursor = Cursors.Default MessageBox.Show("エラーが発生しました。:" + ex.Message) End Try End Sub Private Function Func_印刷処理(ByVal wintFLG As Integer) As Integer Dim wstrSQL As String Dim Tran As SqlClient.SqlTransaction Dim intTranFlg As Short Dim lngFreeFile As Integer Dim wstrPath As String '////トランザクション処理中フラグを設定(0:処理外) intTranFlg = 0 Tran = Nothing Func_印刷処理 = 0 wstrPath = "" If wintFLG = 2 Then With SaveFileDialog1 .Filter = "File(*.csv)|*.csv|すべてのファイル(*.*)|*.*" .ShowDialog() wstrPath = .FileName() End With If wstrPath = "" Then imnum処理状況.Text = "0" Me.Cursor = Cursors.Default MsgBox("出力ファイル名を入力して下さい。", vbExclamation) Func_印刷処理 = 1 Exit Function End If End If Me.Cursor = Cursors.WaitCursor '変える imnum処理状況.Text = "1" Try sqlConn = New SqlConnection(objclass.gFunc_ConnectDB_DotNet()) sqlCmd = sqlConn.CreateCommand() sqlConn.Open() sqlCmd = New SqlCommand("SP_地域マスタリスト", sqlConn) sqlCmd.CommandType = CommandType.StoredProcedure sqlCmd.Parameters.Add(New SqlParameter("@istrTerm", SqlDbType.VarChar, 50)) sqlCmd.Parameters("@istrTerm").Value = istrTerm If Opt全範囲_地域.Checked = True Then sqlCmd.Parameters.Add(New SqlParameter("@iintArea", SqlDbType.TinyInt)) sqlCmd.Parameters("@iintArea").Value = 0 Else sqlCmd.Parameters.Add(New SqlParameter("@iintArea", SqlDbType.TinyInt)) sqlCmd.Parameters("@iintArea").Value = 1 End If sqlCmd.Parameters.Add(New SqlParameter("@iintAreaIdS", SqlDbType.SmallInt, 3)) sqlCmd.Parameters("@iintAreaIdS").Value = CLng(imnum地域コード開始.Text) sqlCmd.Parameters.Add(New SqlParameter("@iintAreaIdE", SqlDbType.SmallInt, 3)) sqlCmd.Parameters("@iintAreaIdE").Value = CLng(imnum地域コード終了.Text) sqlCmd.ExecuteNonQuery() If sqlConn Is Nothing Then Else sqlConn.Close() End If sqlConn = New SqlConnection(objclass.gFunc_ConnectDB_DotNet()) sqlCmd = sqlConn.CreateCommand() sqlConn.Open() '印刷データ確認 wstrSQL = "" wstrSQL = wstrSQL & "Select * " wstrSQL = wstrSQL & "From W_M_Area " wstrSQL = wstrSQL & "Where Term = '" & istrTerm & "' " sqlCmd.CommandText = wstrSQL sqlReader = sqlCmd.ExecuteReader() If sqlReader.Read() = False Then imnum処理状況.Text = "0" Me.Cursor = Cursors.Default If sqlReader Is Nothing Then Else sqlReader.Close() End If If sqlConn Is Nothing Then Else sqlConn.Close() End If Select Case wintFLG Case 0 MsgBox("印刷するデータがありません。", vbExclamation) Case 1 MsgBox("表示するデータがありません。", vbExclamation) Case 2 MsgBox("出力するデータがありません。", vbExclamation) End Select Func_印刷処理 = 1 Exit Function End If If sqlReader Is Nothing Then Else sqlReader.Close() End If If sqlConn Is Nothing Then Else sqlConn.Close() End If Select Case wintFLG Case 0 ''///// リスト印刷 Me.TopMost = True Shell(objclass.gFunc_ReadAccPath & " " & objclass.GetAppPath & basCommon.basCommon.gcMASTERREP & " " & " /x M_地域マスタリスト", , True) Me.TopMost = False Case 1 ''///// リスト参照 Shell(objclass.gFunc_ReadAccPath & " " & objclass.GetAppPath & basCommon.basCommon.gcMASTERREP & " " & " /x M_地域マスタリスト画面", vbMaximizedFocus, True) Me.TopMost = True Me.TopMost = False Case 2 'CSV出力 sqlConn = New SqlConnection(objclass.gFunc_ConnectDB_DotNet) sqlCmd = sqlConn.CreateCommand() sqlConn.Open() lngFreeFile = FreeFile() FileOpen(lngFreeFile, wstrPath, OpenMode.Output) ''///// リスト出力 WriteLine(lngFreeFile, "地域ID", "地域名") wstrSQL = "" wstrSQL = wstrSQL & "SELECT * " wstrSQL = wstrSQL & "FROM W_M_Area " wstrSQL = wstrSQL & "WHERE Term = '" & istrTerm & "' " wstrSQL = wstrSQL & "Order by AreaId " sqlCmd.CommandText = wstrSQL sqlReader = sqlCmd.ExecuteReader() While sqlReader.Read WriteLine(lngFreeFile, sqlReader("AreaId"), sqlReader("AreaName")) End While If sqlReader Is Nothing Then Else sqlReader.Close() End If If sqlConn Is Nothing Then Else sqlConn.Close() End If FileClose(lngFreeFile) End Select Catch ex As Exception MessageBox.Show("エラーが発生しました。:" + ex.Message) '////トランザクション処理中の場合 If intTranFlg = 1 Then Tran.Rollback() End If If sqlReader Is Nothing Then Else sqlReader.Close() End If If sqlConn Is Nothing Then Else sqlConn.Close() End If If sqlConn2 Is Nothing Then Else sqlConn2.Close() End If End Try End Function |