Ir para conteúdo
Fórum Script Brasil
  • 0

Código para imprimir


Carlos Rocha

Pergunta

Ola.

Tenho no meu form do Menu(é o Form MDI da minha aplicação), um item do menu que faz a chamada para uma InputBox que solicitará do cliente a digitação de um valor numerico, que será vericado a partir dele se existe na pedido de pedidos algum pedido cujo id confere com o numero que o cliente digitou nma InputBox.

Duvidas:

1) Como fazer para que, caso o cliente digitar uma letra, ou deixar o campo em branco, dar mensagem de erro e depois voltar na inputbox:

2) Tenho no código, uma chamada para um dataset que fará a pesquisa se o numero de pedido que o cliente digitou na inputbox tem na tabela de pedidos.

Esse dataset só retorna notthing. Será po causa do form ser o MDI da aplicação?

Vale lembrar que em todos os outros formularios o dataset funcioma normal.

Segue o parte do codigo:

Private Sub ImprimirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImprimirToolStripMenuItem.Click
        Dim frmAberto As Boolean = False
        For Each frm As Form In Application.OpenForms
            If frm.Name = "VisualizarImprimir" Then
                frmAberto = True
                Exit For
            End If
        Next
        If frmAberto = False Then
            'Dim Pedido As Integer
            Dim Pedido As String = ""
            Dim Prompt As String
            Prompt = "Digite o Nº do pedido:"
            Pedido = InputBox(Prompt)
            If IsDBNull(Pedido) Or Pedido.ToString = "" Then
                MsgBox("Digite um numero!")
                Exit Sub
            Else
                Try
                    Dim sqlp As String = "Select * from pedidos where pedidoID = " & Pedido
                    dsp = accDb.ExecuteDS(sqlp, TabelaPedidos)
                    For Each drp As DataRow In dsp.Tables(0).Rows
                        If drp.Item("pedidoID") = "" Or IsDBNull(drp.Item("pedidoID")) Then
                            MsgBox("Pedido não encontrado!")
                            Exit Sub
                        Else
                            Dim visualForm As New VisualizarImprimir
                            visualForm.ccodigo = Pedido
                            visualForm.ShowDialog()
                        End If
                    Next drp
                Catch ex As Exception
                    MsgBox("Número inválido!")
                End Try
            End If
        Else
        My.Forms.VisualizarImprimir.BringToFront()
        End If
    End Sub
Código completo do form
Imports MySql.Data.MySqlClient
Public Class Menu
    Dim accDb As New DBConnection
    Dim dsp As DataSet = Nothing
    Dim TabelaPedidos As String = "pedidos"
    Private Sub Menu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each ctl As Control In Me.Controls
            If TypeOf ctl Is MdiClient Then
                ctl.BackColor = Me.BackColor
            End If
        Next ctl
    End Sub

    Private Sub ClientesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClientesToolStripMenuItem.Click
        My.Forms.Clientes.MdiParent = Me
        My.Forms.Clientes.Show()
        My.Forms.Clientes.BringToFront()
    End Sub

    Private Sub ProdutosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProdutosToolStripMenuItem.Click
        My.Forms.Produtos.MdiParent = Me
        My.Forms.Produtos.Show()
        My.Forms.Produtos.BringToFront()
    End Sub

    Private Sub PedidosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PedidosToolStripMenuItem.Click
        My.Forms.Pedidos.MdiParent = Me
        My.Forms.Pedidos.Show()
        My.Forms.Pedidos.BringToFront()
    End Sub

    Private Sub ImprimirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImprimirToolStripMenuItem.Click
        Dim frmAberto As Boolean = False
        For Each frm As Form In Application.OpenForms
            If frm.Name = "VisualizarImprimir" Then
                frmAberto = True
                Exit For
            End If
        Next
        If frmAberto = False Then
            'Dim Pedido As Integer
            Dim Pedido As String = ""
            Dim Prompt As String
            Prompt = "Digite o Nº do pedido:"
            Pedido = InputBox(Prompt)
            If IsDBNull(Pedido) Or Pedido.ToString = "" Then
                MsgBox("Digite um numero!")
                Exit Sub
            Else
                Try
                    Dim sqlp As String = "Select * from pedidos where pedidoID = " & Pedido
                    dsp = accDb.ExecuteDS(sqlp, TabelaPedidos)
                    For Each drp As DataRow In dsp.Tables(0).Rows
                        If drp.Item("pedidoID") = "" Or IsDBNull(drp.Item("pedidoID")) Then
                            MsgBox("Pedido não encontrado!")
                            Exit Sub
                        Else
                            Dim visualForm As New VisualizarImprimir
                            visualForm.ccodigo = Pedido
                            visualForm.ShowDialog()
                        End If
                    Next drp
                Catch ex As Exception
                    MsgBox("Número inválido!")
                End Try
            End If
        Else
        My.Forms.VisualizarImprimir.BringToFront()
        End If
    End Sub

    Private Sub Menu_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
        'Alterado o startup da aplicação para o form bem-vindo
        My.Forms.bem-vindo.Close()
    End Sub

    Private Sub FecharToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FecharToolStripMenuItem.Click
        Close()
    End Sub
End Class

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Obrigado galera ficou assim:

Private Sub ImprimirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImprimirToolStripMenuItem.Click
        Dim frmAberto As Boolean = False
        For Each frm As Form In Application.OpenForms
            If frm.Name = "VisualizarImprimir" Then
                frmAberto = True
                Exit For
            End If
        Next
        Dim X As String
        X = InputBox$("Digite o codigo do pedido a ser impresso!!", "Imprimir Pedido")
        While Not IsNumeric(X)
            MsgBox("Digite um numero!")
            X = InputBox$("Digite o codigo do pedido a ser impresso!!", "Imprimir Pedido")
        End While
        Dim sqlp As String = "Select * from " & TabelaPedidos & " where pedidoID = " & X
        ds = accDb.ExecuteDS(sqlp, TabelaPedidos)
        If ds.Tables(0).Rows.Count = 0 Then
            MsgBox("Pedido não encontrado!")
        Else
            For Each drp As DataRow In ds.Tables(0).Rows
                If frmAberto = True Then
                    My.Forms.VisualizarImprimir.BringToFront()
                    Exit Sub
                Else
                    Dim visualForm As New VisualizarImprimir
                    visualForm.ccodigo = drp.Item("pedidoID")
                    visualForm.ShowDialog()
                End If
            Next
        End If
    End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...