0% encontró este documento útil (0 votos)
28 vistas5 páginas

Insertar ListBox en Access 2010

en este documento se brinda información de como guardar datos de un listbox en VB.Net a una base de datos en Acces 2007 mediante código fuente netamente propio
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas5 páginas

Insertar ListBox en Access 2010

en este documento se brinda información de como guardar datos de un listbox en VB.Net a una base de datos en Acces 2007 mediante código fuente netamente propio
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

0

Inicie sesin para votar

"VALIENTE_ACERO" escribi:
> Ahora estoy tratando de mirar como puedo insertar los datos que tengo
> en ese listbox a una base de datos que tengo en Acces 2010.
>
> la ideas es cargarle todos las fechas que tengo en el listbox a una
> tabla que se llama LABOR de la BD llamada TURNOS
Hola:
Si ests utilizando una base de datos de Access, sea de la versin 2010, 2013 o
inferior a stas, tendrs que utilizar el proveedor de datos .NET para OLEDB, en lugar
del proveedor de datos .NET para SQL Server, ya que con ste ltimo, indudablemente
vas a obtener un error. ;-)
Asimismo, te aconsejo encerrar el cdigo entre un bloque Try ... End Try, a fin de
capturar los posibles errores que se puedan producir.
Imports [Link]
' Si no hay elementos en el control ListBox,
' abandonamos el procedimiento.
'
If ([Link] = 0) Then Return
Try
' Establecemos la conexin con la base de datos
' de Access 2010. Especifica correctamente la ruta
' donde se localiza tu base de datos.
'
Using cnn As New OleDbConnection( _
"Provider=[Link].12.0;" & _
"Data Source=Turnos")
' Abrimos la conexin.
'
[Link]()
' Construimos la consulta SQL de datos aadimos
' que vamos a ejecutar para insertar nuevos
' registros.
'

Dim sql As String = _


"INSERT INTO Labor (NombreCampo) VALUES (?)"
' Conforme recorremos los elementos del control
' ListBox, vamos aadiendo nuevas filas a la tabla.
'
For Each item As String In [Link]
' Creamos el comando
Using cmd As OleDbCommand = [Link]()
[Link] = sql
' Le aadimos el parmetro, previa conversin
' del valor a DateTime, siempre y cuando el
' tipo de dato del campo de la tabla sea Fecha/Hora.
'
[Link]("", [Link](item))
' Ejecutamos el comando
[Link]()
End Using
Next
End Using
Catch ex As Exception
' Se ha producido un error
'
[Link]([Link])
End Try
Doy por hecho que TODOS LOS VALORES existentes en el control ListBox se pueden
convertir al tipo de dato DateTime, es decir, que son fechas correctas.
Si por casualidad el tipo de dato del campo de la tabla es alfanumrico (Texto),
entonces no es necesaria la conversin al tipo de dato DateTime, por lo que puedes
aadir el valor del parmetro as:
[Link]("", item)
En ste caso no se puede decir que ests trabajando con fechas, aunque los valores
parezcan "fechas"; ests trabajando con valores de texto. ;-)
Un saludo

>>>> Amigo trabaje con su codigo en mi proyecto de esta forma;


Private Sub Button7_Click(ByVal sender As [Link], ByVal e AsSystem.
EventArgs) Handles guardar_List.Click

If ([Link] = 0) Then Return


Try
Using cnn As New OleDbConnection("
Provider=[Link].12.0;Data
Source=C:\[Link]")
[Link]()
Dim sql As String = _
"INSERT INTO turnos(detalle)values(listNombre)"
For Each item As String In [Link]
Using cmd As OleDbCommand = [Link]()
[Link] = sql
[Link]("",
[Link](item))
[Link]()
End Using
Next
End Using
Catch ex As Exception
[Link]([Link])

End Try

End Sub
>>>> pero al momento de ejcutar el codigo me sale un error asi=

NOTA: Mi DB se llama parqueadero, la tabla a la que voy a ingresar los datos se


llama turnos, y tiene un solo campo que se llamadetalle.
COLABOREME, NECESITO GUARDAR LOS DATOS QUE TENGO EN EL LISTBOX..
POR FAVOR, NO SE QUE PROBLEMA TENGO

"VALIENTE_ACERO" escribi:
> POR FAVOR, NO SE QUE PROBLEMA TENGO
El problema que tienes es que en tu mensaje inicial NO DIJISTE que el control
ListBox ESTABA ENLAZADO A UN ORIGEN DE DATOS, de ah que supuse que habas
aadido "manualmente" las fechas a dicho control.
> La conversin del tipo 'DataRowView' en el tipo 'String' no es vlida.
>
> la tabla a la que voy a ingresar los datos se llama 'turnos',
> y tiene un solo campo que se llama 'detalle'.

Si el campo 'detalle' es del tipo Fecha/Hora, cambia la lnea


> For Each item As String In [Link]
por sta otra:
For Each item As DataRowView In [Link]
Y siempre que el campo 'Detalle' exista en el origen de datos al que has enlazado
el control ListBox, en lugar de aadir el valor al parmetro de sta manera:
> [Link]("", [Link](item))
hzlo de sta otra manera:
Dim fecha As DateTime = [Link]([Link]("Detalle"))
[Link]("", fecha)
Se comprende que el campo 'Detalle' se podr convertir a un valor de Fecha/Hora,
porque de no ser as, seguramente obtendrs otro tipo de error.
Y la prxima vez, explica bien desde un primer momento todos los detalles
necesarios para que se te pueda ayudar de una manera rpida y satisfactoria. De
acuerdo? ;-)

También podría gustarte