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 - Calonso

Páginas: [1]
1
Que tal ..... nuevamente vuelvo a solicitarles su ayuda gente. tengo este problema estoy programando en visual studio 2013

estoy trabajando con una base de datos en access 2010 y se trata de tal manera que en la primera pantalla me capture el numero de empleado (consulta desde access con todos los registros que existen en la tabla) si existe el numero de empleado deberá mostrarme "en ese mismo form" un numero de registro ( que ya esta capturado en la base de access *consulta* ) un numero de parte y la fecha de registro todo esto como les decía ya esta capturado en la DB de access.

No tengo problemas con mostrar los datos capturados si no que estas son mis preguntas

1. Como puedo hacer para ocultar combobox, label y una imagen del form 1 (esto es como si fuera un login ) para poder mostrar textbox label y de mas en ese mismo formulario.

2. Cuando corro el visual en el combobox me aparece el num de empleado yo lo que quiero que me aparezca en blanco, por lo cual ya use varias sentencias como estas

Me.Combobox1.Text = ""
Me.Combobox1.SelectedItem = -1
combobox1.selectedindex = - 1

3. Los datos aun que ya estan en una tabla de access resgitrados, se tienen que volver a guardar cada que ves que registren un num de parte

les mando el codigo y algunas pantallas. Gracias y saludos


Código: [Seleccionar]
Dim conexion As New OleDb.OleDbConnection
        Dim comandos As New OleDb.OleDbCommand
        Dim adapter As New OleDb.OleDbDataAdapter
        Try
        Catch
            conexion.ConnectionString = ("provider=microsoft.ace.oledb.12.0;Data source = " & " C:\CLIENTE INVENTARIOS\ENTRADAS\ENTRADAS-SALIDAS.accdb)")
            conexion.Open()
        End Try
        ComboBox1.SelectedItem = ""
        Dim consulta As String

        consulta = "select * From NUMERO USUARIO label = '" & ComboBox1.Text & "'"
        comandos = New OleDb.OleDbCommand(consulta, conexion)
        adapter.SelectCommand = comandos

        If ComboBox1.Text = "1712" Then
            MsgBox("Login Correcto", MsgBoxStyle.Information)
            ComboBox1 = False
            Label1.Text = Visible = False
            'Form1.Show()
            'Me.Hide()


        Else
            ComboBox1.Text = ""
            MsgBox("Login Incorrecto", MsgBoxStyle.Critical)
            ComboBox1.Text = ""


Olvidaba decirles que en las imagenes que envie son los dos forms que utilice sin embargo tienen que utilizarse en un solo form, alguna recomendacion

Les agradesco mucho por la ayuda que me puedan brindar de verdad asi como a ogramar y demas desarrolladores que andan en esta pagina.

Gracias

2
Hice este programita, pero ahora que creé uno nuevo con el mismo código pero con diferente diseño, ya no me corre


Código: [Seleccionar]
Imports System.Data
Imports Microsoft.Office.Interop

Public Class Form2

    Private Sub CargarFormato28BToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CargarFormato28BToolStripMenuItem.Click
        Dim openFileDialog1 = New OpenFileDialog()

        openFileDialog1.InitialDirectory = "C:\planeacion\"
        openFileDialog1.Filter = "Excel Worksheets|*.xls; *.xlsx"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True

        If openFileDialog1.ShowDialog() = Microsoft.Office.Interop.Excel.Windows.Forms.DialogResult.OK Then
            Try
                'MessageBox.Show(openFileDialog1.FileName)
                CargaArchivoOriginal(openFileDialog1.FileName)

            Catch ex As System.Exception
                MessageBox.Show("Error")
            End Try
        End If
    End Sub

    'Private Sub CargaArchivoOriginal(ByVal nombreArchivo As String)
    '    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    '    Dim xlWorkbook As Microsoft.Office.Interop.Excel.Workbook
    '    Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
    '    Dim xlRange As Microsoft.Office.Interop.Excel.Range
    '    Try


    '        Dim xlCol As Integer
    '        Dim xlRow As Integer

    '        Dim Data(0 To 16) As String
    '        Dim dt As New DataTable("Test")
    '        With dt
    '            .Clear()

    '            xlApp = New Microsoft.Office.Interop.Excel.Application
    '            xlWorkbook = xlApp.Workbooks.Open(nombreArchivo)
    '            For Each ws As Excel.Worksheet In xlWorkbook.Sheets
    '                If ws.Name = "28b Original" Then
    '                    xlWorkSheet = ws
    '                    Exit For
    '                End If

    '            Next
    '            xlRange = xlWorkSheet.UsedRange



    '            If xlRange.Columns.Count > 0 Then
    '                If xlRange.Rows.Count > 0 Then
    '                    For xlRow = 2 To xlRange.Rows.Count 'here the xlRow is start from 2 coz in exvel sheet mostly 1st row is the header row
    '                        For xlCol = 1 To xlRange.Columns.Count
    '                            Data(xlCol - 1) = xlRange.Cells(xlRow, xlCol).text
    '                        Next
    '                        .LoadDataRow(Data, True)
    '                    Next
    '                    xlWorkbook.Close()
    '                    xlWorkbook = Nothing
    '                    xlApp.Quit()
    '                    xlApp = Nothing
    '                    releaseObject(xlWorkbook)
    '                    releaseObject(xlApp)
    '                End If
    '            End If
    '            xlWorkbook.Close(False)

    '            xlApp.Quit()

    '            releaseObject(xlWorkbook)
    '            releaseObject(xlApp)
    '        End With
    '    Catch
    '        If Not IsNothing(xlWorkbook) Then
    '            xlWorkbook.Close()
    '            releaseObject(xlWorkbook)
    '        End If
    '        If Not IsNothing(xlApp) Then
    '            xlApp.Quit()
    '            releaseObject(xlApp)
    '        End If
    '    End Try

    'End Sub


    Private Sub releaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub
    Private Sub CargaArchivoOriginal(ByVal nombreArchivo As String)
        Try
            Dim MyConnection As OleDb.OleDbConnection
            Dim DtSet As DataSet
            Dim dt As DataTable
            Dim MyCommand As OleDb.OleDbDataAdapter
            Dim semana = InputBox("Que semana es?", "Seleccione semana")
            If semana = "" Then
                MsgBox("Es necesaria la semana")
            Else

                MyConnection = New OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;""", nombreArchivo))
                ' MyConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & nombreArchivo & "';Extended Properties=""Excel 12.0;HDR=YES;""")
                'MyConnection = New OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & nombreArchivo & "'; Extended Properties=""Excel 8.0;IMEX=1;HDR=YES;TypeGuessRows=0;ImportMixedTypes=Text""")
                MyCommand = New OleDb.OleDbDataAdapter("select * from [28b Original$]", MyConnection)
                MyCommand.TableMappings.Add("Table", "TestTable")
                DtSet = New DataSet
                dt = New DataTable
                MyCommand.AcceptChangesDuringFill = False
                MyCommand.AcceptChangesDuringUpdate = False
                MyCommand.Fill(dt)
                'MessageBox.Show(dt.Rows.Count)
                Dim column = New DataColumn("SEMANA")
                column.DefaultValue = semana
                dt.Columns.Add(column)
                column.SetOrdinal(0)
                Dim column2 = New DataColumn("DATERECORD")
                column2.DefaultValue = Date.Now
                dt.Columns.Add(column2)
                DataGridView1.DataSource = dt
                MyConnection.Close()

                InsertarAAccess(dt)
                Actualizar()
                AbreArchivoConcatenado("C:\planeacion\28b concatenados.xlsm")
            End If



        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    End Sub

    Private Sub InsertarAAccess(ByRef dt As DataTable)
        Dim MyConnection As OleDb.OleDbConnection
        Dim Ocmd As OleDb.OleDbCommandBuilder
        Dim BDPath As String
        Dim oleAdapter As OleDb.OleDbDataAdapter
        Dim sql As String = "SELECT top 1 [WEEK NUM], PARTNUMBER,REQUESTDATE, FORECASTQUANTITY, FORECASTAMOUNT, FORECASTTYPE, SHIPTONUMBER, BILLTONUMBER, CUSTOMERDESCRIPTION, BRANCH, SHORTITEMNO, CUSTVEND, PARENTNAME, SHIPTOSITE, PRICE, STDCOST, STDCUTLP, STDFA FROM [28b Original]"
        Dim insert = "INSERT INTO [28b Original] ([WEEK NUM], PARTNUMBER,REQUESTDATE, FORECASTQUANTITY, FORECASTAMOUNT, FORECASTTYPE, SHIPTONUMBER, BILLTONUMBER, CUSTOMERDESCRIPTION, BRANCH, SHORTITEMNO, CUSTVEND, PARENTNAME, SHIPTOSITE, PRICE, STDCOST, STDCUTLP, STDFA, [DATE RECORD])" & _
                     "VALUES (@SEMANA, @PARTNUMBER,@REQUESTDATE, @FORECASTQUANTITY, @FORECASTAMOUNT, @FORECASTTYPE, @SHIPTONUMBER, @BILLTONUMBER, @CUSTOMERDESCRIPTION, @BRANCH, @SHORTITEMNO, @CUSTVEND, @PARENTNAME, @SHIPTOSITE, @PRICE, @STDCOST, @STDCUTLP, @STDFA, @DATERECORD)"

        BDPath = "C:\planeacion\28b REV 1.0.accdb"
        Try
            MyConnection = New OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}", BDPath))
            oleAdapter = New OleDb.OleDbDataAdapter(sql, MyConnection)
            oleAdapter.InsertCommand = New OleDb.OleDbCommand(insert)

            oleAdapter.InsertCommand.Parameters.Add("@SEMANA", OleDb.OleDbType.VarChar, 255, "SEMANA")
            oleAdapter.InsertCommand.Parameters.Add("@PARTNUMBER", OleDb.OleDbType.VarChar, 255, "PARTNUMBER")
            oleAdapter.InsertCommand.Parameters.Add("@REQUESTDATE", OleDb.OleDbType.DBDate, 50, "REQUESTDATE")
            oleAdapter.InsertCommand.Parameters.Add("@FORECASTQUANTITY", OleDb.OleDbType.Double, 50, "FORECASTQUANTITY")
            oleAdapter.InsertCommand.Parameters.Add("@FORECASTAMOUNT", OleDb.OleDbType.VarChar, 255, "FORECASTAMOUNT")
            oleAdapter.InsertCommand.Parameters.Add("@FORECASTTYPE", OleDb.OleDbType.VarChar, 255, "FORECASTTYPE")
            oleAdapter.InsertCommand.Parameters.Add("@SHIPTONUMBER", OleDb.OleDbType.VarChar, 255, "SHIPTONUMBER")
            oleAdapter.InsertCommand.Parameters.Add("@BILLTONUMBER", OleDb.OleDbType.VarChar, 255, "BILLTONUMBER")
            oleAdapter.InsertCommand.Parameters.Add("@CUSTOMERDESCRIPTION", OleDb.OleDbType.VarChar, 255, "CUSTOMERDESCRIPTION")
            oleAdapter.InsertCommand.Parameters.Add("@BRANCH", OleDb.OleDbType.VarChar, 255, "BRANCH")
            oleAdapter.InsertCommand.Parameters.Add("@SHORTITEMNO", OleDb.OleDbType.VarChar, 255, "SHORTITEMNO")
            oleAdapter.InsertCommand.Parameters.Add("@CUSTVEND", OleDb.OleDbType.VarChar, 255, "CUSTVEND")
            oleAdapter.InsertCommand.Parameters.Add("@PARENTNAME", OleDb.OleDbType.VarChar, 255, "PARENTNAME")
            oleAdapter.InsertCommand.Parameters.Add("@SHIPTOSITE", OleDb.OleDbType.VarChar, 255, "SHIPTOSITE")
            oleAdapter.InsertCommand.Parameters.Add("@PRICE", OleDb.OleDbType.Double, 50, "PRICE")
            oleAdapter.InsertCommand.Parameters.Add("@STDCOST", OleDb.OleDbType.Double, 50, "STDCOST")
            oleAdapter.InsertCommand.Parameters.Add("@STDCUTLP", OleDb.OleDbType.Double, 50, "STDCUTLP")
            oleAdapter.InsertCommand.Parameters.Add("@STDFA", OleDb.OleDbType.Double, 50, "STDFA")
            oleAdapter.InsertCommand.Parameters.Add("@DATERECORD", OleDb.OleDbType.DBDate, 50, "DATERECORD")
            oleAdapter.InsertCommand.Connection = MyConnection
            oleAdapter.InsertCommand.Connection.Open()
            oleAdapter.AcceptChangesDuringUpdate = False
            oleAdapter.AcceptChangesDuringFill = False
            oleAdapter.Update(dt)
            oleAdapter.InsertCommand.Connection.Close()


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub AbreArchivoConcatenado(ByVal FileName As String)

        Dim xlsApp As Excel.Application
        Dim xlsWB As Excel.Workbook
        Dim xlsSheet As Excel.Worksheet
        Dim xlsCell As Excel.Range
        Dim xlsDatei As String

        xlsApp = New Excel.Application
        xlsApp.Visible = True
        xlsWB = xlsApp.Workbooks.Open(FileName)
        xlsSheet = xlsWB.Worksheets(1)
        xlsSheet.Activate()
        'xlsCell = xlsSheet.Range("A1")
    End Sub

    Private Sub btnActualizar_Click(sender As System.Object, e As System.EventArgs) Handles btnActualizar.Click
        Actualizar()
    End Sub

    Private Sub Actualizar()
        Dim oAccess As Object
        Dim week As String
        Dim macros As String = ""
        'week = InputBox("Week")
        oAccess = CreateObject("Access.Application")
        ' Open the database
        oAccess.OpenCurrentDatabase("C:\planeacion\28b REV 1.0.accdb")
        oAccess.Visible = False
        Try
            'For i = 0 To oAccess.CurrentProject.AllMacros.Count - 1
            '    macros += oAccess.CurrentProject.AllMacros(i).Name & ", "
            'Next
            'MessageBox.Show(macros)
            oAccess.DoCmd.RunMAcro("RUTINAS")

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            oAccess.CloseCurrentDatabase()
            oAccess.Quit()
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess)
            oAccess = Nothing
        End Try
    End Sub
End Class       

O si no ....... mejor esto ..... como puedo hacer que el form 2 sea la primera pantalla y no el form 1.

Gracias por su ayuda

3
Hola que tal ........ Desde hace rato he estado desarrollando un programita hecho en Acces .... se perfectamente bien que acces no es una plataforma para desarrollar programas sin embargo me ha ayudado mucho, ahora lo que quiero es que esta BD enlazarla a VB 2010 Express y a hacer que todo lo que me hace Acces lo haga el visual mediante botones.

En serio que agradecere mucho el apoyado, ya que realmente no le se casi nada a Visual y la vdd es que no tengo idea de como hacerlo.

Gracias a todo el que lea y sobre todo que llegue a ayudarme.

4
He seguido el hilo de la conversación y aquí seguimos comparto el código para la gente que este haciendo algo similar le ayude y lo tome. Agradezco mucho el apoyo de todos los que han aportado a este mensaje de ayuda.

Salu2 a todos

Código: [Seleccionar]
Imports System.Data.OleDb
Imports System.IO
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
    Private Sub CapturarFormato28BToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CapturarFormato28BToolStripMenuItem.Click
        Dim objConn As OleDbConnection
        Dim oleDA As OleDbDataAdapter
        Dim ds As DataSet
        Dim FileName As String
        FileName = "C:\Users\EDRodriguez\Desktop\28b - PS on past (36 weeks) (3320) 2015-04-10.xlsx"

        Try
            'Create a OLEDB connection for Excel file
            Dim connectionString As String = "Provider=Microsoft.ACE.Oledb.12.0;Data Source=" & FileName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"""
            objConn = New OleDbConnection(connectionString)
            oleDA = New OleDbDataAdapter("select * from [_28b___PS_on_past__36_weeks_$]", objConn)
            ds = New DataSet()
            'Fill the Data Set
            oleDA.Fill(ds)
            'Set DataSource of DataGridView
            DataGridView1.DataSource = ds.Tables(0)
            ds.Dispose()
            oleDA.Dispose()
            objConn.Dispose()
        Catch ex As Exception
        End Try
    End Sub
End Class


Seguiré poniendo el código para que los demás puedan compartir

5
Excelente ogramar...... de hecho estoy en ese punto .... siguir haciendo el prigrama ya cuando me salgan las broncas obvio apoyarme aqui.

Gracias

6
Hola Ogramar.


Muchisimas gracias por el aporte que me has dado, yo estaba aferrado con el Interop pero ya puse el cogdigo que me proporcionaste y vuala ...... si lo cargo y todo.

Pero ahora lo que quiero es poder manipular esos datos para eliminar, filtrar, concatenar, pivotear y explosionar datos.

Si me pudieras apoyar en orientarme un poco como hacer esto con esos datos estaria de lujo.

Muchisisimas gracias por el apoyo.


Saludos

Haaa por cierto el codigo me quedo asi
Código: [Seleccionar]
Imports System.Data.OleDb
Imports System.IO
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
    Private Sub CapturarFormato28BToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CapturarFormato28BToolStripMenuItem.Click
        Dim objConn As OleDbConnection
        Dim oleDA As OleDbDataAdapter
        Dim ds As DataSet
        Dim FileName As String
        FileName = "C:\28b - Ejemplo.xlsx"

        Try
            'Create a OLEDB connection for Excel file
            Dim connectionString As String = "Provider=Microsoft.ACE.Oledb.12.0;Data Source=" & FileName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"""
            objConn = New OleDbConnection(connectionString)
            oleDA = New OleDbDataAdapter("select * from [28b$]", objConn)
            ds = New DataSet()
            'Fill the Data Set
            oleDA.Fill(ds)
            'Set DataSource of DataGridView
            DataGridView1.DataSource = ds.Tables(0)
            ds.Dispose()
            oleDA.Dispose()
            objConn.Dispose()
        Catch ex As Exception
        End Try
    End Sub
End Class

7
Excelente master muchisimas gracias por apoyarme y partir de ese codigo hoy lo mismo lo veo ... ya les contare como fue...

Gracias a todos


Salu2

8
Hola Javi in the Sky ........ primero gracias por apoyarme y dedicar un tiempo libre a este proyectito ... sin embargo lo estuve checando con el codigo que me enviaste y en esta parte

        DtSet = New System.Data.DataSet
        ----MyCommand.Fill(DtSet)----
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()

me manda error y de hecho ni siquiera me da oportunidad de importar el excel.

Seguire hechandole ganas con esto y gracias por la ayuda ..... si puedes seguir apoyandome te lo agradecere mucho Javi.


Saludos


9
Estoy verificando el código, solo que ahora me marca diferente error ya que lo modifique cualquier cosa si alguien me pudiera apoyar para verificar los errores que me marca y a q se deben al momento de importar el archivo de excel a VB2010 .... este es el código

Código: [Seleccionar]
Imports System.Data.OleDb
Public Class Form1


    Dim unloadme As Object

    Private Sub MenuPrincipalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuPrincipalToolStripMenuItem.Click

    End Sub

    Private Sub CapturarFormato28BToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CapturarFormato28BToolStripMenuItem.Click
        Dim stRuta As String = ""
        Dim openFD As New OpenFileDialog()
        With openFD

            .Title = "Seleccionar archivos"
            .Filter = "Archivos Excel(*.xls;*.xlsx)|*.xls;*xlsx|Todos los archivos(*.*)|*.*"
            .Multiselect = False
            .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop

            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                stRuta = .FileName

            End If
        End With

        Try
            Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0­;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";&quo­t;")))
            Dim stConexion As String = ("Provider=Microsoft.Jet.OLEDB.4.0;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";")))
            Dim cnConex As New OleDbConnection(stConexion)
            Dim Cmd As New OleDbCommand("C:\28b - Ejemplo.xlsx")
            Dim Ds As New DataSet
            Dim Da As New OleDbDataAdapter
            Dim Dt As New DataTable
            cnConex.Open()
            Cmd.Connection = cnConex
            Da.SelectCommand = Cmd
            Da.Fill(Ds)
            Dt = Ds.Tables(0)
            Me.DataGridView1.Columns.Clear()
            Me.DataGridView1.DataSource = Dt
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
        End Try


    End Sub
End Class

Gracias a toda la rasita que ve este msj de ayuda

10
Hola Cesar como estas .... oye con la novedad de que el código que me mandaste funciona al cien por ciento .... lo único es q no es lo que ando buscando (no pretendo meter datos desde visual hacia una hoja de excel), si no todo lo contrario quiero importar una hoja de excel a visual 2010, para poder manipular los datos, eliminar columnas, concatenar y pivotear hojas, aparte de explosionar los datos.

Pero lo primero seria importar la hoja de excel a visual con ciertas columnas ... no todas....agradezco bastante tu apoyo Cesar y espero sigas apoyándome con este proyecto.

Gracias y salu2

11
Ok Cesar ......... hoy incorporo este codigo a ver como sale igual y con este es mas facil que con el que tenia ya que si me a causado muchas broncas para importar el archivo de excel.

Gracias te agradezco mucho tu ayuda.

en momento te dire como anda

12
Muchas gracias por tu Apoyo ... por mi parte aun sigo buscando solucion alguna para este error.
Sin embargo quisiera preguntarte si  cuando cargue el archivo hay alguna forma de cargarlo pero no con todas las columnas

Eres muy amable

13
Listo .... gracias por indicarme como era para adjuntar el archivo Cesar ..... al momento de cargar el archivo de excel lo puedo mandar a otro FORM por que todavia hay que modificar datos y hacer explosionado y concatenado y pivotear los datos ..... Si eres tan amable de verificar el excel ... mandar llamar la hoja y verificar el error que me sale  Cesar por fa y otra Fijate que ya me fije bien cuentas celdas son las que tengo y son aproximadamente 11000 ..... y de esos datos tengo que eliminar algunas columnas y dejar otras ..... para despues hacer otro proceso .... de hecho me gustaria preguntarte si al momento de cargar la hoja de excel se puede hacer en automatico el eliminar unas columnas ?

Espero haberme dado a entender

14
Hola que tal amigos requiero de si ayuda ..... soy nuevo en el foro .... y estoy por empezar un proyecto de desarrollo de un sistema de Planeacion de produccion para una empresa y lo estoy empezando con Visual 2010 mi pregunta es la siguiente>

mi base de datos esta hecha en access y ya la conecte a visual .. empece con esto y agregue un editor de menu en el cual la primera opcion es ...

Menu ---- Importar formato 28B

donde al hacer click en la opcion de importar formato debe de importar un archivo de excel y mostrarlo en pantalla para su posterior modificacion ( editar copiar pegar guardar .. etc)

y en ese click yo meti este codigo pero me avienta error al momento de importar la hoja de excel ..... no omito mencionarte que esa hoja de excel contiene al menos 4000 registros

Código: [Seleccionar]
mports System.Data.OleDb
Public Class Form1

    Private Sub MenuPrincipalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuPrincipalToolStripMenuItem.Click

    End Sub

    Private Sub CapturarFormato28BToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CapturarFormato28BToolStripMenuItem.Click
        Dim stRuta As String = ""
        Dim openFD As New OpenFileDialog()
        With openFD

            .Title = "Seleccionar archivos"
            .Filter = "Archivos Excel(*.xls;*.xlsx)|*.xls;*xlsx|Todos los archivos(*.*)|*.*"
            .Multiselect = False
            .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop

            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                stRuta = .FileName

            End If
        End With

        Try
            Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0­;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";&quo­t;")))
            Dim cnConex As New OleDbConnection(stConexion)
            Dim Cmd As New OleDbCommand("Select * From [Hoja1$]")
            Dim Ds As New DataSet
            Dim Da As New OleDbDataAdapter
            Dim Dt As New DataTable
            cnConex.Open()
            Cmd.Connection = cnConex
            Da.SelectCommand = Cmd
            Da.Fill(Ds)
            Dt = Ds.Tables(0)
            Me.DataGridView1.Columns.Clear()
            Me.DataGridView1.DataSource = Dt
        Catch ex As Exception

        End Try
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")

    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

    End Sub

-----------------------------------------------------------------
    Private Function ex() As Object
        Throw New NotImplementedException
        MsgBox("No need to implement this for our exercise")
        End
-----------------------------------------------------------------
    End Function
End Class

La parte que esta encerrada en area punteada es donde me marca el error ....

Espero que me puedan ayudar a seguir con el proyectito y que no sea la unica ocasion que me pudieran apoyar.

Gracias ..... saludos

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