none
EJECUTAR X VECES UN PROCEDIMIENTO

    Debate general

  • Buenas tardes tengo una duda, tengo mi codigo que es para imprimir, entonces lo que yo deseo es que antes del try hay una consulta que lo almacenare en una variable, entonces si la varible es el valor 1 entonces tiene que volver a ejecutar la consulta hasta que me muestre valor 2, si la variable almaceno el valor 2 recien ahi ingreso al try, espero me haya explicado bien, agradecere su ayuda.

        Private Sub ImprimToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImprimToolStripMenuItem.Click
    
                'para imprimir barra
                Try
                    'Preguntamos si deseamos imprimir la barra
                    Dim result As Integer = DevExpress.XtraEditors.XtraMessageBox.Show("¿Desea imprimir un código de barras?", "ERP Administrativo", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    
                    If result = DialogResult.Yes Then
    
                        ''Declare a BarTender application variable 
                        'Dim btApp As BarTender.Application
    
                        ''Declare a BarTender format variable 
                        'Dim btFormat As New BarTender.Format
    
                        'Instantiate a BarTender application variable 
                        btApp = New BarTender.Application
    
                        'Set the BarTender application visible 
                        ' true para verlo false para no verlo
                        btApp.Visible = False
    
                        'Open a BarTender label format 
                        btFormat = btApp.Formats.Open("FtmCtrlCajas.btw", False, "")
                        '  btFormat = btApp.Formats.Open("D:\Documento1.btw", False, "")
    
                        'Set the ProductName substring data 
                        btFormat.SetNamedSubStringValue("btwcodigo", v_cod)
                        btFormat.SetNamedSubStringValue("btwcantidad", v_cant)
                        btFormat.SetNamedSubStringValue("btwbarras", v_auto)
                        '  btFormat.SetNamedSubStringValue("btwdescripcion", txtdescripcion.Text)
    
                        'Print the label format 
                        btFormat.PrintOut(False, False)
    
                        '''CERRAMOS FORMATO
                        'btFormat.Close(BarTender.BtSaveOptions.btSaveChanges)
    
                        'End the BarTender process 
                        btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges)
    
                        'cerramos el procceso
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(btApp)
    
                    End If
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
    
        End Sub

    lunes, 13 de febrero de 2017 20:39

Todas las respuestas

  • Oscar Perez 1234,

    ¿Qué tipo de consulta realizas? ¿Bajo que circunstancias cambia el valor? 

    Dim Valor As Integer = 1
    While Valor <> 2 'Hacer mientras el contenido de la variable Valor sea distinto a 2, por ejemplo 1
    	Valor = NombreFuncion() 'Invoca a la función, la primera vez es obligatoria
    End While '
    
    Try
    	'...
    Catch ex As Exception
    	'...
    End Try


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 13 de febrero de 2017 21:02
  • Hola Williams gracias por responder mira te explico

    ESTE ES MI CODIO CON EL QUE IMPRIMO ATRAVEZ DE UNA BOTON

        Private Sub ImprimToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImprimToolStripMenuItem.Click
    
           
                'para imprimir barra
                Try
                    'Preguntamos si deseamos imprimir la barra
                    Dim result As Integer = DevExpress.XtraEditors.XtraMessageBox.Show("¿Desea imprimir un código de barras?", "SYSTEM", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    
                    If result = DialogResult.Yes Then
    
                        ''Declare a BarTender application variable 
                        'Dim btApp As BarTender.Application
    
                        ''Declare a BarTender format variable 
                        'Dim btFormat As New BarTender.Format
    
                        'Instantiate a BarTender application variable 
                        btApp = New BarTender.Application
    
                        'Set the BarTender application visible 
                        ' true para verlo false para no verlo
                        btApp.Visible = False
    
                        'Open a BarTender label format 
                        btFormat = btApp.Formats.Open("FtmCtrlCajas.btw", False, "")
                        '  btFormat = btApp.Formats.Open("D:\Documento1.btw", False, "")
    
                        'Set the ProductName substring data 
                        btFormat.SetNamedSubStringValue("btwcodigo", v_cod)
                        btFormat.SetNamedSubStringValue("btwcantidad", v_cant)
                        btFormat.SetNamedSubStringValue("btwbarras", v_auto)
                        '  btFormat.SetNamedSubStringValue("btwdescripcion", txtdescripcion.Text)
    
                        'Print the label format 
                        btFormat.PrintOut(False, False)
    
                        '''CERRAMOS FORMATO
                        'btFormat.Close(BarTender.BtSaveOptions.btSaveChanges)
    
                        'End the BarTender process 
                        btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges)
    
                        'cerramos el procceso
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(btApp)
    
                    End If
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
    
        End Sub

    y atravez de esta consulta puedo almacenar el resultado en una variable blockimp

            Try
                Dim cmd As SqlCommand = ERP_CNN.CreateCommand()
                ' Construimos la consulta T-SQL que deseamos ejecutar           
                cmd.CommandText = "select Col_Value from tblpervalues where Col_Ident=3"
                ' Ejecutamos la consulta
                Dim value As Object = cmd.ExecuteScalar()
                ' Pasamos el valor a la variable
                blockimp = Convert.ToString(value)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    
    lo que realmente quiero hacer es que haya un procedimiento que ejecute a cada rato el segundo try, osea si el blockimp no es igual a 2 no podre ingresar al try de impresion hasta que el blockimp sea igual a 1.

    lunes, 13 de febrero de 2017 22:32