Visual Basic - Eliminar valores tabla access

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Torsius

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:

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]

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

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:
 NombreFichero
o TB_Trabajadores:
 Id
 Nombre
 Tel
 Tel2
 DNI
 Mail
 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]

• 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:

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, …

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

¿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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de andres guerrero
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Eliminar valores tabla access

Publicado por andres guerrero (1798 intervenciones) el 04/11/2014 19:37:21
Hola te cuento que yo tengo algo parecido ... pero no era un sistema en el cual las personas accedian si no un exe... que se levantaba mediante task schedule... y enviaba todos los dias unos archivos dependiendo de empresa.... si quieres el codigo sin ningun problema te lo paso ... pero es BV 6.0 ... se conecta con putty a un SFTP y para terminar lo que hace es enviar un correo con tu sesion de outlook ... me avisas si te funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Torsius

Eliminar valores tabla access

Publicado por Torsius (2 intervenciones) el 05/11/2014 18:55:21
Buenas Andres,

Pues la verdad si que me interesa, ya que segun lo que me comentas es parecido a lo que necesito. Si más no, seguro que aprenderé algun recurso nuevo con el que poder avanzar o integrar como alternativa.

De todos modos, me gustaría no dejar el tema por cerrado, ya que también me interesa intentar terminar/desencallar el tema que os planteo.

¿Por qué a alguien más se le ocurre como puedo mejorar, cambiar, modificar el proyector para alcanzar mi objetivo? Quizá cambiando el tipo de conexión a la BBDD, o mediante un <no se qué>...

Gracias,
Andres, ya me dirás si necesitas algun tipo de información más o algún otro dato.

Por el momento, seguiré investigando, a ver que encuentro por la red.
Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Guerrero
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Eliminar valores tabla access

Publicado por Andres Guerrero (1798 intervenciones) el 05/11/2014 20:13:11
Dame tu correo .... para enviartelo. pero recuerda es VB 6.0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar