|  | | 
	
		 
			
		
		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 - pirlespi
			
			Páginas: [1] 
		 
			
				
				
					1 
						
						« en: Lunes 12 de Agosto de 2013, 11:38 »
					 
					Buenas Gerloxxx,
 Como el usuario es quién decide los campos que se deben ocultar en el datagrid para no exportarse al excel marcándolos con checkboxes lo que he hecho ha sido eliminar las columnas que seleccionen y listo.
 
 
  If CheckBox1.Checked = False ThenMe.DataGridView1.Columns.Remove("columna_a_eliminar")
 End If
 
			
				
				
					2 
						
						« en: Miércoles  7 de Agosto de 2013, 12:44 »
					 
					Buenas,
 Tengo el siguiente código y funciona perfectamente, salvo que exporta todas las columnas de mi datagrid mientras que solo necesito que exporte las que son visibles.
 
 ¿alguno sabe como conseguirlo?
 
 Gracias!
 
 
  Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
 'Creamos las variables
 
 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
 
 Try
 
 'Añadimos el Libro al programa, y la hoja al libro
 
 exLibro = exApp.Workbooks.Add
 
 exHoja = exLibro.Worksheets.Add()
 
 ' ¿Cuantas columnas y cuantas filas?
 
 
 Dim NCol As Integer = DataGridView1.ColumnCount
 
 
 Dim NRow As Integer = DataGridView1.RowCount
 
 
 
 'Aqui recorremos todas las filas, y por cada fila todas las columnas
 
 'y vamos escribiendo.
 
 For i As Integer = 1 To NCol
 
 
 exHoja.Cells.Item(1, i) = DataGridView1.Columns(i - 1).Name.ToString
 
 Next
 
 For Fila As Integer = 0 To NRow - 1
 
 For Col As Integer = 0 To NCol - 1
 
 exHoja.Cells.Item(Fila + 2, Col + 1) = DataGridView1.Rows(Fila).Cells(Col).Value()
 
 Next
 
 Next
 
 'Titulo en negrita, Alineado al centro y que el tamaño de la columna
 
 'se ajuste al texto
 
 exHoja.Rows.Item(1).Font.Bold = 1
 
 exHoja.Rows.Item(1).HorizontalAlignment = 3
 
 exHoja.Columns.AutoFit()
 
 'Aplicación visible
 
 exApp.Application.Visible = True
 
 exHoja = Nothing
 
 exLibro = Nothing
 
 exApp = Nothing
 
 Catch ex As Exception
 
 MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
 
 End Try
 
 End Sub
 
			
				
				
					3 
						
						« en: Lunes  5 de Agosto de 2013, 13:23 »
					 
					Muy buenas Jose Alberto,
 Te agradezco mucho tu post, aunque finalmente no he usado el código que me pasabas, me ha servido para "caer del burro".
 Lo que he hecho ha sido poner un INSERT y arreglado.
 
 Un saludo y gracias!
 
 
        Tryconexion2 = New OleDb.OleDbConnection(Scon2)
 conexion2.Open()
 cmd = New OleDb.OleDbCommand("INSERT INTO evolutivo (siniestro, fecha, obs) values
 ('" + FormPrincipal.NumeroTextBox.Text + "', '" + DateTimePicker1.Text + "', '" + TextBox2.Text + "')", conexion2)
 
 cmd.ExecuteNonQuery()
 
			
				
				
					4 
						
						« en: Lunes  5 de Agosto de 2013, 13:15 »
					 
					Hola,
 Tengo dos formularios. En el primero se muestran varios textbox de un mismo registro de access y en el segundo, un formulario de búsqueda apuntando a la misma BBDD que filtra los resultados en base a los criterios que se introduzcan.
 
 Mi problema es que necesito que al seleccionar del datagrid una columna los datos de dicho registro se vuelquen al form principal.
 No puedo asignarle que celda del datagrid corresponde a cada textbox porque son muchísimos, la idea es que como se trata de la misma tabla, cargue todo el registro.
 
 Este es el código que tengo.
 
 
 Imports SystemImports System.Data
 Imports System.Data.SqlClient
 Imports System.Windows.Forms
 Imports System.Data.OleDb
 
 Public Class FormBuscar
 
 
 Dim conexion As OleDb.OleDbConnection
 Dim MiDt As New DataTable
 Dim BdS As Windows.Forms.BindingSource
 Dim Scon As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= \\BBDD.mdb"
 Private BindingSource As Windows.Forms.BindingSource = New BindingSource
 
 Private Sub Aplicar_Filtro()
 
 conexion = New OleDb.OleDbConnection(Scon)
 conexion.Open()
 
 Dim MiDa As New OleDbDataAdapter("SELECT General.Numero, General.Nombre, General.Vehículo, General.matricula, General.Ciudad,
 General.dni FROM [general] WHERE General.Nombre like '%" & TextBox1.Text.Trim & "%' and General.Vehículo like '%" & TextBox2.Text.Trim & "%'
 and General.matricula like '%" & TextBox3.Text.Trim & "%' and General.ciudad like '%" & TextBox4.Text.Trim & "%'", conexion)
 MiDt.Clear()
 MiDa.Fill(MiDt)
 BdS = New BindingSource
 BdS.DataSource = MiDt
 Me.DataGridView1.DataSource = BdS.DataSource
 
 End Sub
 
 
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Aplicar_Filtro()
 End Sub
 End Class
Espero que me puedan ayudar.
 Gracias!
 
			
				
				
					5 
						
						« en: Jueves  1 de Agosto de 2013, 14:05 »
					 
					Muy buenas otra vez,
 Efectivamente, he añadido un control button que llevaba a un nuevo form y ahí ya he podido cargar los datos de la tabla en el datagrid.
 
 Funciona perfectamente.
 
 Mil gracias!
 
			
				
				
					6 
						
						« en: Jueves  1 de Agosto de 2013, 13:42 »
					 
					Muy buenas,
 De nuevo me encuentro con un problema con los datagrid.
 
 He creado un segundo form que recupera los datos de una tabla en Access y los filtra en base a un textbox del formulario principal. También tengo unos textbox que al rellenarlos crean un nuevo registro en el datagrid junto a los recuperados de la BBDD.
 
 El problema es que, cuando lo cierro, los datos no se guardan en la tabla de access, quedando solo los que ya existian.
 
 ¿alguien podría indicarme como realizar esto?
 
 Este es el código que tengo hasta ahora:
 
 
 Public Class Form2
 
 Dim conexion As OleDb.OleDbConnection
 Dim MiDt As New DataTable
 Dim BdS As Windows.Forms.BindingSource
 Dim Scon As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=BBDD.mdb"
 
 
 Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
 conexion = New OleDb.OleDbConnection(Scon)
 conexion.Open()
 Try
 Dim MiDa As New OleDbDataAdapter("SELECT siniestro, fecha, obs FROM evolutivo WHERE siniestro = '" & Form1.NumeroTextBox.Text & "'", conexion)
 MiDt.Clear()
 MiDa.Fill(MiDt)
 BdS = New BindingSource
 BdS.DataSource = MiDt
 Me.DataGridView1.DataSource = BdS.DataSource
 
 End Try
 End Sub
 
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim dt As DataTable = DirectCast(DataGridView1.DataSource, DataTable)
 
 Dim row As DataRow = dt.NewRow()
 
 'asignas los campos
 
 dt.Rows.Add(Form1.NumeroTextBox.Text, DateTimePicker1.Text, TextBox2.Text)
 
 End Sub
 
 End Class
He intentado añadir al evento Button1_Click lo siguiente:
 
 
         With MiDa.InsertCommand = New System.Data.OleDb.OleDbCommand
 .InsertCommand.Connection = conexion
 .InsertCommand.CommandText = "INSERT INTO evolutivo(siniestro,fecha,obs) VALUES (@siniestro,@fecha,@obs)"
 End With
 
 Me.MiDa.Update(CType(Me.MiDt, DataTable))
Pero me al ejecutarlo me salta el siguiente error: "No se han especificado valores para algunos de los parámetros requeridos."
 
 Muchas gracias!
 
			
				
				
					7 
						
						« en: Miércoles 31 de Julio de 2013, 12:46 »
					 
					El tema del tutorial ya estoy en ello, pero esto es una cosa que necesito, pese a sobrepasarme en conocimientos, de ahí mi petición de ayuda.
 Voy a intentar ser mas correcto.
 
 veamos...
 
 He incluido la línea que me comentaste, y he puesto todo en el evento load del form ya que lo que quiero es que el datagrid se visualice al abrirlo, quedando de la siguiente forma:
 
 
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BBDD.mdb; User Id=admin;Password=;"
 
 Dim ocom As New OleDb.OleDbConnection(connectionString)
 Dim ds As New DataSet
 
 Dim OleComand As New OleDbCommand
 Dim da As New OleDbDataAdapter
 da.SelectCommand = OleComand
 da.SelectCommand.Connection = ocom
 
 OleComand.CommandText = ("SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2= '" & NumeroTextBox.Text & "'")
 
 ocom.Open()
 
 OleComand.ExecuteNonQuery()
 
 da.Fill(ds, "seguimiento")
 
 DataGridView2.DataSource = ds.Tables("seguimiento")
 End Sub
he añadido también ocom.open porque sin el devolvía lo siguiente:
 
 ExecuteNonQuery requiere una Connection abierta y disponible. El estado actual de la conexión es cerrada.
 
 La cosa es que el Grid sigue sin mostrar resultados...
 
			
				
				
					8 
						
						« en: Lunes 29 de Julio de 2013, 10:15 »
					 
					Muy buenas ProfesorX,
 Siento no ser muy especifico, tampoco es que me entere mucho todavía, la verdad.
 
 La cosa es que no tengo el código, lo único que hice fue incluir un dataGridview con los datos de la tabla2 en el formulario que contiene los datos de la tabla1 esperando que solo mostrara los registros cuyo ID coincidiera en ambas ya que en la BBDD de Access existe una relación entre ellas.
 
 He probado lo siguiente:
 
 
     Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
 Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NOMBRE BBDD"
 
 Dim ocom As New OleDb.OleDbConnection(connectionString)
 Dim ds As New DataSet
 
 Dim OleComand As New OleDbCommand
 Dim da As New OleDbDataAdapter
 da.SelectCommand = OleComand
 da.SelectCommand.Connection = ocom
 '--------------------
 OleComand.CommandText = "SELECT ID_TABLA2, Fecha, OBS FROM TABLA2 WHERE ID_TABLA2=" & ID_TABLA1TextBox.Text
 
 da.Fill(ds, "seguimiento")
 
 DataGridView1.DataSource = ds.Tables("seguimiento")
Lo he compuesto a partir de lo que he podido averiguar por ahí pero el datagrid aparece vacío en el form.
 
 Gracias
 
			
				
				
					9 
						
						« en: Viernes 12 de Julio de 2013, 13:38 »
					 
					Buenas a todos,
 Acabo de empezar con esto de la programación y me encuentro estresado con este tema.
 
 Tengo una BBDD en Access con dos tablas relacionadas por un campo común, un ID. Una de ellas contiene datos generales, mientras que la otra contiene fechas y observaciones de cada uno de los registros anteriores,
 
 En el formulario que realicé se muestra el ID de la primera tabla y quiero que debajo se muestre un datagrid con las fechas y observaciones de la segunda tabla, pero solo cuando ID sea el mismo mostrado en el textbox del formulario.
 Por mas que lo intento el datagrid muestra todos los registros de la segunda tabla.
 
 Espero que me puedan ayudar.
 
 Gracias!
 
			Páginas: [1] 
		 | 
 |  |