Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - katsumoto

Páginas: [1]
1
la hoja tiene una cabecera y una fila de totales lo que quiero es que por mas filas que tenga el datagrid no me pase por encima la de totales
ejemplo:
nombre      apellidos     dni      cuota
----------     ------------    -----    ---------
pepe          lopez          1111     20
juan           perez          2222    30
totales                                      50

si en lugar de dos filas paso 3 o mas dichas filas se cargan en las correspondientes a totales y lo que quiero es que la fila de totales o se desplace hacia abajo o llegado al numero de fila de totales añada una y escriba en ella, no se si me explico

pero de todas formas gracias por molestarte en contestarme se agradece mucho.

2
gracias por la respuesta ya he podido exportar bien, pero ahora se me presenta otro problema me gustaria que me orientarais como hacer para que llegado a un numero determinado de filas me añadiera una fila mas para no sobre escribir sobre la fila de totales

este es el codigo con el que exporto
Código: [Seleccionar]
Dim exApp As New Microsoft.Office.Interop.Excel.Application
        Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
        Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
        Dim contador_reg As Integer
        Try

            exLibro = exApp.Workbooks.Open(My.Application.Info.DirectoryPath + "\excel\cursos.xls")
            exHoja = exLibro.Worksheets(1)
            ' ¿Cuantas columnas y cuantas filas?
            Dim NCol As Integer = DGV.ColumnCount
            Dim NRow As Integer = DGV.RowCount
            exHoja.Cells(1, 5).value = lugar_eve.Text
            exHoja.Cells(1, 6).value = fecha_eve.Text
            For Fila As Integer = 0 To NRow - 1
                contador_reg = contador_reg + 1
                For Col As Integer = 0 To NCol - 1
                    ' pasa los datos a la hoja de excel
                    exHoja.Cells(Fila + 3, 1) = contador_reg
                    exHoja.Cells.Item(Fila + 3, Col + 2) = DGV.Rows(Fila).Cells(Col).Value()
                Next

            Next

            exApp.Application.Visible = True
            exHoja = Nothing
            exLibro = Nothing
            exApp = Nothing


        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")

            Return False
        End Try
        Return True

3
Buenas a todos/as estoy haciendo una aplicacion en la que necesito rellenar con datos de una BD una hoja prediseñada en excel por ejemplo nombre: lo cojo de la db apellidos: lo mismo etc, alguien me podria orientar o recomendarme algun articulo para estudiarlo???

Gracias de antemano

4
buenas noches a todos, estoy haciendo un reporte en crystal que se alimenta de dos tablas y dos textbox desde un formulario aparte de donde va el crview, paso los datos de los textbox al formulario sin problemas pero me sale vacio solo salen los text.box, lo que quiero hacer es que me filtre la bd1 apartir del textbox1 que en un dni y me muestre los datos correspondientes, alguien me puede ayudar por favor?

perdon, el enlace del reporte con las tablas los hago desde el asistente de cristal.
 
este es el codigo con el que paso los datos de un formulario al report

Código: [Seleccionar]
Imports CrystalDecisions.Shared
Public Class G_ficha_general


    Dim variable1 = G_examenes.GRADO_NUEVO
    Dim variable2 = G_examenes.DNI_REPORT
    Dim Rep As New CrystalReport3
    Dim Params As New ParameterValues
    Dim Par As New ParameterDiscreteValue

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

        Params.Clear()
        Par.Value = variable1
        Params.Add(Par)
        Rep.DataDefinition.ParameterFields("nuevo_grado").ApplyCurrentValues(Params)

        Params.Clear()
        Par.Value = variable2
        Params.Add(Par)
        Rep.DataDefinition.ParameterFields("report_dni").ApplyCurrentValues(Params)

        CrystalReportViewer1.ReportSource = Rep

       
    End Sub
End Class



Gracias a todos de antemano

5
Buenas a todos en la realizacion de mi proyecto estoy en el punto que desde un formulario tengo dos datagridview, Dgv_cursos y Dgv_asisten, el primero lo cargo con los datos de una bd y el otro atraves del evento CellMouseDoubleClick desde el primero he probado de diferentes formas y a parte de los errores que saltan no se por donde agarrarlo

El código con el que paso las filas de uno a otros es este

Código: [Seleccionar]
Dim coleccion As DataGridViewSelectedRowCollection = dgv_cursos.SelectedRows
   For Each fila As DataGridViewRow In coleccion
            Dim dni, apellidos, nombre, grados As String
            dni = dgv_cursos(0, fila.Index).Value
            apellidos = dgv_cursos(1, fila.Index).Value
            nombre = dgv_cursos(2, fila.Index).Value
            grados = dgv_cursos(3, fila.Index).Value
            dgv_asisten.Rows.Add(dni, apellidos, nombre, grados)


      Next


claro esta, que hago dobleclik varias veces en el mismo, me pasa tantan filas como veces hago click
estoy trabajando para encontrar la forma de hacer que no me deje reperir la misma fila filtrada por el dni,
pero ya no se como seguir he probado de todo
como el condicional

Código: [Seleccionar]
if dni  = dgv_asisten(0, fila.Index).Value then
MsgBox("las fila repetida" )
else
dgv_asisten.Rows.Add(dni, apellidos, nombre, grados)
endif


dentro del bucle for each
pero nada de nada error:
Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index

6
Cierto ya esta corregido gracias, ahora me surge el problema de contar registros,
Tengo una bd con registros duplicados por razon de baja y quisiera contar dichos registros
Ejem
Pepito 6 bajas de fecha a fecha
                     de fecha a fecha . Etc hasta 6
Juan 1 baja de fecha a fecha

......
....
Mas o menos mostrar eso en un textbox
Me puedes ayudar????

7
Hola de nuevo creo que empiezo con verdaderos problemas, quiero realizar una busqueda filtrada en un historico de bajas que tiene los campos baja_dni que esta relaccionado con el c_dni de otra base de datos, la cuestion es que quiero que me cargue los campos coincidentes entre las dos bases de datos siempre que los dni sean iguales pero segun los datos que meta en varios textbox, no se si me explico bien, bueno os pongo el codigo que llevo echo, muestra bien los datos coincidentes pero al introducir datos en el textbox para de mi sigue mostrando o todo o nada

Código: [Seleccionar]
Private Sub consul_dni_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles consul_dni.TextChanged
        Dim sql As String = "SELECT c_dni,c_apellidos,c_nombre,c_ultimo_grado, fecha_baja FROM miembros_club, historico_bajas WHERE baja_dni=c_dni AND c_activa_baja = true like  '%" + consul_dni.Text.Trim + "%'"
        ' Creamos un adaptador de datos
        Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql, conex)
        ' Creamos un objeto DataTable
        Dim dt As DataTable = New DataTable("miembros_club,historico_bajas")
        ' Rellenamos el objeto DataTable
        da.Fill(dt)
        ' Y por último, mostramos los datos en el control DataGridView
        Me.dgvsocios.DataSource = dt
    End Sub

Gracias de antemano

8
En primer lugar gracias por acogerme en este foro, estoy realizando una aplicacion en vb.net 2005 para la gestion de una Base de Datos Access, en el formulario de altas, al introducir el dni que es la clave principal quiero en el evento lostfocus que compruebe la existencia o no del dni, pero me da un error de sintaxis que no veo por ningun lado

Este es el código fuente:

Código: [Seleccionar]
Private Sub t_dni_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles t_dni.LostFocus
Dim consulta As String
Dim lista As Byte
If t_dni.Text <> "" Then
consulta = "SELECT * FROM miembros_club WHERE e-mail = " & t_dni.text & ""
adaptador = New OleDb.OleDbDataAdapter(consulta, conex)
registro = New DataSet
adaptador.Fill(registro, "miembros_club") AQUI ERROR Error de sintaxis (falta operador) en la expresión de consulta 'c_dni = 14255278Q'.
lista = registro.Tables("miembros_club").Rows.Count
End If
If lista <> 0 Then
t_nombre.Text = registro.Tables("miembros_club").Rows(0).Item("c_nombre")
t_apellidos.Text = registro.Tables("miembros_club").Rows(0).Item("c_apellidos")
t_direccion.Text = registro.Tables("miembros_club").Rows(0).Item("c_direccion")
End If
End Sub


La cadena de conexion con la base de datos es la siguiente:

Código: [Seleccionar]
Public Class altas
' Declaro e inicializo objeto para hacer la conexión a mi base de datos
Public conex As New OleDb.OleDbConnection("provider = microsoft.jet.oledb.4.0;data source= " + My.Application.Info.DirectoryPath + "\socios.mdb")
Public comm As New OleDb.OleDbCommand
Dim adaptador As New OleDb.OleDbDataAdapter
Dim registro As New DataSet
Dim sql As String
Dim fechaSeleccionada As Date, edad As String
Private Sub altas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
' Trato de abrir la conexión
conex.Open()
' Inicializo el objeto Command
comm.Connection = conex
comm.CommandType = CommandType.Text
Catch ex As Exception
If Err.Number = 5 Then
MsgBox("No se pudo encontrar el archivo de la base de datos", MsgBoxStyle.Exclamation, "Gestion Bases de Datos")
End
Else
MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Gestion Bases de Datos")
End If
End Try
End Sub


Por favor echarme una mano estoy desesperado llevo tres dia loco, y si no es pedir mucho me podiais orientar para que en el condicional If lista <> 0 Then compruebe que el campo logico c_baja si es false o no?? o en la misma instruccion Select * from

gracias de antemano a todos

9
Hola mi problema es que voy rellenando los textbox uno a uno y si relleno todos bien graba perfectamente pero si dejo alguno en blanco no me lo graba y me dice lo siguiente: No coinciden los tipos de datos en la expresion de criterios.

Necesito poder dejar algun campo en blanco por que no siempre tengo todos los datos

El procedimiento es el siguiente:

Código: [Seleccionar]
Private Sub nueva_alta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nueva_alta.Click
        ' Verifico que haya escrito el dni (bueno, debería verificarlos todos, pero como esta es la clave principal...)
        Dim fecha_nac = DateTimePicker1.Text
        If t_dni.Text = "" Then
            ' Si no lo escribió, mando mensaje de error
            MsgBox("Debe incluir un número Valido de DNI/NIE/PASAPORTE")
            t_dni.Select()
        Else

            ' Armo la instrucción INSERT en la variable SQL

            sql = "INSERT INTO miembros_club (c_dni,c_nombre,c_apellidos,c_fecha_nac,c_edad) VALUES ('" & _
                t_dni.Text & "','" & t_nombre.Text & "','" & t_apellidos.Text & "','" & fecha_nac & "','" & t_edad.Text & "')"

            ' Asigno la instrucción SQL que se va a ejecuta
            comm.CommandText = sql

            Try
                comm.ExecuteNonQuery()
                MsgBox("Registro Añadido con Exito")
                t_dni.Select()
            Catch ex As Exception
                MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Gestion Integral Aikido")
            End Try
        End If
    End Sub

10
os muestro mi codigo, me da el error este

No se controló System.Data.OleDb.OleDbException
  ErrorCode=-2147217900
  Message="Error de sintaxis (falta operador) en la expresión de consulta 'c_dni = 14255278Q'."
  Source="Microsoft JET Database Engine"
  StackTrace:...



Y la verdad que estoy empezando y me estoy volviendo loco loco. El código es el siguiente:


 
Código: [Seleccionar]
   Dim adaptador As New OleDb.OleDbDataAdapter
    Dim registro As New DataSet
    Public conex As New OleDb.OleDbConnection("provider = microsoft.jet.oledb.4.0;data source= " + My.Application.Info.DirectoryPath + "\socios.mdb")
    ' Por medio de este objeto voy a enviar todos los comandos de SQL a la tabla por medio de la conexión
    Public comm As New OleDb.OleDbCommand
    ' Declaro una variable para armar la instrucción SQL
    Dim sql As String
    ' declaro una variable para el calculo de la edad
    Dim fechaSeleccionada As Date, edad As String

    REM CARGAR BASES DE DATOS CODIGOS POSTALES Y GIMNASIOS
    Private Sub altas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Try
            ' Trato de abrir la conexión
            conex.Open()
            ' Inicializo el objeto Command
            comm.Connection = conex
            comm.CommandType = CommandType.Text
        Catch ex As Exception
            If Err.Number = 5 Then
                MsgBox("No se pudo encontrar el archivo de la base de datos", MsgBoxStyle.Exclamation, "Gestion Integral Aikido")
                End
            Else
                MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Gestion Integral Aikido")
            End If
        End Try

        Me.CENTROSTableAdapter.Fill(Me.CENTROS_ENTRDataSet.CENTROS)
        Me.Codigos_postalesTableAdapter.Fill(Me.CPDataSet.codigos_postales)
        REM llamada funcion de limpiar cajas de texto
        limpia_cajas()

el problema me lo da en esta funcion
   Private Sub BUSCAR()

        Dim consulta As String
        Dim lista As Byte
        If t_dni.Text <> "" Then
            consulta = "SELECT * FROM miembros_club WHERE c_dni = " & t_dni.Text & ""
            adaptador = New OleDb.OleDbDataAdapter(consulta, conex)
            registro = New DataSet
            adaptador.Fill(registro, "miembros_club") --------- aqui concretamente
            lista = registro.Tables("miembros_club").Rows.Count
        End If

        If lista <> 0 Then
            'Cargar los datos encontrados donde corresponda
            t_dni.Text = registro.Tables("MIEMBROS_CLUB").Rows(0).Item("C_DNI")
            t_nombre.Text = registro.Tables("MIEMBROS_CLUB").Rows(0).Item("C_nombre")
            t_apellidos.Text = registro.Tables("MIEMBROS_CLUB").Rows(0).Item("C_apellido")

        End If
    End Sub

A ver si me podeis ayudar por favor

Gracias de antemano

Páginas: [1]

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".