Visual Basic.NET - Pasar valor de un combobox con datos de una BD a otro formulario

   
Vista:
Imágen de perfil de Junior

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por Junior jsoteroperez@gmail.com (3 intervenciones) el 06/11/2014 19:21:08
Cree un formulario login el cual tiene un combobox que muestra el listado de usuarios cargados de una base de datos en SQL 2008, este formulario me lleva al principal donde hay una opcion de crear usuarios modificar, eliminar etc. y quiero que si el usuario no es admin no se le habilite esa opcion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de giancarlo

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por giancarlo (280 intervenciones) el 06/11/2014 20:25:22
primero, habria que preguntarte como es que llamas al formulario:

en el formulario al que se le va a pasar el valor, pondrias friend indice as integer=0
cuando lo llamas, pondrias frmformulario.indice=combo.selectedValue

tambien puedes hacerlo con property:
en tu formulario, pones
private indice as integer=0
friend writeonly property _indice as integer
set (value as integer)
indice=_indice
end set
end propertyproeprty

despues para establecer el valor, pondrias frmformulario.indice=combo.selectedValue y dentro del formulario en el evento load verificas ese valor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Junior

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por Junior jsoteroperez@gmail.com (3 intervenciones) el 06/11/2014 20:57:49
Aquí les pongo el form de inicio de sesión y el que viene después, todo trabaja bien, o sea, el combobox toma los valores de los usuarios de la base de datos, verifica si coinciden user and password y pasa a la siguiente ventana, mi problema esta en la validación en el segundo formulario para que solo un usuario especifico le aparezca activado el menú usuarios para modificarlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de giancarlo

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por giancarlo (280 intervenciones) el 06/11/2014 21:07:00
una vez que ya hayas pasado el parametro(indice, valor, idUsuario, etc) pones lo siguiente dentro del evento load:

if valor=true' segun la condicion que deba cumplir
usuariosToolStripMenuItem.enabled=true
else
usuariosToolStripMenuItem.enabled=false
end if

usuariosToolStripMenuItem es el nombre del menu
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Junior

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por Junior (3 intervenciones) el 06/11/2014 21:14:36
Ya, sere un poco mas especifico, mi objetivo lo cumplo si utilizo el textbox del password, si hago la condicional ahi si me funciona por que si me pasa un valor, ahora con el combo box no, y en el combobox hay varios usuarios y todos acceden al form principal, es el combobox el que no me registra ningun valor, ya le paso el codigo.

Este es el codigo del login, claro con sus clases y todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        Try
            Dim dts As New datos
            Dim funciones As New funcion
            dts.gusuario = Me.ComboBox1.SelectedValue
            dts.gpassword = Me.PasswordTextBox.Text
            If funciones.validar(dts) = True Then
                Dim fr As New frmbasc
                If dts.gpassword = "Yul10R0bert0" Then
                    variables.admin = 1
                End If
                fr.Show()
                Me.Close()
            Else
                MessageBox.Show("Datos incorrectos", "Acceso Denegado", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.ComboBox1.SelectedValue = ""
                Me.PasswordTextBox.Clear()
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
 
    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        Me.Close()
    End Sub

Y este es el del segungo form

1
2
3
4
5
6
7
8
9
Private Sub frmbasc_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Label1.Text = variables.admin
        If login.ComboBox1.SelectedValue = "jsoteroperez" Then
            Label2.Text = "Junior Sotero"
            UsuariosToolStripMenuItem.Enabled = True
        Else
            UsuariosToolStripMenuItem.Enabled = False
        End If
    End Sub

Si utilizo aquí el PasswordTextBox si funciona bien la condicionante, pero no asi con el combobox
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de giancarlo

Pasar valor de un combobox con datos de una BD a otro formulario

Publicado por giancarlo (280 intervenciones) el 06/11/2014 21:37:02
En el frmbasc, agregas lo siguiente:
friend loginUsuario, loginClave as string

Despues, donde dice:
If login.ComboBox1.SelectedValue = "jsoteroperez" Then
Label2.Text = "Junior Sotero"

cambias por:
If loginUsuario = "jsoteroperez" Then
Label2.Text = "Junior Sotero"

Ahora, para establecer los valores, en el formulario del login, pondrias:
Dim fr As New frmbasc
fr.login=ComboBox1.selectedItem.toString 'aqui esta el cambio o puedes poner selectedValues, pero lee mas adelante

***Con eso ya estaria, ahora, algo que se me ocurre del porque no funciona tu combobox, es por la forme en que llenas los datos del combobox:

***si agregas asi: combobox.items.add("items") no podras usar el selectedValue oal menos no se como hacerlo yo, podrias usar el selectedItem.toString , que es igual al texto del item seleccionado

***Ahora, si tu agregas con un origen de datos, es decir con combobox.datasource=datatables, dataview,list(of, etc si podrias usar el selected value, sin embargo debes establecer que columna le pertenece, por ejemplo:

combobox.datasource=datatableItems'recuerda que puede ser dataview, listof
combobox.DisplayMember="NombreItem" 'nombre de columna en datatableItems que se mostrara en el combobox
combobox.ValueMember="idItem" 'nombre de columna en datatableItems que sera el valor en caso se seleccione algun item
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar