Autor Tema: Pasar el valor de una variable en un formulario a otro formulario Visual Basic  (Leído 5894 veces)

anmaroso

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 29
    • Ver Perfil
Hasta hace poco me funcionaba pero no sé que he hecho que ya no funciona y sin el valor de la variable no me deja seguir.

Paso el código por si hay alguna solución.

Código: [Seleccionar]
Public Class FTRANSF_C
    Public vff2 As Date
    Public Const vgf As Date = #1/1/1001#
    Dim strcnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                           "Data Source=C:\GESTION\GESTION.mdb"
    Private Sub FTRANSF_C_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        vff2 = FTRANSF.vff
        MsgBox("Fecha seleccionada " & vff2, 1)
        FTRANSF.Close()

        vencimiento(vff1:=vff2)
        'DG1.DataSource = dst.Tables("Vencimientos").DefaultView
        'Dim vpi As Integer
        'vpi = DG1.RowCount
        'If vpi = 0 Then
        ' Dim vpt As String
        'Dim vpt1 As String
        ' Dim vpd As Single
        'Dim vpi1 As Integer = 0
        'For i = 1 To vpi
        'vpt = DG1.Rows(vpi1).Cells(1).Value
        '       While DG1.Rows(vpi1).Cells(1) = vpt
        '      End While
        'Next
        'DG1.Name = "Listado de Vencimientos"
        ' DG1.ReadOnly = True
        'DG1.DataSource = dst.Tables("Vencimientos").DefaultView
        'If DataRow = 0 Then 'DG1.RowCount = 0 Then
        'MsgBox("NO HAY REGISTROS")
        'Else
        'MsgBox("Si")
        'End If
        'End If
    End Sub

    Private Sub vencimiento(ByVal vff1 As Date)
        vff1 = vff2
        If vff1 > vgf Then
            Dim conexion As OleDb.OleDbConnection = _
            New OleDb.OleDbConnection(strcnn)
            Dim adaptador As OleDb.OleDbDataAdapter = _
            New OleDb.OleDbDataAdapter("SELECT TFACTURASR.VENCIMIENTO, " & _
                     "TPROVEEDORES.NOMBRE,TFACTURASR.IMPORTE,TFACTURASR.IMPORTET," & _
                     "TFACTURASR.FACTURANE,TFACTURASR.CONCEPTOP,TFCTURASR.FECHAE," & _
                     "TFACTURASR.FACTURANR,TFACTURASR.FECHAP " & _
                     "FROM TFACTURASR INNER JOIN TPROVEEDORES ON " & _
                     "TPROVEEDORES.CLAVE = TFACTURASR.CPROVEEDOR " & _
                     "WHERE TFACTURASR.VENCIMIENTO = # " & Format(vff1, "MM/DD/YYYY") & " # " & _
                     "AND TFACTURASR.NOPAGAR = 0 AND TFACTURASR.PAGADA = FALSE " & _
                     "AND TPROVEEDORES.NOPAGAR = 0 AND TFACTURASR.FPAGO LIKE '" & 4 & "%'" & _
                     "ORDER BY TFACTURASR.VENCIMIENTO, TPROVEEDORES.NOMBRE", conexion)

            Dim dst As DataSet = New DataSet
            Try
                conexion.Open()
                adaptador.Fill(dst, "Vencimientos")
                DG1.Name = "Listado de Vencimientos"
                'DG1.ReadOnly = True
                DG1.DataSource = dst.Tables("Vencimientos").DefaultView
                If DG1.RowCount = 0 Then
                    MsgBox("NO HAY REGISTROS")
                Else
                    MsgBox("Si")
                End If
                '  Vencimientos = dst.Tables(0)
            Catch ex As OleDb.OleDbException
                MsgBox("se ha producido una excepción: " + ex.Message, 16, Me.Text)
            Finally
                conexion.Close() 'conexion.Dispose()adaptador.Dispose(dst.Dispose())
            End Try
        End If
    End Sub

    Private Sub BS_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BS.Click
        Me.Close()
    End Sub

End Class
« Última modificación: 19 de Octubre 2015, 08:19 por Alex Rodríguez »

Mastermind

  • Experto
  • *****
  • Mensajes: 540
    • Ver Perfil
Re:No me asigna a una variable el valor de otra que está en otro form
« Respuesta #1 en: 15 de Octubre 2015, 08:20 »
Hola ¿a qué variable te refieres? ¿qué es lo que funcionaba y ha dejado de funcionar? ¿qué error te sale?

Saludos

anmaroso

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 29
    • Ver Perfil
Re:No me asigna a una variable el valor de otra que está en otro form
« Respuesta #2 en: 15 de Octubre 2015, 11:16 »
Hola Mastermind, buenos días.

Me refiero a una variable que está en un formulario y quiero pasar su valor a otro formulario.
El problema está en que me funcionaba y de repente deja de funcionar.
El pase de valores de variables entre formularios lo hago entre otros formularios y lo hace bien. Yo creo que el problema está en el FTRANSF_C_Load pero no lo consigo encontrar.

Paso el código por si ven el error.

Del primer formulario

Código: [Seleccionar]

Public Class FTRANSF
    Public vff As Date
    Public V1 As Integer

    Private Sub FTRANSF_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'GESTIONDataSet1.CVFR1' Puede moverla o quitarla según sea necesario.
        Me.CVFR1TableAdapter.Fill(Me.GESTIONDataSet1.CVFR1)
    End Sub
    Private Sub BS_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BS.Click
        Me.Close()
    End Sub
    Private Sub DG1_CellDoubleClick(ByVal sender As  _
                System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
                Handles DG1.CellDoubleClick
        vff = DG1.SelectedCells(0).Value
        V1 = DG1.SelectedRows.Count
        If DG1.SelectedRows.Count > 0 Then
            MsgBox("Registros " & V1)
            MsgBox("Fecha seleccionada " & vff)
        End If
    End Sub

    Private Sub B2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B2.Click
        FTRANSF_C.Show()
    End Sub
End Class


Del segundo formulario

Código: [Seleccionar]

Public Class FTRANSF_C
    Public vff As Date
    Public V1 As Integer
    Public Const vgf As Date = #1/1/1001#
    Dim strcnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                           "Data Source=C:\GESTION\GESTION.mdb"

    Private Sub FTRANSF_C_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '    Private Sub FTRANSF_C_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.vff = FTRANSF.vff
        Me.V1 = FTRANSF.V1
        FTRANSF.Close()
        MsgBox("Fecha seleccionada " & vff, 1)
        MsgBox(V1)
    End Sub

    Private Sub BS_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BS.Click
        Me.Close()
    End Sub

    Private Sub B2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B2.Click
        FTRANSF_B.Show()
    End Sub
End Class


anmaroso

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 29
    • Ver Perfil
Re:No me asigna a una variable el valor de otra que está en otro form
« Respuesta #3 en: 17 de Octubre 2015, 09:48 »
Buenos días.

Solución que le he dado: Hacer nuevos formularios y a funcionar.

No entiendo el motivo pero hay que seguir adelante.

Saludos.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2053
    • Ver Perfil
Es raro que te funcionara y te dejara de funcionar sin más... de cualquier forma gracias por indicar cómo lo resolviste. Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".