Foros del Web » Programación para mayores de 30 ;) » .NET »

ayuda con programa control de inventario

Estas en el tema de ayuda con programa control de inventario en el foro de .NET en Foros del Web. Hola que tal a todos como comento en el titulo, necesito ayuda en una cosa en este desarrollo de este programa el cual es el ...
  #1 (permalink)  
Antiguo 18/09/2010, 11:07
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
ayuda con programa control de inventario

Hola que tal a todos como comento en el titulo, necesito ayuda en una cosa en este desarrollo de este programa el cual es el siguiente:en un formulario (form1) tengo un textbox en el cual se ingresa parte de la descripción o parte del código esto p/ hacer una búsqueda, después de ingresar el texto al oprimir la tecla flecha bajo se abre otro formulario (form2) en el cual se carga un datagridview en el cual se carga la siguiente consulta " ada = New MySqlDataAdapter("select * from productos where descripcion like '%" & codigo.Text & "%' or (codigo like '%" & codigo.Text & "%')", con) "
Bueno lo que quiero es saber como puedo pasar desde el form1 al form2 el valor de una variable strin lacual contendra la cadena de la consulta (ejemplo cad = "select codigo,descripcion,p_v,existencia from productos") y ya en el form2 cargar la consulta en el datagridview y después regresar desde el form2 al form1 los datos del renglón seleccionado.

lo que no se hacer es pasar el valor de la variable cad del form1 al form2 y regresar del form2 al form1 los datos del reglo seleccionado del datagrid
espero me puedan ayudar y de antemano agradezco la ayuda prestada
esto lo estoy haciendo en vb 08
gracias

Última edición por madriz_rd; 18/09/2010 a las 12:20
  #2 (permalink)  
Antiguo 18/09/2010, 13:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Opcion #1
declaras un modulo
y en el modulo pones

Public cadenaBusqueda as string


En form1 llenas la cadena

y en cuando lo mandes llamar ya tendra los valores del select por ser variable global

lo mismo de regreso puedes tener n variable globales (declaradas en el modulo como public)
  #3 (permalink)  
Antiguo 18/09/2010, 14:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Opcion #2

En el formulario 2 declaras el procedimiento de busqueda como public

Public Sub Busca(S as string)

S=es tu selelect

end sub


En form1 despues de llenar los valores haces

form1.busca("select * from productos where descripcion like '%" & codigo.Text & "%' or (codigo like '%" & codigo.Text & "%')")
form1.showdialog

Saludos.
  #4 (permalink)  
Antiguo 18/09/2010, 17:28
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: ayuda con programa control de inventario

Cita:
Iniciado por winexim Ver Mensaje
Opcion #2

En el formulario 2 declaras el procedimiento de busqueda como public

Public Sub Busca(S as string)

S=es tu selelect

end sub


En form1 despues de llenar los valores haces

form1.busca("select * from productos where descripcion like '%" & codigo.Text & "%' or (codigo like '%" & codigo.Text & "%')")
form1.showdialog

Saludos.
gracias por la ayuda pero lo que pasa es que soy nuevo en la programación de vb, no podrás pasarme un ejemplo o te mando el código que llevo

gracias
  #5 (permalink)  
Antiguo 18/09/2010, 18:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Si claro pon tu codigo es mas facil
Saludos,
  #6 (permalink)  
Antiguo 19/09/2010, 08:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: ayuda con programa control de inventario

hola que tal oye en el form1 ya declare esto Public cad As String pero el usar la variable cad en el form2 no me la reconose.

ya agrege un modulo (archivo de codigo) al poner Public cad As String me dise que la instruccion no es valida en un espacio de nombres.

aver si me pueden ayudar

gracias
  #7 (permalink)  
Antiguo 19/09/2010, 10:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Aclaraciones
1 Para que tengas acceso a un procedimiento o rutina de un formulario en todo tu proyecto lo tienes que declarar como public en lugar de private y lo mandas llamara con el nombre del formulario seguido de un punto y el nombre de la rutina
las variables que se pasen en este formulario no se declaran public.

2. Si quieres utilizar una variable global tienes que crear un modulo o module es como rear un form esta en la opciones y declaras las variables como public
Public X as string

Saludos.
quita lo de public en la variable de form y dale un espacio y automaticamente te pone ByVal o ponle ByVal a esas variables.
  #8 (permalink)  
Antiguo 19/09/2010, 21:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: ayuda con programa control de inventario

Cita:
Iniciado por winexim Ver Mensaje
Aclaraciones
1 Para que tengas acceso a un procedimiento o rutina de un formulario en todo tu proyecto lo tienes que declarar como public en lugar de private y lo mandas llamara con el nombre del formulario seguido de un punto y el nombre de la rutina
las variables que se pasen en este formulario no se declaran public.

2. Si quieres utilizar una variable global tienes que crear un modulo o module es como rear un form esta en la opciones y declaras las variables como public
Public X as string

Saludos.
quita lo de public en la variable de form y dale un espacio y automaticamente te pone ByVal o ponle ByVal a esas variables.
o.k ya resolví el problema, gracias a estos consejos puede entender

muchas gracias
  #9 (permalink)  
Antiguo 19/09/2010, 21:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: ayuda con programa control de inventario

bueno ya resulto el problema anterior me surge este otro tengo el sig. codigo en el form1(mantenimiento.vb)
Código:
Private Sub codigo_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles codigo.KeyDown
        If e.KeyData = Keys.Down Then
            If codigo.Text = "" Then
                cadconsul = "select codigo,descripcion,p_v,existencia from productos"
            Else
                cadconsul = "select codigo,descripcion,p_v,existencia from productos where descripcion like '%" & Me.codigo.Text & "%' or (codigo like '%" & Me.codigo.Text & "%')"
            End If
            form_busqueda.Show()
            codigo.Text = id
            'llama la funcion cargar datos
            cargadatos()
        Else
            If e.KeyData = Keys.Return Then
                'llama la funcion cargar datos
                cargadatos()
            Else
                descripcion.SelectionStart = 0
                descripcion.SelectionLength = descripcion.Text.Length
                descripcion.Focus()
            End If
        End If
    End Sub
y esta funcion
Código HTML:
Private Sub cargadatos()
        ada = New MySqlDataAdapter("select * from productos where codigo = '" & codigo.Text & "'", con)
        datase = New DataSet
        ada.Fill(datase, "productos")
        If datase.Tables("productos").Rows.Count > 0 Then
            'CARGAR DATOS DE LA CON SULTA EN LAS CAJAS DE TEXTO
            codigo.Text = datase.Tables("productos").Rows(0).Item(0)
            descripcion.Text = datase.Tables("productos").Rows(0).Item(1)
            linea.Text = datase.Tables("productos").Rows(0).Item(2)
            marca.Text = datase.Tables("productos").Rows(0).Item(3)
            provedor.Text = datase.Tables("productos").Rows(0).Item(4)
            unidad.Text = datase.Tables("productos").Rows(0).Item(6)
            p_c.Text = datase.Tables("productos").Rows(0).Item(7)
            p_v.Text = datase.Tables("productos").Rows(0).Item(8)
            min.Text = datase.Tables("productos").Rows(0).Item(9)
            max.Text = datase.Tables("productos").Rows(0).Item(10)
            If datase.Tables("productos").Rows(0).Item(5) = "iva" Then
                r_iva.Checked = True
            Else
                r_exento.Checked = True
            End If
            If datase.Tables("productos").Rows(0).Item(11) = "SI" Then
                c_compra.Checked = True
            Else
                c_compra.Checked = False
            End If
            If datase.Tables("productos").Rows(0).Item(12) = "SI" Then
                c_venta.Checked = True
            Else
                c_venta.Checked = False
            End If
            If datase.Tables("productos").Rows(0).Item(13) = "SI" Then
                c_inventario.Checked = True
            Else
                c_inventario.Checked = False
            End If
            If datase.Tables("productos").Rows(0).Item(14) = "SI" Then
                c_compuesto.Checked = True
            Else
                c_compuesto.Checked = False
            End If
        End If
    End Sub
en el form2 (form_busqueda) tengo esto
Código:
Private Sub form_busqueda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        con = New MySqlConnection()
        con.ConnectionString = "server=localhost;user id =root;password=123456;database=cvi_campesino"
        con.Open()
        data.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        'creamos el adaptador 
        ada = New MySqlDataAdapter(cadconsul, con)
        'creamos el dataset
        datase = New DataSet
        ada.Fill(datase, "productos")
        'asignar el dataset al datagrid
        data.DataSource = datase
        data.DataMember = "productos"
    End Sub

    Private Sub data_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles data.KeyDown
        Dim idxrow As Integer = data.CurrentRow.Index
        If e.KeyData = Keys.Return Then
            idxrow = idxrow - 1
            id = data.Rows(idxrow).Cells(0).Value
            Me.Hide()
        Else
            If e.KeyData = Keys.Escape Then
                Me.Hide()
            End If
        End If
    End Sub
bueno el problema es que cuando desde el form1 (mantenimiento.db) se llama al form2 (form_busqueda) en el form2 solo se ejecuta la primer parte la del Private Sub form_busqueda_Load y asta la segunda pasada se ejecutan las dos partes. que estoy asiendo mal.
agradesere las ayudas gracias
  #10 (permalink)  
Antiguo 19/09/2010, 22:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Despues del
form_busqueda.Show()
pones

Application.DoEvents()

quedaria asi:

form_busqueda.Show()
Application.DoEvents()
  #11 (permalink)  
Antiguo 19/09/2010, 22:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: ayuda con programa control de inventario

Cita:
Iniciado por winexim Ver Mensaje
Despues del
form_busqueda.Show()
pones

Application.DoEvents()

quedaria asi:

form_busqueda.Show()
Application.DoEvents()
que tal oye esto no me funciono, la primera ves que se da tecla abajo y se abre el form_busqueda y se carga el datagrid no se pasa la informacion al form mantenimiento, sino hasta la segunda ves que se oprime la tecla abajo, si gustas te puedo mandar el codigo aver si me echas la mano
gracias

Última edición por madriz_rd; 20/09/2010 a las 16:24
  #12 (permalink)  
Antiguo 21/09/2010, 08:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: ayuda con programa control de inventario

Si ponlo
por favor
Saludos.

Etiquetas: control, inventario, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:50.