タイトル | : Re^6: アプリケーションの起動について |
記事No | : 8043 |
投稿日 | : 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
|