No puedo exportar una tabla de access 2007 a Excel con VB.NET 2010

Iniciado por Yaldabaot, 26 Enero 2015, 18:26 PM

0 Miembros y 1 Visitante están viendo este tema.

Yaldabaot

Buenas,

Estoy intentando exportar una tabla desde access a una hoja en excel y

tengo este código:

Código (vbnet) [Seleccionar]


Private Sub BtnExportar_Click(sender As System.Object, e As System.EventArgs) Handles BtnExportar.Click

       Dim fichero As String = String.Empty
       Dim ext As String = String.Empty

       If SaveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
           '

           fichero = SaveFileDialog1.FileName

           Dim AccessConn As New System.Data.OleDb.OleDbConnection(frmLogin.constring)

           If AccessConn.State = ConnectionState.Open Then

               AccessConn.Close()

           Else
               'New sheet in Workbook
               Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT *  INTO [Excel 12.0 Xml;DATABASE=" & fichero & ";HDR=Yes;].[CUENTAS] from [CUENTAS]", AccessConn)
               AccessConn.Open()


               AccessCommand.ExecuteNonQuery()
               AccessConn.Close()
               MsgBox("Archivo exportado con éxito.")
           
           End If

           Catch
            MsgBox("No se pudo exportar el archivo.")
           End Try

       End If
   End Sub



Resulta que no puedo exportarlo a excel por la siguiente excepción:

"No puede registrar los cambios porque uno de los valores que ha especificado infringe la configuración definida para esta tabla o lista (por ejemplo, un valor es inferior al mínimo o superior al máximo). Corrija el error e inténtelo de nuevo."

Y lo puedo hacer con otras tablas SIN NINGÚN PROBLEMA, lo curioso es que si uso fechas EN ESTA TABLA me lanza esa excepción pero si le quito el campo de las fechas SI ME FUNCIONA, en otras tablas usando fechas me funciona!!.

Gracias por leer.

Nunca me contestan -_-

Yaldabaot

Ya lo pude resolver ;D
     
Así quedó el query

Código (vbnet) [Seleccionar]


Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT FACTURAS.CONSECUTIVO,  Format(CDate([VENCIMIENTO])) AS LIMITE_FECHA  INTO [Excel 12.0 Xml;DATABASE=" & fichero & ";HDR=Yes;].[CUENTAS] from [CUENTAS]", AccessConn)




Lo que hice fue cambiarle el formato de la columna, me imagino (asumo) que el excel estaba teniendo conflictos con los tipos y formatos.

Nunca me contestan -_-