Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

[Resolvido] Código para imprimir

Recommended Posts

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 Benvindo
		My.Forms.Benvindo.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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.