
Eliminar valores tabla access
Publicado por Torsius (2 intervenciones) el 03/11/2014 19:08:57
Buenas tardes,
En esto de la programación soy todo un principiante, un novato. Aun así, mi interés en aprender y en ampliar mi conocimiento en este campo, no entiende de horas, ni días de dedicación, es más, disfruto de lo lindo.
Les voy a exponer mi problema, pero antes tengo que decir, que he buscado, leído y rebuscado por toda la red soluciones para mi problema.
Así pues:
Mi propósito es la creación de una aplicación que envíe por correo de forma automática unos determinados archivos a distintos destinatarios.
La estructura con la que parto es:
- Una base de datos (contactos.mdb), con las siguientes tablas:
- Un proyecto (visual studio 2013 – visual basic), con los siguientes formularios:
Ahora bien, que es lo que tengo:
- Base de datos: [OK]
o TB_Empresa: (tabla aun no relacionada en el proyecto)
- Proyecto:
o Start.vb: Formulario padre con menú para las distintas acciones.
o Contactos.vb: Formulario con los campos de TB_Trabajadores conectados mediante [ContactosDataSet], [TB_TrabajadoresBindingSource], [TB_TrabajadoresTableAdapter], [Tb_TrabajadoresBindingNavidator]. //Aquí ya me empiezo a perder, pero he conseguido lo que quería, así que de momento lo doy por bueno.
o SenderNom.vb Formulario con:
Hasta aquí, creo haber hecho una buena descripción de mi punto de partida. Pero los problemas me vienen ahora.
Problemas:
1) SenderNom.vb - Cuando intento borrar toda la tabla TB_Ficheros me da error.
¿Saben a qué se debe que no pueda limpiar la tabla?
También he probado de borrar cada registro uno por uno, mediante un FOR…NEXT, pero soy incapaz de encontrar la función de me devuelva el índice o el parámetro para pasarle al .DELETE().
Agradezco su tiempo. Cualquier aportación será buena y provechosa.
En caso de tener alguna fuente o alguna referencia como puede ser un libro, manual, etc., que pueda a ayudarme a enderezar este proyecto y futuros, estoy totalmente abierto a enriquecerme sobre este mundo de la programación.
Si necesitan que amplíe más información, no duden en comentármelo.
Gracias.
En esto de la programación soy todo un principiante, un novato. Aun así, mi interés en aprender y en ampliar mi conocimiento en este campo, no entiende de horas, ni días de dedicación, es más, disfruto de lo lindo.

Les voy a exponer mi problema, pero antes tengo que decir, que he buscado, leído y rebuscado por toda la red soluciones para mi problema.
Así pues:
Mi propósito es la creación de una aplicación que envíe por correo de forma automática unos determinados archivos a distintos destinatarios.
La estructura con la que parto es:
- Una base de datos (contactos.mdb), con las siguientes tablas:
o TB_Empresa [Información sobre la empresa]
o TB_Ficheros [Relación de los ficheros a enviar]
o TB_Trabajadores [Información sobre los trabajadores]
o TB_Ficheros [Relación de los ficheros a enviar]
o TB_Trabajadores [Información sobre los trabajadores]
- Un proyecto (visual studio 2013 – visual basic), con los siguientes formularios:
o Start [Formulario padre]
o Contactos [Formulario con los campos de TB_Trabajadores, para la gestión de éstos]
o SenderNom [Formulario encargado de enviar a cada uno de los contactos el archivo pertinente]
o Contactos [Formulario con los campos de TB_Trabajadores, para la gestión de éstos]
o SenderNom [Formulario encargado de enviar a cada uno de los contactos el archivo pertinente]
Ahora bien, que es lo que tengo:
- Base de datos: [OK]
o TB_Empresa: (tabla aun no relacionada en el proyecto)
Id
Empresa
CIF
o TB_Ficheros: Empresa
CIF
NombreFichero
o TB_Trabajadores: Id
Nombre
Tel
Tel2
DNI
Mail
Domicilio
Población
CP
Empresa (pendiente de introducir y relacionar con tabla TB_Empresa)
Nombre
Tel
Tel2
DNI
Domicilio
Población
CP
Empresa (pendiente de introducir y relacionar con tabla TB_Empresa)
- Proyecto:
o Start.vb: Formulario padre con menú para las distintas acciones.
o Contactos.vb: Formulario con los campos de TB_Trabajadores conectados mediante [ContactosDataSet], [TB_TrabajadoresBindingSource], [TB_TrabajadoresTableAdapter], [Tb_TrabajadoresBindingNavidator]. //Aquí ya me empiezo a perder, pero he conseguido lo que quería, así que de momento lo doy por bueno.

o SenderNom.vb Formulario con:
[ListBox1 – carga los registros de TB_Trabajadores] [+- OK]
[ListBox2 – carga los ficheros con extensión .pdf de una ruta especifica] [OK]
[Button1 – ejecuta la acción de enviar mail] [OK]
• Mediante un FOR…NEXT cargo todos los registros de la tabla en un textbox y luego los añado en el List. (¿por qué así? No tuve manera de hacerlo de otro modo que pasar el registro en el textbox y luego traspasarlo al Listbox.)
[ListBox2 – carga los ficheros con extensión .pdf de una ruta especifica] [OK]
[Button1 – ejecuta la acción de enviar mail] [OK]
• De momento todas la variables son fijas, no están enlazadas des de la BBDD. Pero se ejecuta correctamente. Más adelante me podré en ello, que seguro que alguna de las dudas que tengo ahora servirán para este punto.
Hasta aquí, creo haber hecho una buena descripción de mi punto de partida. Pero los problemas me vienen ahora.
Problemas:
1) SenderNom.vb - Cuando intento borrar toda la tabla TB_Ficheros me da error.
a. Que tengo:
b. Que quiero:
i. En el formulario tengo enlazada la tabla TB_Trabajadores y TB_Ficheros mediante [ContactosDataSet], [TB_TrabajadoresBindingSource], [TB_TrabajadoresTableAdapter], [TableAdapterManager], [TB_TrabajadoresBindingNavigator], Tb_FicherosBindingSource] y [TB_FicherosTableAdapter].
ii. Al cargar el formulario me lista en [ListBox1]-los registros de TB_Trabajadores, [ListBox2]-archivos .pdf de la ruta específica, que a su vez guarda en la tabla TB_Ficheros.
iii. A parte, tengo algunas progresbar y otros elementos que he ido creando para satisfacer mi sentimiento de progreso, ya que durante horas he estado encallado en un sinfín de errores, bucles, …
ii. Al cargar el formulario me lista en [ListBox1]-los registros de TB_Trabajadores, [ListBox2]-archivos .pdf de la ruta específica, que a su vez guarda en la tabla TB_Ficheros.
iii. A parte, tengo algunas progresbar y otros elementos que he ido creando para satisfacer mi sentimiento de progreso, ya que durante horas he estado encallado en un sinfín de errores, bucles, …

b. Que quiero:
i. Quiero que al cargar SenderNom, me elimine todos los registros de TB_Ficheros.
ii. Lo que he probado en un formulario aparte es:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'ContactosDataSet.TB_Fitxers' Puede moverla o quitarla según sea necesario.
Me.TB_FicherosTableAdapter.Fill(Me.ContactosDataSet.TB_Ficheros)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.TB_FicherosBindingSource.Clear()
End Sub
Pero me devuelve el siguiente error:
No se controló System.ArgumentException
HResult=-2147024809
Message=No se puede borrar esta lista.
Source=System.Data
ii. Lo que he probado en un formulario aparte es:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'ContactosDataSet.TB_Fitxers' Puede moverla o quitarla según sea necesario.
Me.TB_FicherosTableAdapter.Fill(Me.ContactosDataSet.TB_Ficheros)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.TB_FicherosBindingSource.Clear()
End Sub
Pero me devuelve el siguiente error:
No se controló System.ArgumentException
HResult=-2147024809
Message=No se puede borrar esta lista.
Source=System.Data
¿Saben a qué se debe que no pueda limpiar la tabla?
También he probado de borrar cada registro uno por uno, mediante un FOR…NEXT, pero soy incapaz de encontrar la función de me devuelva el índice o el parámetro para pasarle al .DELETE().
Agradezco su tiempo. Cualquier aportación será buena y provechosa.
En caso de tener alguna fuente o alguna referencia como puede ser un libro, manual, etc., que pueda a ayudarme a enderezar este proyecto y futuros, estoy totalmente abierto a enriquecerme sobre este mundo de la programación.
Si necesitan que amplíe más información, no duden en comentármelo.
Gracias.
Valora esta pregunta


0