Insertar datos en una tabla con un botón

Discute sobre las herramientas de la base de datos
Responder
beldar
Mensajes: 7
Registrado: Lun Mar 23, 2009 10:46 am

Insertar datos en una tabla con un botón

Mensaje por beldar »

Saludos a toda la comunidad.
Mi duda puede parecer en principio simple, pero después de buscar en internet varios manuales no he encontrado (o no he sido capaz de encontrar) solución a mi problema.
Tengo una base de datos en openoffice BASE y estoy creando un formulario para insertar y consultar datos que se almacenan en varias tablas relacionadas entre si.
Además necesito enlazar a cada registro de cierta tabla documentos que tengo almacenados en el servidor. Por lo tanto he creado una tabla DOCUMENTOS que está enlazada mediante la cable principal a la otra tabla y que almacena, además de la clave del registro de la tabla principal al que apunta, la ruta del archivo enlazado que correspondería al registro de la tabla principal.
Por lo tanto he añadido un botón de selección de archivo y un botón que he llamado AÑADIR. Mi idea es que se pueda seleccionar la ruta del archivo con el botón de selección de archivo y que al pulsar el botón se añada en la tabla DOCUMENTOS un nuevo registro con la clave principal correspondiente y la ruta del archivo que estará guardada (supongo) en el botón de selección de ficheros.
Mi problema es que no tengo experiencia con el diseño de formularios con con la programación en BASIC por lo que no se como ejecutar el INSERT en la tabla con los datos que comentaba al pulsar el botón.
Gracias a todos por la ayuda.
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Insertar datos en una tabla con un botón

Mensaje por Cascabel »

¿La siguiente macro asociada a un botón haría el papel?

Código: Seleccionar todo

Sub Boton(Event As Object)
	Dim Form As Object
	Dim Con As Object
	Dim Stat As Object
	Form=Event.Source.Model.Parent
	Con=Form.ActiveConnection()
	Stat=Con.CreateStatement()
	
	If Form.IsAfterLast Or Form.IsNew Then Exit Sub	'No existe registro
	
	Dim IdReg As Integer
	IdReg=Form.Columns.GetByName("IdReg").Value
	
	Dim Ruta As String
	Ruta=Form.GetByName("FileSelection").Text
	If Len(Ruta)=0 Then Exit Sub	'La condición puede ser más elaborada
	
	Dim SQL As String
	SQL="INSERT INTO ""Documentos""(""IdReg"",""Ruta"") VALUES(" & IdReg & ",'" & Ruta & "')"
	Stat.ExecuteUpdate(SQL)

End Sub
Responder