ayuda para adjuntar un archivo a cada registro de mi db sqli

Dudas sobre el foro o cuestiones generales que no tengan cabida en otro foro.
...weeno..estoy teniendo varios problemas con mi proyecto...mire casi todo el dia el ejemplo d Luma pero no veo como relacionar los registros en la db con los .xlsx...
osea, es asi, yo tengo 3 pages, la 1 es una intro..ta, la page 2 tiene sus input, nombre,apellido,codigo,clase y sector..una listbox llamada lista, la input para buscar, los botones ya estan todos, buscar, guardar, nuevo registro, editar , limpiar y tengo la opcion d poder adjuntar las fotos a cada registro..en la listbox "lista" aparecen mis registros, juan daniel gonzalez sector musica ...abajo d el otro nombre y asi sucesivamente 450 registros, los voy pasando en la lista y voy viendo sus respectivas fotos q adjunte al agregarlos ..todo esto en page 2
..bien hasta ahi todo ok, el tema es q la page2 la duplique a page3,ta, en la page 3 agruegue un boton q dice adjuntar documento..la pregunta es komo hago para q en la listbox d esta page3 ,yo haga doble click en un registro x ejemplo d juan perez y me abra su respectivo documento .xlsx q ya tengo en mi escritorio con el nombre juan perez.xlsx...paso al registro d abajo , juan daniel gonzalez y abro su juan daniel gonzalez.xlsx .
no se si me entienden... en total en mi db tengo 7 columnas, tenia 9 xq kise agregar 2 ultimas q eran nombreoffice TEXT, IMG64.."'')
weno la verdad q un relajo lo q intente hacet hace 2 horas, hoy estuve todo el dia viendo komo hacer, estoy con este proyecto desde el lunes d la semana pasada y estoy trancado en kerer hacer esto y no me dare x vencido aunke me exploten los ojos d tanta pantalla jeje..la verdad..je..espero q alguien me pueda ayudar..
Buenas tardes Sr. Asmeegol89, te podemos ayudar pero por favor escribe mas clara mente no dejes esa amontonason de texto que me da pereza leerlo.

y deja de estar publicando tu duda en cada sección del foro con una vez que la coloques en la sección indicada que es esta es suficiente.
hola que tal, disculpenme por pedir tanta ayuda perdonenme.. mi problema es el siguiente...
tengo una db en la cual ya eh podido adjuntarle a cada registro su respectiva foto...gracias a al video de Douglas Castillo "Crear Formulario de Ingreso con capacidad de almacenar Imagenes y con Funcion de..."

Hasta ahí ok, ahora yo quiero adjuntar un documento tipo word y excel a cada registro de mi db , de la misma manera que le adjunto las fotos o las imagenes.

Todo esto en Page2, la Page1 es solo una Intro al Programa.

Para eso cree un xbuton con el siguiente script:

ImagenVbl = Shell.GetFolder(SHF_MYPICTURES);
FormatosVbl = "Imagenes (*.docx;*.xlsx;*.png;*.gif)|*.docx;*.xlsx;*.png;*.gif|todos los archivos(*.*)|*.*|"

result = Dialog.FileBrowse(true, "Locate File", ImagenVbl, FormatosVbl, "", "data", false, true);

if (result[1] ~= "CANCEL") then
Source = result[1]

local imgName = String.SplitPath(result[1]).Filename..String.SplitPath(result[1]).Extension;
Destino = _SourceFolder.."\\Autoplay\\Docs\\"..imgName;
File.Copy(Source, Destino, true, true, false, true, nil);

error = Application.GetLastError();
if (error ~= 0)then
Dialog.TimedMessage("Error", _tblErrorMessages[error], 2000, MB_ICONSTOP);
else
ListBox.AddItem("Adjuntos", "Autoplay\\Images\\"..imgName);

end
end


luego tengo la listbox llamada "Adjuntos" con el siguiente script en doble click:

selected = ListBox.GetSelected("Adjuntos");
file = ListBox.GetItemData("Adjuntos",selected[1]);
File.Open(file, "", SW_SHOWNORMAL)

También una listbox llamada "Lista", en la cual me salen los 450 registros, donde solo los selecciono o paso y me va pegando los respectivos datos a sus respectivas Input y mostrando sus correspondientes fotos de cada registro..

onPreload:

if bNewRecord then

Input.SetText("Inp_Codigo", "");
Input.SetText("Inp_Nombre", "");
Input.SetText("Inp_Apellido", "");
Input.SetText("Inp_Clase", "");
Input.SetText("Inp_Sector", "");
Input.SetText("Inp_DireFoto", "")

else

tSeleccion_Datos = SQLite.QueryToTable(db, "Select * from Agenda2011 where RecordID="..nRecordID)

nRecordID = tSeleccion_Datos.Data[1]["RecordID"];
sCodigo = tSeleccion_Datos.Data[1]["Codigo"];
sNombre = tSeleccion_Datos.Data[1]["Nombre"];
sApellido = tSeleccion_Datos.Data[1]["Apellido"];
sClase = tSeleccion_Datos.Data[1]["Clase"];
sSector = tSeleccion_Datos.Data[1]["Sector"];
sFoto = tSeleccion_Datos.Data[1]["Foto"]
sAdjuntos = tSeleccion_Datos.Data[1]["Adjuntos"]

Input.SetText("Inp_Codigo", sCodigo);
Input.SetText("Inp_Nombre", sNombre);
Input.SetText("Inp_Apellido", sApellido);
Input.SetText("Inp_Clase", sClase);
Input.SetText("Inp_Sector", sSector);
Input.SetText("Inp_DireFoto", sFoto);
Input.SetText("Inp_Adjuntos", sAdjuntos);
Image.Load("Foto", sFoto)
end


OnShow

bNewRecord = true;
ListBox.DeleteItem("Lista", -1);

tAgenda2011 = SQLite.QueryToTable(db,"Select * FROM Agenda2011");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error", SQLite.GetLastErrorString());
end

if nLastError == SQLite.OK then
for nRow = 1,tAgenda2011.Rows do
nRecordID = tAgenda2011.Data[nRow]["RecordID"];
sCodigo = tAgenda2011.Data[nRow]["Codigo"];
sNombre = tAgenda2011.Data[nRow]["Nombre"];
sApellido = tAgenda2011.Data[nRow]["Apellido"];
sClase = tAgenda2011.Data[nRow]["Clase"];
sSector = tAgenda2011.Data[nRow]["Sector"];
ListBox.AddItem("Lista",nRecordID.. " ".. "Nombre Completo".. ": "..sNombre.." "..sApellido.." ".. "Clase: ".. sClase, nRow);

end
end


Proyecto/Acciones:

sDatabaseFile = _SourceFolder.. "\\Autoplay\\Docs\\Nueva.db";
db = SQLite.Open(sDatabaseFile)
nLastError = Application.GetLastError()
if nLastError ~= SQLite.OK then
Dialog.Message("Error de Apertura de Base de Datos", SQLite.GetLastErrorString());
end
                    
SQLite.Query(db, "CREATE Table Agenda2011(RecordID integer primary key, Codigo NUMERIC, Nombre VARCHAR, Apellido VARCHAR, Clase NUMERIC, Sector VARCHAR, Foto TEXT, Adjuntos TEXT)");
bNewRecord = true;                       


y en el boton de guardar:

sCodigo = Input.GetText("Inp_Codigo");
sNombre = Input.GetText("Inp_Nombre");
sApellido = Input.GetText("Inp_Apellido");
sClase = Input.GetText("Inp_Clase");
sSector = Input.GetText("Inp_Sector");
sFoto = Input.GetText("Inp_DireFoto");
sAdjuntos = Input.GetText("Inp_Adjuntos");
if bNewRecord then

SQLite.Query(db, "insert into Agenda2011 values(NULL, '"..sCodigo.."', '"..sNombre.."', '"..sApellido.."', '"..sClase.."', '"..sSector.."', '"..sFoto.."', '"..sAdjuntos.."')"); 
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error:"..nLastError, SQLite.GetLastErrorString());
end

else

SQLite.Query(db, "insert or replace into Agenda2011 values('" .. nRecordID .. "', '"..sCodigo.."', '"..sNombre.."', '"..sApellido.."', '"..sClase.."', '"..sSector.."', '"..sFoto.."', '"..sAdjuntos.."')");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error:"..nLastError, SQLite.GetLastErrorString());
end
end
Input.SetEnabled("Inp_Codigo", false)
Input.SetEnabled("Inp_Apellido", false)
Input.SetEnabled("Inp_Nombre", false)
Input.SetEnabled("Inp_Clase", false)
Input.SetEnabled("Inp_Sector", false)
Page.Jump("Page2")

En fin, no puedo cargar un documento a cada registro de mi db como hice con las fotos..La idea es adjuntar el documento de cada registro y abrirlo en la listbox "Adjuntos", haciendole doble click cuando vea su registro.

Ya eh mirado casi 100 veces el ejemplo de Luma de su apz "OfficePack", y no me coinciden los datos cuando doy al boton guardar, me sale el error que no reconose '"..crypT64.."' y tampoco '"..img64.."'

Desde ya muchas gracias y espero ansiosamente su respuestas y una ayuda a este problema. Sin esta opcion que quiero agregarle al programa, creo que no tendria sentido seguirlo.
Muy bien hoy si ya se que es lo qye quieres, mañana te creo un ejemplo de como realizar eso que quieres lo tienes facil solo es de adaptar la opcion que tienes para las imagenes a el formato que ocupaz en su defecto archivos *.xlsx.

Una cosa mas cuando co lo ques scrip por favor usa la etiqueta LUA para que este ordenado tu post ejemplo:

 --tu script colocalo aqui 

Quita los * para que se vea correctamente.
[*lua] --tu script colocalo aqui [*/lua]
...muchas gracias Agotaras123!!! muy bien entonces mañana esperare tu ejemplo asi podre terminar este proyecto!!! De verdad gracias, es bueno poder hablar con personas que tambien les guste programacion!! Yo recien acababa de bajarme la APK de este foro y fue la que me aviso de esta respuesta! Estoy muy agradecido! Saludos y hasta mañana!!
bueno lo prometido es deuda aquí te dejo el ejemplo de como mostrar y guardar archivos con base de datos y poder acceder a ellos posterior mente.

algunas capturas de pantalla de como quedo:

Imagen
Imagen

enlace de descarga del apz:

HIDE: ON
Hidebb Message Hidden Description

HIDE: ON
Hidebb Message Hidden Description


Espero este ejemplo te sea de ayuda y logres comprender mejor como va este ejemplo, recuerda que dentro de la base de datos no se guardan los archivos si no que se guardan las rutas donde están guardados los archivos de esta manera no se carga la base de datos de una manera necesaria.

si tu intensión es usar tu sistema en red ya te tocara modificar algunos parámetros para que desde cualquier maquina se pueda acceder a la ruta donde están alojados los archivos pero en fin esa es otra historia.
...??? Hola buenos dias y gracias por la ayuda de verdad pero es que cuando entro a dropbox me dice que la carpeta apz sistemas no existe...
aqui te dejo un vinculo a mi carpeta programas
https://www.dropbox.com/sh/53jqlu719q0g ... ObdOa?dl=0
ya esta actualizado el enlace de descarga.
....ehh...tampoko a funcionado....no lo puedes subir a mega o adjuntarlo a mi vinculo de dropbox?
...y a AMSFILES no puedes subirla?...
...Ahi en mediafire pude bajarlo ya...bueno Agotaras te doy muchas gracias por la ayuda que me brindas, es muy bueno que alguien me sepa brindar ayuda para ams, bueno voy a revisar el ejemplo y ver como relaciono los script... cuando termine te lo comparto asi lo podes ver completo, esta muy buena la idea...cualquier cosa creo que te volvere a preguntar en el foro que esta muy bueno.. estamos a las ordenes en lo que te pueda ayudar Agotaras123!!! Nos estamos comunicando! Muchas gracias de verdad!!
...Hola buenos dias Agotaras123 , al final pude concluir el proyecto gracias a tu ayuda con el ejemplo de como adjuntar archivos a la base de datos sqlite...

en breve me pongo en contacto para poder subirles el proyecto y compartirlo contigo y con el foro...la verdad muchas gracias!!!
hola a todos los miembros de ams specialist! esta semana eh avanzado mucho con mi proyecto, en base a el y a la ayuda q me proporciono Agotaras123, mi imaginacion en mi proyecto se va a otros niveles y por eso en breve quiero compartirlo con ustedes! muchas gracias! estuve sin internet por 10 dias lo cual no pude compartir con ustedes, muy buena la app de ams specialist y muchas recomendaciones a familiares y amigos hacerca de este foro para que cada dia cresca mucho mas!..
Gracias asmeegol89 por recomendar el foro y contribuir para que sigamos creciendo.

Un saludo.
hla a todos!! hoy culmine el proyecto pero luego d construirlo para q sea un exe, ehh encontrado un problema grande para mi, creo...

agotaras123 me paso con mucha ayuda de el ,la apz archivos adjuntos..donde cuando cargo los archivos docx, xlsx y ppt , al abrirlos luego y modificarlos ,los guardo y hasta ahi todo bien..
El problema esta que cuando cierro el programa y lo vuelvo a abrir la db con sus respectivos archivos adjuntos, me encuentro que las modificaciones que hice de esos adjuntos al abrirlos , siguen igual a como las cargue y hasta lo que es peor, me abre los adjuntos en blanco!
Ahora estoy viendo la posibilidad de cambiar el xbutton añadir, para q no me guarde los adjuntos en local/temp/autoplay/doc
ya hace un mes y medio que estoy con este proyecto y no puedo creer que tenga este error... :(
asmeegol89 escribió:hla a todos!! hoy culmine el proyecto pero luego d construirlo para q sea un exe, ehh encontrado un problema grande para mi, creo...

agotaras123 me paso con mucha ayuda de el ,la apz archivos adjuntos..donde cuando cargo los archivos docx, xlsx y ppt , al abrirlos luego y modificarlos ,los guardo y hasta ahi todo bien..
El problema esta que cuando cierro el programa y lo vuelvo a abrir la db con sus respectivos archivos adjuntos, me encuentro que las modificaciones que hice de esos adjuntos al abrirlos , siguen igual a como las cargue y hasta lo que es peor, me abre los adjuntos en blanco!
Ahora estoy viendo la posibilidad de cambiar el xbutton añadir, para q no me guarde los adjuntos en local/temp/autoplay/doc
ya hace un mes y medio que estoy con este proyecto y no puedo creer que tenga este error... :(

:) :) :) eso es comprensible lo haces en un exe tu proyecto por lo tanto se extrae en la carpeta de temporales no se no te ha dado por no dejarlo en exe y guardarlo Hard Drive Folder de esa manera te ahorraras tanta perdida de tiempo, los proyectos que desarrolles que trabajen con bases de datos locales y archivos nunca deben de ser ejecutados desde un exe autoextraible porque nunca mantendrán la información guardada cuando lo abras nuevamente.
...agotaras123...por favor perdoname pero es mucho pedirte un ejemplo de como hago eso? me confundo con folder.create en el xbutton de añadir, o sea, es aqui donde cambio el script para que deje de ser temporal?
perdon agotaras.. creo que ya me di cuenta lo que me explicaste hoy.. yo a la apz la construia como ejecutable/exe..
luego te digo como me fue asi como me dijiste.. disculpame por no entenderte, es que de tantos script y demas funciones que eh aplicado a mi proyecto, creo que se me colgo la neurona en lo mas simple..darte tambien las gracias de verdad porque gracias a ti y a todos los del foro yo eh aprendido mucho. :)