tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。