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

Problema con enviar datos de las tablas

Estas en el tema de Problema con enviar datos de las tablas en el foro de .NET en Foros del Web. Saludos Nesecito su ayuda porfavor Tengo una problema Con la programación de visual Basic 2005 :( Resulta que me e creado un programa que uno ...
  #1 (permalink)  
Antiguo 14/04/2009, 12:18
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Problema con enviar datos de las tablas

Saludos
Nesecito su ayuda porfavor
Tengo una problema Con la programación de visual Basic 2005 :(
Resulta que me e creado un programa que uno crea un cliente, al tenerlo uno va al boton buscar cleinte selecciona ese cliente al encontrarlo uno apreta seleccionar y muestra una pantalla en el form 1 que son los datos guardados para asi uno apretar el boton ver diezmo y se abre un form que sirviria para ingresar de ese usuario un monto en dinero.

Tengo 2 tablas , una es un usuario (ID, Rut, Nombre,….,Etc) y la otra es el Diezmo (N°, IDCliente, Monto, Fecha de Ingreso)

Tengo un Cliente_Diezmo Relacionando el ID con el IDclientes
Como muestra la imagen, lo estare haciendo mal?

Cita:
imagechile.net/img/img9_1239730777b.JPG
En este programa :

Aca se selecciona el usuario :

Cita:
imagechile.net/img/img8_1239729779l.JPG
Aca al tener los datos ingresados , ahi un boton llamado ver diezmo en el cual deveria mostrar una pantalla en la cual ya tiene ese usuario asignado y solamente resta ingresar
Los valores del dinero

Cita:
imagechile.net/img/img1_1239729676q.JPG
El problema es, como hacer para sean enviados al otro form para así que en el otro form
Reconosca el ID y asi automáticamente pueda ingresar los datos de la tabla Diezmo sin problema alguno.

Aca les dejo el codigo.

Código:
Public Class Form1


Private Sub btnCrearUsuario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrearUsuario.Click
        My.Forms.FormNuevo.Show()
    End Sub

    Private Sub BtnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
        Dim seleccionarcliente As New FormBuscar
'Aca es donde traspase los datos a los textbox
        seleccionarcliente.ShowDialog()
        txtID.Text = CStr(seleccionarcliente.dni)
        txtrutcl.Text = seleccionarcliente.rutcli
        txtnom.Text = seleccionarcliente.nom
        txtapepat.Text = seleccionarcliente.apepat
        txtapemat.Text = seleccionarcliente.apemat
        Me.btnVerDizmo.Enabled = True
        If CDbl(txtID.Text) = 0 Then
            Me.txtID.Text = ""
            Me.btnVerDizmo.Enabled = False
        End If
    End Sub

    

Private Sub btnLimpiarCliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiarCliente.Click
        txtID.Text = ""
        txtnom.Text = ""
        txtapepat.Text = ""
        txtapemat.Text = ""
        txtrutcl.Text = ""
        Me.btnVerDizmo.Enabled = False
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Lo deshabilito para que solamente al seleccionar los datos se pueda ingresar el diezmo
        Me.btnVerDizmo.Enabled = False
    End Sub

    Private Sub btnVerDizmo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerDizmo.Click
        My.Forms.FormAgregarDiezmo.MdiParent = Me
        My.Forms.FormAgregarDiezmo.Show()
    End Sub

End Class 

Y el codigo del Form Buscar es

Código:
Public Class FormBuscar
'Declaro las variables para que guarden los datos
    Public dni As Integer
    Public nom As String
    Public apepat As String
    Public apemat As String
    Public rutcli As String


    Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
'Aca donde el usuario coloque el nombre o apellidos y ahi buscara por el nombre Me.ClientesTableAdapter.FillByNombre(ClientesDs.Clientes, "%" & TextBox1.Text & "%")
    End Sub

  Private Sub btnSeleccionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSeleccionar.Click
'Aca es donde guardo los datos al seleccionar
        dni = ClientesDs.Clientes(ClientesBindingSource.Position).ID
        nom = ClientesDs.Clientes(ClientesBindingSource.Position).Nombre
        apepat = ClientesDs.Clientes(ClientesBindingSource.Position).Apellido_Paterno
        apemat = ClientesDs.Clientes(ClientesBindingSource.Position).Apellido_Materno
        rutcli = ClientesDs.Clientes(ClientesBindingSource.Position).Rut
        Close()
    End Sub

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

    Private Sub FormBuscar_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Esto lo hise para que al seleccionar el boton del form 1, automaticamente me salgan todos los clientes registrados
'y Asi con el textbox de buscar solamente busco por nombre o apellidos
        Me.ClientesTableAdapter.FillByNombre(ClientesDs.Clientes, "%" & TextBox1.Text & "%")
    End Sub 

Por favor Ayudenme xD e quedado nuevamente estancado :(
  #2 (permalink)  
Antiguo 14/04/2009, 13:01
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

Puedes Utilizar el DialogResult del Formulario aqui te explico como Usarlo
Código vb.net:
Ver original
  1. ' En el Form1 en el boton Buscar
  2. Dim seleccionarcliente As New FormBuscar
  3.         seleccionarcliente.ShowDialog()
  4.         if seleccionarcliente.DialogResult = DialogResult.Ok then
  5.                txtID.Text = CStr(seleccionarcliente.dni)
  6.                txtrutcl.Text = seleccionarcliente.rutcli
  7.                txtnom.Text = seleccionarcliente.nom
  8.                txtapepat.Text = seleccionarcliente.apepat
  9.                txtapemat.Text = seleccionarcliente.apemat
  10.                Me.btnVerDizmo.Enabled = True
  11.                If CDbl(txtID.Text) = 0 Then
  12.                    Me.txtID.Text = ""
  13.                    Me.btnVerDizmo.Enabled = False
  14.                End If
  15.           End if
  16.  
  17. ' En el FormBuscar Seleccionar
  18.  
  19.         dni = ClientesDs.Clientes(ClientesBindingSource.Position).ID
  20.         nom = ClientesDs.Clientes(ClientesBindingSource.Position).Nombre
  21.         apepat = ClientesDs.Clientes(ClientesBindingSource.Position).Apellido_Paterno
  22.         apemat = ClientesDs.Clientes(ClientesBindingSource.Position).Apellido_Materno
  23.         rutcli = ClientesDs.Clientes(ClientesBindingSource.Position).Rut
  24.         Me.DialogResult = Windows.Forms.DialogResult.OK
  25.         Me.Close()

el DialogResult es Utilizado cuando muestras una ventana como dialogo ShowDialog esperando el otro formulario (el q lo llamo ) el dialogresult si en el form dialogo se puso el DialogResult como 1 (Ok) entonces el Formulario Principal ejecuta la sentencia q se encuentra dentro de el
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 14/04/2009, 16:28
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Muchas Gracias por responder


Agrege ese codigo pero no comprendo como hacer para que el dato almacenado en los textbox del form1 sean traspados una tabla de detalles
aca dejo una imagen de lo que intento hacer xD

Cita:
imagechile.net/img/img4_1239747957y.JPG
y asi al ingresar los datos y apretar guardar , los datos ingresados de la tabla 2 se guardan y se relacionan con el ID de tabla 1,

como se puede hacer eso???

help pls :)
  #4 (permalink)  
Antiguo 14/04/2009, 23:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

puedes poner el diseño de tus tablas su codigo para ver como poder ayudarte ya q no comprendo a q te refieres
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 15/04/2009, 06:11
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Holas!


Aca estan las imagenes de las tablas

Cita:
imagechile.net/img/img3_1239796528q.JPG
Mira lo que quiero hacer es lo siguiente

en el form Ingresar Diezmo, bueno ese se activa al tener los campos completos del form1 y apretando ver diezmo.

aca una imagen del form Ingresar Diezmo

Cita:
imagechile.net/img/img2_1239798640s.JPG
en el form ingresar diezmo, bueno ahi 3 textbox y 1 label en los caules les ingreso los datos.
al momento de ingresar completamente los datos doy a guardar.
ahora bien e intentado hacerlo de esta manera

el codigo del form Ingresar Diezmo es este :

Código:
Public Class FormAgregarDiezmo


    Private Sub FormAgregarDiezmo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DiezmoBindingSource.AddNew()
        Me.WindowState = FormWindowState.Minimized
        Me.WindowState = FormWindowState.Maximized
    End Sub
         'En el boton la idea es , que al principio vea que en el lblid esté un numero de id almacenado 
         'para asi cuando guarde los datos ingresados puedan ser almacenados con el iD asignado
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         'en el form1 esta el textbox txtID que guarda el n° de ID
         'En el cual lo traspase y quedo almacenado en el lblID      
        lblID.Text = My.Forms.Form1.txtID.Text
        Me.Validate()
        Me.DiezmoBindingSource.EndEdit()
        Me.DiezmoTableAdapter.Update(Me.ClientesDs.Diezmo)
        Close()
    End Sub

End Class 
Por si acaso en el form 1 tenia 5 textbox , lo del rut, nombre , apellidos son de pura imagen no mas xD es como para que sepa que cliente tiene asignado xD
solamente ocupo el textbox ID no mas xD

aca esta la imagen del form 1
Cita:
imagechile.net/img/img1_1239729676q.JPG

estara bien lo que hago??

help plz xD

Última edición por holly86; 15/04/2009 a las 06:33 Razón: completando algunas cosas
  #6 (permalink)  
Antiguo 15/04/2009, 07:55
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

En cuanto al lblid a q tu te refieres y q he entendido es q quieres q aparezca cuando abra tu formulario

como dije antes ponlo en el load antes de poner el DiezmoBindingSource.AddNew()

Lo q comprendi de la sigte imagen http://imagechile.net/img/img4_1239747957y.JPG
es q tu al seleccionar un dato pasan al form1 lo cual es correcto y ala vez pasa al formdiezmo donde tu al presionar guardar los datos q se encuentran ahi pasan a una tabla detalle.

Supongo q en tu SQL las tablas creadas estan relacionadas y lo q realmente quieres es relacionar los bindingsource o los dataset
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Última edición por Dradi7; 15/04/2009 a las 08:07
  #7 (permalink)  
Antiguo 15/04/2009, 08:01
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Cita:
Iniciado por Dradi7 Ver Mensaje
En cuanto al lblid a q tu te refieres y q he entendido es q quieres q aparezca cuando abra tu formulario

como dije antes ponlo en el load antes
Ok voy a probar xD

gracias por responder :)
  #8 (permalink)  
Antiguo 15/04/2009, 08:40
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Exacto, eso es lo que quiero hacer en el programa, nose si realmente mis tablas estaran relacionadas

aca te dejo una imagen de como estan relacionadas

Cita:
imagechile.net/img/img9_1239730777b.JPG
  #9 (permalink)  
Antiguo 15/04/2009, 08:56
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

Por lo q veo en la imagen tus tablas si se encuentran relacionadas pero solo por relacion creo q debes elegir la primera opcion q es por relacion y foreign key digamos si yo actualizo en el primer dataset automaticamente se actualizara en el otro trata de poner el Update y Delete en Cascade
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #10 (permalink)  
Antiguo 15/04/2009, 09:42
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Holas

Listo, las acabo de relacionar como me dijiste y agrege el codigo antes del diezmobindinsource

al ingresar los datos y apretar guardar me sale que el idclientes no acepta valores nulos

y ese mismo codigo que puse antes del binding source se lo coloque al boton guardar y me sale este error

Cita:
ForeignKeyConstraint FK_Clientes_Diezmo requiere que los valores clave secundarios (1) existan en la tabla primaria.
ese 1 que sale en parentesis vendria siendo el id del usuario

habre hecho algo mal U_U

este problema que salio complicado xD

aca te dejo de todas maneras el codigo

Código:
Public Class FormAgregarDiezmo

    Private Sub FormAgregarDiezmo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblIDCliente.Text = My.Forms.Form1.txtID.Text
        DiezmoBindingSource.AddNew()
        Me.WindowState = FormWindowState.Minimized
        Me.WindowState = FormWindowState.Normal
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        lblIDCliente.Text = My.Forms.Form1.txtID.Text
        Me.Validate()
        Me.DiezmoBindingSource.EndEdit()
        Me.DiezmoTableAdapter.Update(Me.ClientesDs.Diezmo)
        Me.Close()
    End Sub

End Class 
  #11 (permalink)  
Antiguo 15/04/2009, 09:46
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

pero dime has guardado los datos de la tabla clientes y has actualizado primeramente los bindingsource
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #12 (permalink)  
Antiguo 15/04/2009, 09:52
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Cita:
Iniciado por Dradi7 Ver Mensaje
pero dime has guardado los datos de la tabla clientes y has actualizado primeramente los bindingsource
Cuando entro nuevamente al programa los datos de la tabla Clientes estan guardados correctamente

eso de actualizado los bindinsource , ahi si ke me pillaste realmente no se como se actualiza xD
  #13 (permalink)  
Antiguo 15/04/2009, 10:28
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

me.bindingsource1.ResetBindings(False)
notifica al control que el origen de datos ha cambiado llamando al método ResetBindings.
o sino asignale el datasource al bindingsource

me.bindingsource.datasource=origen de tus datos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #14 (permalink)  
Antiguo 15/04/2009, 10:58
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Cita:
Iniciado por Dradi7 Ver Mensaje
me.bindingsource1.ResetBindings(False)
notifica al control que el origen de datos ha cambiado llamando al método ResetBindings.
o sino asignale el datasource al bindingsource

me.bindingsource.datasource=origen de tus datos
Grax

El origen de mis datos es donde esta almacenado mi base de datos??

osea algo asi como o no?
me.bindingsource.datasource=C:/Proyecto/Clientes.mdf

se agradece la respuesta :)
  #15 (permalink)  
Antiguo 15/04/2009, 11:09
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con enviar datos de las tablas

no cuando aplico datasource se debe enlazar con el resultado de una tabla
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #16 (permalink)  
Antiguo 15/04/2009, 11:41
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con enviar datos de las tablas

Cita:
Iniciado por Dradi7 Ver Mensaje
no cuando aplico datasource se debe enlazar con el resultado de una tabla
ahh grax

lo pondre en practica xD

se agradece
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 20:24.